# Seedance 2.5 prompt guide: structure, camera, timing, audio and references

By SeedRouter · Published 2026-09-29 · Updated 2026-09-29

A good Seedance 2.5 prompt says who does what, where, how the camera films it, and what we hear, in that order: subject and action first, then scene, visual style, camera, and audio. Break longer clips into time ranges such as "0-3s" or into numbered shots, name every reference file by its number ("Image 1", "Video 1"), and set length, ratio and resolution as request parameters, not in the text. The rules below come from ByteDance's official prompt guides for Seedance 2.5 and 2.0, checked on September 29, 2026. Every example prompt was written for this post.

## How do you write a Seedance 2.5 prompt?

Start from ByteDance's core formula: "Subject + Action or Event + Scene and Environment (Optional) + Visual Style (Optional) + Camera Movement/Cut (Optional) + Audio (Optional)". Only the first part is required. The guide calls subject and action "the foundation of the video" and lets you drop the parts you do not need.

In practice, that becomes four short sentences:

```text
<Subject> performs <main action or event> in <scene and environment>.
The visuals feature <visual style>.
Use <shot size, camera angle, camera movement, or cuts>.
Audio includes <dialogue, ambience, sound effects, or music>.
```

A filled-in version:

```text
A street baker pulls a tray of round loaves from a brick oven at night and sets it on a flour-dusted counter.
Warm orange light from the oven, visible steam, shallow depth of field, realistic film look.
Start with a close-up of the oven door opening, then pull back slowly to a medium shot of the counter.
Audio: crackling wood, the scrape of the metal tray, quiet street noise outside.
```

Three habits make a difference:

* **Describe what you want, not what you do not want.** The official guide asks for "positive descriptions whenever possible" and names subtitles and audio as the places where negative instructions are supported (see below).
* **Keep parameters out of the prompt.** Clip length, aspect ratio, resolution and whether to generate sound are request fields (`duration`, `ratio`, `resolution`, `generate_audio`); the guide says parameters "do not need to be included in the prompt".
* **Finish with the things that must stay constant**, such as the camera angle, the setting and the mood, so they hold across the whole clip.

## How do you control the camera and shots?

Write camera terms directly. ByteDance lists shot sizes (extreme wide, wide, medium, medium close-up, close-up), moves (push in, pull out, pan, track, follow, orbit, tilt up, handheld shake) and angles (low angle, overhead, first-person), plus named techniques such as one-shot/long take, dolly zoom, FPV, bullet time and speed ramp.

For anything more obscure, add a plain-language explanation after the term. The guide's own example is "Rack focus: the focus shifts smoothly; the trees that were originally clear in the foreground become blurred, while the character in the background gradually becomes clear."

For a cut or transition, give both the moment and the method, for example "At the 5-second mark, a quick whip pan to the left into the next scene." The Seedance 2.0 guide adds a rule that still helps on 2.5: use one camera move per shot, because asking for "push, pull, pan, and move at the same time" makes the image less stable.

A multi-camera scene is just several numbered shots, each with its own framing:

```text
Shot 1: Wide shot, locked-off camera, eye level. Two chess players sit across a table in an empty library.
Shot 2: Over-the-shoulder shot from behind the older player. The younger player moves a knight and looks up.
Shot 3: Close-up of the older player's hand hovering over the board, then tapping the table once.
Quiet room tone, the soft click of chess pieces, no music.
```

## Does Seedance follow timestamps?

Seedance 2.5 does, in whole seconds. Seedance 2.0 does not. ByteDance's comparison is direct: "Seedance 2.0 does not respond to timestamps and only responds to shot numbers, while Seedance 2.5 supports integer-second timestamps."

Three forms work on 2.5:

* **Ranges:** "0-3s … 3-7s … 7-15s", with no gaps between them.
* **Points:** "At the 2-second mark, a gust of wind lifts the tablecloth."
* **Relative timing:** "She waits by the door. After 3 seconds, the light in the hallway goes out."

Pace the content to the time you give it. If a range has too little happening, the model improvises; if it has too much, the guide warns the result "may contain excessive cuts or omit parts of the plot". Do not use timestamps for rapid repeated motion such as shaking a head three times a second.

For a clip up to Seedance 2.5's 30-second limit, write it as stages with a clear end state for each:

```text
A lighthouse keeper's evening routine, realistic, cool blue dusk turning to night, no music.
0-6s: Wide shot of a lighthouse on a rocky coast at dusk. The keeper climbs the outside stairs with a lantern.
6-14s: Inside the lamp room, medium shot. He wipes the large lens with a cloth, then checks a brass gauge.
14-22s: Close-up of his hand turning a wheel. The main lamp starts to rotate and throws a beam across the room.
22-30s: Aerial shot pulling back from the tower. The beam sweeps over dark water. Waves and wind only.
```

## How do you write dialogue, sound and subtitles?

Seedance 2.5 generates audio with the video by default (`generate_audio` is `true`). Everything can be described in plain sentences, but the official guide defines brackets for when you need to separate the kinds of sound:

| Content      | Syntax | Example                                |
| ------------ | ------ | -------------------------------------- |
| Music        | `( )`  | `(soft piano plays in the background)` |
| Sound effect | `< >`  | `<a bell rings in the distance>`       |
| Dialogue     | `{ }`  | `{Welcome back.}`                      |
| Subtitles    | `【 】`  | `【Chapter One】`                        |

For dialogue in a specific language or accent, name it before the line. The guide's formula is `Dialogue Language + Regional Variety or Accent + Delivery Style + Speaker + {Dialogue}`, for example: `Dialogue language: American English. The girl says in natural, conversational American English: {I thought you weren't coming.}` ByteDance says Seedance 2.5 generates speech natively in more than 10 languages; the guide does not list them, so test yours. Do not mix languages inside one line, which the 2.0 guide warns against, except for proper nouns.

When several characters speak, write the delivery once per line in the form "Character's line (emotion): content". The guide found that repeating words after a line, or attaching separate tone and action notes to individual words, is one of the things that makes the model add subtitles.

Negative instructions work here: "No subtitles", "No BGM; only ambient and action sounds", or "No audio." Subtitles can still slip through, less often than on 2.0 by ByteDance's account, and a reference video that has subtitles in it can override "no subtitles". To give a character an existing voice or song, attach it as an audio reference and bind it to that character, as in the guide's example: "Image 1 depicts the protagonist John and uses the voice timbre from Audio 1."

## How do you reference images, videos and audio in a prompt?

Number every file by the order you attach it and bind it in the text. ByteDance's examples read like this: "Images 1-2 are Character 1 and correspond to Audio 1; Images 3-4 are Character 2 and correspond to Audio 2." Do not rely on a name written inside the picture; the guide says labelling an image "John" and then writing "John is at school" "can easily cause character confusion or duplication".

Say what each file is for, and what to ignore:

```text
Image 1 defines the courier's face, hairstyle and yellow raincoat. Do not use the image background.
Image 2 defines the narrow alley, wet cobblestones and neon reflections. Do not use any people in it.
Video 1 defines the running pace and the handheld follow camera only.
The courier from Image 1 runs through the alley from Image 2 at night, jumps a puddle, and stops at a green door.
```

If a reference video already shows the exact motion, say "follow the actions and camera movement in Video 1" instead of re-describing every step; restating it can conflict with the video. When several images show one object from different angles, say so ("All four images show the same desk lamp; only one lamp appears"), or the model may treat them as separate objects.

How many to use: Seedance 2.5 takes up to 30 images, 10 videos and 10 audio clips (videos and audio at most 30 seconds in total each). ByteDance recommends 1-8 subjects across subject images and 1-5 subjects with 5-10 seconds each for video or audio references; more is allowed but less stable. Seedance 2.0 takes up to 9 images, 3 videos and 3 audio clips, and its guide recommends 4-5 files in total. For the request shape of each reference type, see [how to add images, videos and audio](https://seedrouter.ai/blog/seedance-api). Reference images and videos of real people's faces are rejected; [this post explains the error and what is allowed](https://seedrouter.ai/blog/seedance-real-person-error).

## How do you prompt a video edit or extension?

On SeedRouter, editing and extending are Seedance 2.5 features: send one reference video and set `omni_reference_task_type` to `edit` or `extend`. The prompt then has to do two things.

**For edits, name the scope and describe the change from A to B.** Include a trigger word such as add, remove, replace, or change to, and use a time range for partial edits. The guide's example: "Change the man's action from drinking coffee to mopping the floor from 4-6 seconds in Video 1, and leave the rest of the content unchanged." An object swap follows the same pattern:

```text
Edit Video 1: replace the paper coffee cup on the desk with the green ceramic mug from Image 1. Keep the person, the camera and the audio unchanged.
```

**For extensions, say which direction and start from the boundary frame.** Use "extend forward", "extend backward" or "continue", then describe what happens next:

```text
Continue Video 1: the cyclist reaches the top of the hill, stops, and takes off her helmet. The camera stays on the same side angle. Wind and distant birds.
```

An edit or extension keeps the source video's aspect ratio, so leave `ratio` at `adaptive`; an edit also keeps its length, so `duration` must be `-1`. ByteDance recommends MOV for both the input and the output (`output_format: "mov"`) for the best colour and audio continuity. If a combined request of references plus edits gives unstable results, the guide's fix is to split it into a reference task and then an edit task. The exact request bodies are in [how to edit or extend a clip](https://seedrouter.ai/blog/seedance-api).

## How do you use storyboards and keyframes?

They do different jobs. A multi-panel storyboard, several frames in one image, is a loose plot reference: the model "does not strictly align" with it. Keyframes, separate images attached in order, are followed closely.

* **Storyboard:** use simple line art or stick figures with no text, 15 panels or fewer. Map the storyboard image first, write a one-line story summary, then describe each shot to fill in what the drawing does not show (action, camera, style).
* **Keyframes:** attach each frame as its own reference image and open the prompt with "Use Images 1 to 6 in order as keyframes."
* **First and last frame:** set the images' roles to `first_frame` and `last_frame`. This locks the output to the first image's aspect ratio, so use two images with the same ratio. Setting them as `reference_image` and writing "Image 1 is the first frame" does not lock the ratio, but the output may not match the images exactly.

## What is different when you prompt Seedance 2.0?

The structure is the same (subject, action, scene, camera, style, audio), but the 2.0 guide asks for a few things 2.5 no longer needs:

* **Shots, not seconds.** Organise the clip as "Shot 1 / Shot 2 / Shot 3" and let the model pace it; the 2.0 guide calls precise timing "unstable".
* **Gentle, continuous motion.** It prefers "slow, gentle, coherent subtle movements" over sprints, big jumps and violent rolls, and asks you to describe how one action flows into the next.
* **Emotions shown as actions.** Instead of "very sad", write "lowers her head, shoulders trembling slightly, eyes reddening".
* **One face close-up and one full-body image per character**, not a multi-angle sheet, which 2.0 can read as several people. Seedance 2.5 accepts multi-view images.
* **Refer to a subject the same way every time**, for example "the woman in the red coat\@Image 1", or define a name once and reuse it.

Seedance 2.0 clips run 4-15 seconds (5 by default), and it has Fast and Mini versions that take the same request, at 480p or 720p only. The [version comparison](https://seedrouter.ai/blog/seedance-2-5-vs-2-0) and the [2.0, Fast and Mini guide](https://seedrouter.ai/blog/seedance-2-0-vs-fast-vs-mini) cover which model to pick. ByteDance also warns the two versions have "significantly different aesthetic style preferences", so the same prompt will not give the same look.

## Why does Seedance not follow my prompt?

Most failures trace back to a handful of causes named in the official FAQ:

* **Too much in too little time.** Spread the events out or lengthen `duration`.
* **Contradictions.** Two different descriptions of the same character, or a camera move that fights the action.
* **Characters swapped between references.** Attach reference files in the order the characters first appear and renumber the prompt to match.
* **Glowing eyes.** Strong words such as "fanatical" or "extremely shocked" can make pupils glow. Use calmer wording and add "normal human eyes; no glowing eyes".
* **Misspelled on-screen text.** Spell the word out letter by letter, or provide the exact text as a reference image.
* **One request doing too much.** Split references and edits into separate tasks.
* **A face that is blocked.** Real people's faces in references are rejected; see [the real-person error](https://seedrouter.ai/blog/seedance-real-person-error).

Draft at 480p with a short `duration`, then render the version you keep at a higher resolution. Tasks that fail are not charged; for what a finished clip costs, see [Seedance API pricing](https://seedrouter.ai/blog/seedance-api-pricing).

## Frequently asked questions

### Should I write Seedance prompts in JSON?

No format is required. ByteDance's guide says prompts "can be written entirely in natural language", and all of its templates are plain sentences with optional labels such as "Shot 1" or "0-3s". Structure helps; JSON syntax is not needed.

### How do I make a fight scene in Seedance 2.5?

Describe the fight in general terms and save detail for one or two key moves; the guide recommends phrasing like "both sides engaging in close combat" rather than listing every punch. Put the beats on a timeline, keep one camera move per shot, and describe the sound with `< >` effects.

### How long can a Seedance 2.5 video be?

Up to 30 seconds per request, set with `duration` (4-30, or `-1` to let the model choose). Seedance 2.0 goes up to 15 seconds.

### Is there an official Seedance prompt optimizer?

Yes. ByteDance publishes a Seedance 2.5 prompt skill, `sd25-pe`, that coding assistants can use to rewrite your prompt before you send it. The install command is in the official guide.

### Can I use a photo of myself as a reference?

No. Seedance rejects reference images and videos that contain real human faces. The [real-person error guide](https://seedrouter.ai/blog/seedance-real-person-error) covers what ByteDance allows instead.

## Try your prompt

Paste a prompt into the [Seedance 2.5 playground](https://seedrouter.ai/models/seedance-2-5#playground) or the [Seedance 2.0 playground](https://seedrouter.ai/models/seedance-2-0#playground), or send it from code with the [Seedance 2.5 API reference](https://seedrouter.ai/docs/seedance-2-5). You top up once with no subscription, credits never expire, and a task that fails costs nothing.
