> ## Documentation Index
> Fetch the complete documentation index at: https://hyperframes-codex-docs-human-first-refactor.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a custom video

> Combine sources, change existing footage, or co-direct a video when no focused workflow fits.

export const CollaborationModeChooser = () => {
  const modes = [{
    id: "automatic",
    label: "Build it for me",
    prompt: `/hyperframes Create a 75-second brand film from the attached brief, photography, and interview selects.

Mix live footage with typography. Keep the interview audio, but restructure the visual sequence when it improves the story. Make the creative decisions and show me the finished preview.`
  }, {
    id: "storyboard",
    label: "Let me review the story",
    prompt: `/hyperframes Create a 75-second brand film from the attached brief, photography, and interview selects.

Mix live footage with typography. Keep the interview audio. Show me the storyboard and rough layouts before building the complete video.`
  }, {
    id: "companion",
    label: "Co-direct it with me",
    prompt: `/hyperframes Create a 75-second brand film from the attached brief, photography, and interview selects.

Work with me in companion mode. Propose the strongest complete treatment first: story, visual system, scene motion, transitions, audio identity, opening, and ending.`
  }];
  const [selectedId, setSelectedId] = useState("automatic");
  const selected = modes.find(mode => mode.id === selectedId) || modes[0];
  return <div style={{
    margin: "1rem 0 1.5rem"
  }}>
      <div role="group" aria-label="Choose how to work with the agent" style={{
    display: "flex",
    flexWrap: "wrap",
    gap: "0.5rem",
    marginBottom: "0.75rem"
  }}>
        {modes.map(mode => {
    const active = mode.id === selected.id;
    return <button key={mode.id} type="button" aria-pressed={active} onClick={() => setSelectedId(mode.id)} style={{
      border: "1px solid currentColor",
      borderRadius: "999px",
      padding: "0.4rem 0.75rem",
      background: active ? "#d8ff5f" : "transparent",
      color: "inherit",
      cursor: "pointer",
      opacity: active ? 1 : 0.7
    }}>
              <span style={{
      color: active ? "#111111" : "inherit",
      fontSize: "0.8125rem",
      fontWeight: 600
    }}>
                {mode.label}
              </span>
            </button>;
  })}
      </div>

      <pre aria-live="polite" style={{
    margin: 0,
    whiteSpace: "pre-wrap",
    overflowWrap: "anywhere"
  }}>
        <code style={{
    display: "block",
    maxWidth: "100%",
    whiteSpace: "inherit",
    overflowWrap: "anywhere",
    wordBreak: "break-word"
  }}>
          {selected.prompt}
        </code>
      </pre>
    </div>;
};

Use General Video when the work is genuinely custom: several source types, editable footage, a longer multi-scene story, an unusual format, or close creative collaboration.

<Frame caption="A complete launch film about timeline editing. The custom route combines the story, product evidence, motion, voice, music, and sound.">
  <video className="aspect-video w-full object-cover bg-zinc-100 dark:bg-zinc-900" src="https://static.heygen.ai/hyperframes-oss/docs/images/showcase/full-timeline.mp4" poster="https://static.heygen.ai/hyperframes-oss/docs/images/showcase/wfv2-general.jpg" controls playsInline preload="metadata" />
</Frame>

## How should the agent work with you?

<CollaborationModeChooser />

In companion mode, the agent proposes a complete creative treatment first. You redirect or remove what does not serve the idea; you do not have to request quality layer by layer.

## Use the custom route when

* several kinds of source material must become one video;
* the underlying footage may be trimmed, reordered, or changed;
* the piece needs a longer or unusual multi-scene structure;
* the same idea needs deliberately redesigned versions for different formats;
* you want to shape the creative treatment with the agent.

If one source already determines the job—a product URL, article, pull request, track, talking-head clip, or short motion graphic—start with its [focused workflow](/workflows).

## Keep feedback useful

Review the story before polishing motion. In Studio, make direct changes you can point to. Ask the agent when feedback affects several scenes, source files, media, or the overall narrative.

Before export, confirm:

* only source material that serves the story remains;
* narration, music, sound, and silence have a deliberate role;
* each requested format has been composed, not merely cropped;
* the opening and ending feel designed;
* the complete project passes its checks.

<Card title="Review in Studio" icon="palette" href="/studio">
  Watch the complete result, make direct edits, and export versions.
</Card>
