Seedance video prompting
ByteDance's Seedance family generates video and audio jointly and takes multimodal references (images, video clips, audio clips) that a prompt addresses by label. Getting the labels and the task type right matters more than adjectives: the same sentence can be read as "reference this" or "edit this" depending on one word.
Load reference.md for the full formulas, the failure table, worked examples and the ComfyUI
parameters. Load supplementary.md only for non-official leads about 2.5; it never overrides
reference.md and carries a conflict ledger. This file is the router and the rules you need before
writing a single line.
Which model you are talking to
| Model | Where it runs | Refs per pass | Max length | In ComfyUI |
|---|---|---|---|---|
| Seedance 2.5 | Dreamina, Jimeng AI, Doubao Pro, and ComfyUI since core v0.31.0 | 30 img + 10 video + 10 audio (audio-only allowed) | 4 to 30s; nest-extend to 60s; Long Video mode 30 to 180s in one shot | Yes, since 2026-08-08 |
| Seedance 2.0 / 2.0 Mini / 2.0 Fast | BytePlus ModelArk, ComfyUI | 9 img + 3 video + 3 audio | 15s | Yes |
| Seedance 1.5 Pro | BytePlus ModelArk, ComfyUI | n/a (no omni-reference) | 4 to 12s, min 4s enforced | Yes, and the only one there with generate_audio |
| Seedance 1.0 Lite / Pro / Pro Fast | BytePlus ModelArk, ComfyUI | n/a | n/a | Yes |
Seedance 2.5 reached ComfyUI on 2026-08-08 (core v0.31.0, PR 15395), and this file said the opposite until 2026-08-09. The old line, "Seedance 2.5 has no ComfyUI nodes", was correct on 2026-08-01 and went stale a week later. Kept as a correction rather than silently replaced.
How to build it now. 2.5 is a model option inside the SAME ByteDance2* nodes, not new nodes:
ByteDance2TextToVideoNode, ByteDance2FirstLastFrameNode, ByteDance2ReferenceNode (category
partner/video/ByteDance). Set the model DynamicCombo to Seedance 2.5 and the widgets underneath
change. Minimal graph: the node's VIDEO output straight into SaveVideo.video.
What ComfyUI's 2.5 gives you, read from comfy_api_nodes/nodes_bytedance.py on master (2026-08-09),
not from the announcement:
resolutionis 480p or 720p only. There is no 1080p and no 4K on 2.5 in ComfyUI; those live on theSeedance 2.0option of the same node.duration4 to 30 s,ratio16:9 / 4:3 / 1:1 / 3:4 / 9:16 / 21:9 / adaptive (the first-last-frame node has no ratio widget),generate_audioon by default,output_formatmp4 only even though the node's own model tooltip advertises "mp4/mov".ByteDance2ReferenceNodeautogrows to 30 images, 10 videos, 10 audios, which confirms the announcement's 30+10+10 in code. Itsvideo_editingtoggle makes the output inherit the source clip's duration and aspect, and theduration/ratiowidgets are then ignored.- Node-level prompting rule: put spoken lines in double quotes to steer the generated dialogue.
- The Long Video 30 to 180 s mode in the table above is a Dreamina / Jimeng feature and is not reachable through these nodes, whose ceiling is 30 s. Nest-extend instead.
The three task types, and the word that switches between them
Every Seedance prompt is one of three tasks, and the model decides which from your phrasing:
| Task | Phrasing | Result |
|---|---|---|
| Multimodal reference | "Reference <Subject_N> in <Image_N> to generate..." |
brand-new video borrowing an element |
| Video editing | "Strictly edit <Video_N>, and modify X to Y" |
the original video, partially changed |
| Video extension | "Extend <Video_N> forward/backward to generate..." |
the original continued in time |
The trap: for edit and extend, name the asset as <Video_N> directly. Writing
"reference <Video_N>" makes the model treat it as a reference task and generate something new
instead of editing what you gave it. (Confirmed, official BytePlus guide.)
Reference labels
Official ByteDance examples write @Image 1, @Video 1, @Audio 1 with a space. Dreamina's
consumer guide shows @Image1 without one. Both appear in the wild; the official form is spaced.
Do not invent other label shapes.
Two ways to name a subject, and you must pick one and keep it:
- Bind inline:
<Subject_N>@<Image_N>, e.g.Zhang San@Image 1, repeated every single time the subject is mentioned. - Define once, then reuse the label: "define the tall man in Video 1 as police officer", then say "police officer" consistently forever after.
Define a subject with 2 to 3 stable static features (clothing, hairstyle, category), never with mood or action. Every mention must be explicit; an unlabelled mention is where subjects get swapped.
Four symbols that carry meaning
Officially documented, and nothing else does their job:
| Content | Symbol | Example |
|---|---|---|
| Music | () |
(fast-paced rock music is playing) |
| Sound effect | <> |
<dog barking in the distance> |
| Dialogue | {} |
{Hello, world} |
| Subtitles | 【】 |
【Chapter One: Departure】 |
Non-Chinese, non-English dialogue must name its language: says in Japanese {こんにちは}.
Shot sequencing beats prose
Write a storyboard, not a paragraph. Label segments Shot 1, Shot 2, Shot 3 in the order events
happen, and give each one: camera move or transition, subject action and expression, position or
spatial change, audio.
Timing depends on the version, and this reversed in 2.5.
- 2.0: do not force timings. The official 2.0 guide says support for precise timing such as "0 to 3 seconds" is unstable and constraining duration can break the generation.
- 2.5: timestamps are a headline feature, built because users asked for exactly this. Write time
slices as
0s-3s:,3s-8s:and direct each one. Seereference.mdsection 2.5-C.
One camera movement per shot. Asking for push, pull, pan and track at once destabilises the image.
Do not fill the reference budget
The single most counterintuitive official rule. 2.5 accepts 50 assets; the guide recommends 4 to 5: 1-2 character images (headshot plus full body) + 1 scene image + 1 camera-movement video + 1 audio clip. Too many assets and the model cannot rank features, producing style conflicts and blurred subjects.
Place the assets that need the most faithful reference earliest in the prompt.
When something comes out wrong
| Symptom | First fix |
|---|---|
| Face drifts or swaps mid-video | Add a separate headshot reference; never use multi-view character sheets, they read as several people |
| Two identical characters appear | Label every character to its image, plus a global "no duplicate characters" constraint |
| Subtitles you never asked for | Add "avoid generating any text or subtitles"; prefer landscape, portrait is markedly worse |
| A watermark or logo appears | Add "do not generate a watermark", "do not generate a logo" |
| Style drifts to live action | State the style explicitly; better, convert the reference image to the target style first |
| Jump at an extension seam | Post fix: trim 6 frames off the end of the earlier clip and 1 frame off the start of the next |
Full causes, the rest of the table and the ComfyUI-specific limits are in reference.md.
Sources and honesty
Normative content here comes from ByteDance primary sources: the official BytePlus ModelArk prompt
guide for the Seedance 2.0 series, the official Seed blog announcing 2.5 (2026-07-31), Dreamina's
official product guide, and ComfyUI's own node source. Third-party writing is kept out of the
normative layer and lives in supplementary.md, subordinate and with its conflicts listed.
The detailed prompting rules are the official 2.0-series guide. Seedance 2.5 launched 2026-07-31
and has no public prompting guide of its own yet; it inherits the mechanics visibly, but treat
2.5-specific numbers as the only part confirmed for 2.5. reference.md marks every claim.