> For the complete documentation index, see [llms.txt](https://help.intangible.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.intangible.ai/visualize/generate-video.md).

# Generate video

Generate an AI video from your composed shot. Pick a mode, pick a model, set duration, optionally enable audio, render. Plus how to choose between the Veo, Kling, Luma, Runway, and ByteDance options.

Generating a video follows one core flow. Pick a video mode from the visualizer's mode dropdown, pick a model, write or adjust the prompt, and click **Generate**. The result lands in the gallery and plays back inside the visualizer with full transport controls: play, pause and a scrubber. Scrub to check a specific beat (how a cut lands, whether the model held your camera move at the midpoint) without exporting the clip or watching it all the way through.

![A generated video paused in the visualizer: the scrubber with trim handles, the play, volume and loop controls, Capture this frame, and the elapsed / total time readout](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-b4bc3f8cc5e9c4ff0e1384a12d451db57da9039c%2Fvideo-playback-controls-01.png?alt=media)

## Watch

{% embed url="<https://www.youtube.com/watch?v=gC8yn3Zyedo>" %}

![Visualize in video mode: Video (from keyframes) with Kling 2.6 Pro selected, a start frame, an empty end frame and the prompt in the right panel, Generate at the bottom, and a city-street shot of a yellow Lamborghini in the viewer](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-e37b9d261c09e39ccf1eb46ae525360a1491187e%2Fvisualizer-bundle-01.png?alt=media)

## What it does

Video generation reads the 3D scene plus the active shot's camera, assembles the prompt, and generates a clip with the video model you chose. The Duration option sets the clip length. The chosen model caps it: some models support up to the shot's full length, and others cap below it. Which mode you pick decides whether the clip follows your scene: **From scene animation** follows the camera move and animated subjects you authored, and **From Keyframes** starts from your frames and lets the model invent the motion.

The model dropdown lists the current working set of video models from multiple providers. See [Models](/visualize/ai-models.md) for the full list and guidance on when to reach for each.

## The four visualizer modes

The **Generate** menu at the top of the visualizer panel picks what the panel produces. The menu offers one still mode and three video modes, and the real choice between them is *what drives the motion*.

![The Generate menu with Video expanded, showing From Keyframes, From scene animation and Modify or edit video alongside the still Image mode](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-b027b73ce1b0131eb325cb19a6e9e028eb8e1a7b%2Fvisualizer-modes-01.png?alt=media)

* **Image.** Still image generation from the scene plus prompt. Covered in [Generate image](/visualize/generate-image.md).
* **Video (from keyframes).** You supply the anchor frames and the description; the model invents the motion between them. Listed in the Generate menu as **From Keyframes**, "using description and references". Set a **Start frame** alone to let the prompt drive the motion, or a Start and an **End frame** to pin both ends and have the model interpolate. Covered in [First and last frame](/visualize/first-and-last-frame.md).
* **Video (from scene).** Your authored animation drives the motion, and the model renders against it rather than inventing its own. Listed as **From scene animation**. Direct Render is the no-AI option here, capturing the viewport exactly. Covered in [Video (from scene)](/visualize/video-from-animation.md).
* **Video (modify).** Starts from an existing clip rather than the scene: select a source video, or upload one, and restyle or extend it. Listed as **Modify or edit video**, "edit existing or upload video". This is the video-to-video path. An upload opens **Trim Video Clip** first: drag the two handles to pick the stretch you want, up to 30 seconds, then click **Add**. The selection starts on the first 30 seconds, and the readout shows "(max 30s)" when the clip runs longer. MP4, MOV and WebM files up to 1 GB are accepted. Seedance 2.5 accepts a 30-second source. The other video-to-video models cap it lower, between 10 and 18 seconds. Each model also has a shortest source it takes, from 1 second on Omni Flash and Ray 3.14 to 5 on Ray 3.2. On the Seedance models a source must run at least 4 seconds here, because they never make a shorter clip. See [Models](/visualize/ai-models.md).

On a model that takes reference images, two tabs split the inputs (models without references show the frame slots alone):

* **Keyframes** holds the Start frame and End frame slots, and the source video on **Video (modify)**.
* **Elements** holds the reference images you name in the prompt. See [Naming reference images in the prompt](#naming-reference-images-in-the-prompt).

The model picker is scoped to the active mode and grouped by provider. Pick the mode that matches the job first, and the dropdown narrows to the models that support it.

{% hint style="info" %}
If a shot has no animation on it, **Video (from scene)** tells you before you spend anything: *"No shot animation detected. This shot doesn't appear to animate, so the output will likely be the same image for 2 seconds."* When you see it, go back to Compose and key something, or switch to **Video (from keyframes)** and let the prompt carry the motion instead.
{% endhint %}

## How to use it

1. **Set the mode.** Open the **Generate** menu, hover **Video**, and pick **From Keyframes** for the default flow, **From scene animation** to let your authored animation drive it, or **Modify or edit video** to work from an existing clip.
2. **Pick a video model.** Each model has different strengths, and the table below gives a starting heuristic.
3. **Populate the inputs the mode requires.** On the Keyframes tab: a Start frame for Video (from keyframes), optionally an End frame too, or a source video for Video (modify). Video (from scene) needs nothing extra, because the scene's own animation is the input.
4. **Set the video options** in the row beside **Generate**: Duration (e.g. 4, 6 or 8 seconds), Aspect ratio (Landscape or Portrait), Resolution (e.g. 720p or 1080p) and Audio (Generate audio or No audio). Which options appear, and their values, depend on the chosen model.
5. **Read the auto-prompt.** The prompt uses the same Scene / Style / Lighting tabs as image generation. Confirm it reads right before you commit. For audio-capable models, include the sounds and dialog you want in the prompt (see below).
6. **Click Generate.** Video takes longer than an image, often several minutes for a complex shot. The job runs in the background, so you can keep working in other parts of the project. A toast tells you when the result lands.

![The Visualize panel in Video (from keyframes) with Veo 3.1: Start frame and End frame slots at the top, and the option row beside Generate – 4s (Duration), the aspect-ratio icon, 720p (Resolution) and Off (Audio)](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-e26fbb2da3ba29a288ce3e2840ff10931462fea2%2Fvideo-options-01.png?alt=media)

## Choosing a video model

Use these quick heuristics to pick a starting model. See [Models](/visualize/ai-models.md) for the full table.

| If the shot is...                                     | Try                                                                    |
| ----------------------------------------------------- | ---------------------------------------------------------------------- |
| Action-heavy with fast camera moves                   | Kling 2.6 Pro or Kling 3 Pro                                           |
| A long, slow, atmospheric move                        | Veo 3.1                                                                |
| Faster generation at lower fidelity                   | Veo 3.1 Fast or Kling 2.5 Turbo                                        |
| Honoring detailed 3D structure (like animated meshes) | Luma Ray 3.14                                                          |
| First-and-last frame interpolation                    | Veo 3.1, Kling 2.6 Pro or later, Seedance 2.0, or Omni Flash           |
| A shot that has to follow specific reference imagery  | Omni Flash, Kling o3 Pro, or Seedance 2.0                              |
| 4K output                                             | Kling 3 (4K), Seedance 2.0 (US or SG) or Omni Flash                    |
| Quick experimentation across many variants            | Kling 2.5 Turbo                                                        |
| Brand or product hero with strict consistency         | Match the image model that worked, then pick its closest video sibling |

## Authoring audio with the prompt

Some of the video models generate audio along with the video. Veo 3.1 supports audio natively, and Kling 2.6 Pro and later expose an optional audio track. Other models are video-only. The Audio toggle on the panel is disabled when you select an audio-incapable model.

**H3 Max is the exception in the other direction.** It always returns a generated audio track, and there is no toggle for it. If you want the clip silent, mute or strip the track after export, because the panel cannot turn it off.

When you enable audio on a supporting model, the prompt drives both the video and the audio. Describe the sounds you want in the same prompt:

* **Dialog.** Write the lines a character speaks. Models that generate dialog will lip-sync to it within their tolerance.
* **Sound effects.** Name the SFX you want and where they happen in the scene, prose-style: "the squeak of shopping carts, low conversation, a distant intercom announcement."
* **Music or ambience.** Describe the mood or genre: "low cinematic strings under the dialog", "wind moving through dry grass."

There's no separate audio prompt field, so the model uses whatever you write in the main prompt for both.

## Naming reference images in the prompt

A video prompt can carry reference images from your media library and address them by name. Attach the images, then write them into the prompt as `@image1`, `@image2`, and so on, so the model knows which reference is which rather than blending them all into one impression.

![The Add reference image picker opened from the Elements tab on Kling o3 Pro: the header names the slot it fills (@image1), with My Media, Team Media and an upload button](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-ba1cc828cf1a49f50ef866e00168b5ba22ad79bf%2Fvideo-reference-picker-01.png?alt=media)

1. **Open the reference-image picker** from the **Elements** tab. The dialog names the slot it is filling, so the header reads *Select or upload one image for `@image1`*, and it offers your own **My Media** alongside **Team Media**.
2. **Toggle the images you want.** The selection is staged: toggling only edits a local draft, and nothing joins the generation until you press **Confirm**. Cancelling or closing the modal discards the draft.
3. **Read the strip.** The attached references appear as a horizontal strip on the Elements tab, each tile labelled with its token.
4. **Write the tokens into the prompt.** "The livery on `@image1` applied to the aircraft, lit like `@image2`."

The number of reference images a video model accepts depends on the model:

| Model                   | Reference images |
| ----------------------- | ---------------- |
| Omni Flash              | Up to 8          |
| Kling o3 Pro            | Up to 8          |
| Seedance 2.0 (US or SG) | Up to 7          |

If an image is deleted from the media library after you attached it, its slot stays in the strip as an empty placeholder so the remaining labels keep their numbers. If the labels renumbered, your prompt would silently point at the wrong reference.

{% hint style="info" %}
Video models honor references less tightly than image models do. In video, a reference steers the shot. It doesn't lock it the way [image reference](/learn-more/concepts/image-reference.md) locks an object in Build. For strict brand or character fidelity, establish the look in a still first, then use that still as the start frame.
{% endhint %}

![The video model dropdown grouped by provider: Google's Veo 3.1 (high-quality video with audio support), Veo 3.1 Fast and Omni Flash, then Kling 2.5 Turbo, Kling 2.6 Pro (ticked, optional generated audio), Kling 3 Standard, Kling 3 Pro, Kling 3 (4K) and Kling o3 Pro (image-to-video with reference images)](https://1179478100-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSWrjIqlgVAblx6vHGJiM%2Fuploads%2Fgit-blob-4d072b49c5d0e9e013c969b54150d630303cbbf5%2Fvideo-models-list-01.png?alt=media)

Cost note: audio adds materially to the per-clip cost on the models that support it. Run audio-off iterations until the visual is locked, then add audio on the final pass.

## When animation feeds the model

```mermaid
flowchart LR
    A[Compose-mode shot animation] --> B[Camera moves over time]
    A --> C[Object animates over time]
    B --> D[Visualizer]
    C --> D
    D --> E[Video model]
    E --> F[Rendered video that honors the motion]
```

In **From scene animation**, the visualizer feeds your shot's authored camera animation and animated subjects to the video model, and the result tracks the motion you authored. If you want specific camera action, author it in Compose mode first, then pick this mode. See [Video (from scene)](/visualize/video-from-animation.md).

**From Keyframes** does not read that animation. It means start and end frames, not the keyframes you set in Compose: the model starts from your Start frame and invents the motion from the prompt, even when the shot is animated.

Use [Direct Render](/visualize/direct-render.md) when you want a wireframe preview of the scene with no AI involved.

{% hint style="info" %}
Video at 2K with audio is the most expensive single action in the product. Run 1K previews first to confirm composition; commit to 2K only when the shot is locked.
{% endhint %}

## When the video is wrong

* **The motion isn't what you authored.** Check the mode first: only **From scene animation** follows your animation, and **From Keyframes** invents its own. If the mode is right, the video model is reinterpreting your animation. Try a different model: Luma Ray 3.14 honors authored 3D motion most strictly; some Kling variants take more liberties.
* **The subject drifts across frames.** Image reference on the hero object helps, but video models honor references less tightly than image models. Multi-view references and consistent object names help most.
* **The render is too long or too short.** Drag the shot's right edge in the [Scene Timeline](/compose/timeline.md) to change its duration. The video duration matches the shot.
* **People come back frozen.** Characters you don't describe as moving stay frozen in place. Prompt the motion explicitly – "people walking through the lobby", not just "people in the lobby".

## Limits and known issues

* **Scrubbing is for review.** If you pause mid-clip and hit Generate, the new clip does not start from that frame. The scrubber position has no effect on what gets generated next.
* **Audio doesn't sync to specific moments.** The audio track is generated holistically, so you can't specify "audio cue at frame 30". For precise sync, generate without audio and add the audio in your editing tool.
* **Orientation options depend on the model.** Most video models default to landscape, and Veo exposes landscape and portrait. Other models may offer only one. The Orientation dropdown reflects what the active model supports.

## Related

* [Generate image](/visualize/generate-image.md)
* [First and last frame](/visualize/first-and-last-frame.md) – the Video (from keyframes) mode in detail.
* [Video (from scene)](/visualize/video-from-animation.md) – use your authored keyframes to drive the motion.
* [Direct Render](/visualize/direct-render.md) – render the scene as wireframe video with no AI.
* [Models](/visualize/ai-models.md)
* [Animation](/compose/animation.md)
* [Resolution and cost](/visualize/resolution-and-cost.md)
* [Managing outputs](/visualize/managing-outputs.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.intangible.ai/visualize/generate-video.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
