🌱 Seedance 2.5 Prompt Guide

ByteDance's official prompting method for Dreamina Seedance 2.5 β€” turned into a working builder. Seedance 2.5 generates a single video up to 30 seconds, accepts up to 50 reference assets at once, honours integer-second timestamps, and can edit and extend existing footage. Written for the Dreamina app β€” the prompt craft is identical whether you generate in the UI or over the API, and where the two differ on limits it is called out. Everything traces to the ByteDance docs linked at the bottom.

1. Prompt builder

Fill in what you actually care about and leave the rest blank β€” the prompt assembles live on the right. The builder follows the doc's real four-layer shape: asset binding β†’ one-sentence summary β†’ detailed plot β†’ additional notes. Start by picking a task type, because that decides which parameters the model will let you set.

Ratio
Duration sec (4–30, or βˆ’1 = auto)
Resolution
Format
Assembled prompt Copied!

          

2. How a Seedance 2.5 prompt is built

Treat the model as a visual content producer and write structured prompts with a visual-storytelling mindset. The doc gives four layers β€” only the summary is genuinely required, but the more of the stack you fill, the less the model improvises.

LayerWhat goes in it
Asset binding
reference tasks only
Identify each image, video and audio file by its upload order and say what each is for β€” subject, voice, action, scene, style. Bind every asset explicitly in the text.
One-sentence summary Subject + Location + Event + Genre/Style + Camera movement β€” one line that tells the model what this video is.
Detailed plot A shot sequence or a timeline. Use timestamps or "Shot N" to divide the video into segments, then describe each segment's visuals, camera movement, actions, dialogue and sound effects. Prefer positive descriptions.
Additional notes Anything that must stay consistent for the whole runtime: camera angle, camera movement, environment, scene setting, sound, atmosphere, recurring elements.
Not official syntax. Several popular blog write-ups of this guide describe a "six-part formula" with four bracket types β€” ( ) for music, < > for sound effects, { } for dialogue and 【 】 for subtitles. No bracket syntax of any kind appears in ByteDance's documentation. Audio, dialogue and subtitles are written in plain language inside the plot description, and suppressed in plain language too ("No subtitles", "No BGM").

3. What you can and can't control

Seedance sorts every job into one of five task types β€” from the assets you attach plus the intent it reads in your prompt. Three of those types take the aspect ratio, and sometimes the duration, out of your hands and inherit them from whatever you fed in. In the app that shows up as a control going greyed-out or simply being ignored; over the API it's a hard error. Either way you cannot reframe 16:9 to 9:16 by editing, and you cannot stretch a clip to a target length by editing alone.

What you're doingRatioDurationWhat puts you in this mode
Text-to-videoyoursyoursPrompt only, nothing attached.
Reference-to-videoyoursyoursImages / clips / audio attached as references, with no edit or extend wording in the prompt.
First / last framefollows first frameyoursUsing the first-frame (and optionally last-frame) upload slots rather than a plain reference slot.
Video editingfollows sourcefollows sourceA source video attached plus an edit word: edit, add, delete/remove, modify, replace, change to.
Video extensionfollows sourceyoursA source video attached plus an extend word: extend forward/backward, continue, continue the story.
  • Set ratio and duration before you build your references, not after β€” and make your anchor images the same shape as the output you want.
  • Editing keeps the source duration. The result stays approximately aligned with the clip you edited, though the frame-processing mechanism can shift it by up to about 0.3 seconds β€” that only compresses transition frames, the content stays complete. A clip Seedance 2.5 generated itself re-edits with no drift at all.
  • Your wording alone can change the mode. This is the one that bites in the app: you attach a reference image meaning to generate something new, write "add a dragon", and the model decides you asked for an edit. If the ratio or length of your result is inexplicably inheriting from an input, this is why β€” reword to describe the finished shot rather than a change to it.
  • First and last frames should share dimensions β€” a last frame of a different shape gets stretched.
  • Export MOV for editing and extension where the option exists. It carries H.264 with yuv444p chroma and PCM audio, preserving colour and audio-visual continuity far better than MP4 β€” which is what makes an extension join invisibly.
  • Storyboards and keyframes are not locked β€” they count as reference tasks, so ratio and duration stay yours.

Over the API these are hard constraints rather than greyed-out controls: ratio must be adaptive and (for editing) duration must be -1. Anything else fails with InvalidParameter.TaskTypeConstraint β€” and because the task type is only classified once processing starts, that error arrives asynchronously, after the job has already queued.

4. Reference assets β€” ceiling vs sweet spot

50 assets is the ceiling, not a target. The doc gives a hard limit and a separate "generally produces better results" range for almost every input type β€” stability drops as the count climbs, and past the sweet spot you should expect to retry.

InputHard limitSweet spotPushing it
Images30 files, up to 4K eachβ€”β€”
Videos10 files, 30 s combinedβ€”β€”
Audio10 files, 30 s combinedβ€”β€”
Subjects via image referenceβ€”1–8 subjects9–12, less stable
Subjects via audio/video referenceβ€”1–5 subjects6–10, less stable
Length of a subject A/V clipβ€”5–10 secondsLonger reduces stability
Storyboard panelsβ€”15 panels or fewer18+ causes still frames or wrong order
Video being editedβ€”Under 20 secondsLonger reduces stability
Reference images for an editβ€”1–5 images6–8, less stable
  • Multi-view subjects: for 1–5 subjects, single-view and multi-view inputs both work. Past 5 subjects, single-view is more stable β€” and if you do need several viewpoints, split them into separate images rather than putting multiple views inside one image.
  • Storyboards: stick-figure or line-art works best. Don't feed cluttered, over-sharpened AI-generated boards, and avoid burning text into the image.
  • 3D clay-model references: simple, coarse-grained models work better than detailed ones β€” plain geometric primitives standing in for people, objects and animals. Keep trajectory lines, coordinate grids and camera cones out of frame.

5. Mapping many assets without confusing the model

As the asset count climbs, the mapping between assets and roles becomes the thing that makes or breaks the result. Number by upload order and bind every asset explicitly in the text.

  • Never label only inside the image. Writing "John" onto the protagonist's picture and then just saying "John is at school…" in the prompt is the classic failure β€” it causes character confusion and duplication. Say "Image 1 depicts the protagonist John" in the text.
  • List multi-subject mappings one by one. With many characters, use a list: "Images 1–2 are Character 1 and correspond to Audio 1; Images 3–4 are Character 2 and correspond to Audio 2."
  • State what each asset is for, and if only part of it should be used, say which part: "Refer to the action of casting the spell in Video 1 and the wrap-around camera movement in Video 2." Β· "Refer to Image 1 for lighting and filters."
  • Don't re-describe an asset that's already accurate. "Strictly refer to the actions and camera movements in Video 1, and keep the sequence consistent with the video" is enough β€” no need to spell out raising a hand, turning around, or the camera orbiting.
  • For edits, describe the change as A β†’ B and scope it: "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."
  • For keyframes, open the prompt with the binding: "Use Images 1 to 7 in order as keyframes." Keyframe references track the input images closely β€” use them instead of a storyboard when you need strict alignment.

6. Timestamps

Timestamps clarify how the story progresses. Use whole seconds as the base unit. Seedance 2.5 honours them β€” 2.0 did not.

  • Clear intervals β€” 0-3 seconds… 3-7 seconds… 7-15 seconds or [1s-4s]… [4s-8s]… [8s-12s]. Keep the timeline continuous: a gap like 0-3s… 5-6s leaves the model guessing.
  • Time points β€” "Quick left sideways transition at the 5-second mark." Β· "At the 2-second mark, a burst of golden lightning descends from the top of the frame."
  • Relative time β€” "John stands there blankly. After 3 seconds, everyone around him shakes their head." Β· "The frame freezes for 1 second after the main character presses the shutter."
  • Budget the time honestly. Too little plot in a range and the model improvises to fill it; too much and you get excessive cuts or dropped beats.
  • Don't time high-frequency actions. "Shake your head three times per second" is not what timestamps are for.

7. Camera language

Standard camera and shot terms can be written directly β€” the model knows them. Click any term to drop it into the builder's camera field.

Shot size

Camera movement

Camera angle

Technique

  • Niche or technical terms need explaining. Convert them into term + descriptive explanation: "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."
  • Transitions need both a trigger point and a method: "At the 5-second mark, the camera quickly transitions leftward using a left wipe combined with a natural dissolve."
  • Actions: prefer general descriptions β€” "doing several sets of high-knee raises and somersaults", "both sides engaging in close combat". Only spell out a few memorable beats, and don't repeat the same action.
  • Expressions: use descriptive sentences rather than idioms.

8. Negative control

Write positively wherever you can β€” but Seedance 2.5 does accept negative constraints for subtitles and audio specifically.

To suppressWrite
SubtitlesDo not add subtitles. Β· No subtitles.
Background music onlyNo BGM; generate only environmental sounds and action sounds.
All audioNo audio.

For visual exclusions the doc uses a positive-framed block inside the prompt instead β€” see the storyboard example's [Strictly exclude] list, which rules out black-and-white, line art, storyboard frames and plastic CG in one place.

9. Worked examples

Quoted from the official guide. Each one shows a different shape of prompt β€” expand and copy to use as a starting skeleton.

🐼 Timeline form β€” nature documentary

The plainest version of the full stack: style and scene up front, then two timestamped beats, then a block of consistency notes covering camera, depth of field and audio. Note how the closing paragraph pins down what must hold across the whole clip.

Realistic nature documentary style, natural lighting and shadows. On a warm afternoon, on a grassy slope in the forest, a chubby panda cub rolls down the hill.

The panda has fluffy, realistic black-and-white fur, a small round body, and clumsy, adorable movements. The scene is a green forest slope. The ground is covered with grass, moss, clover, soil, small stones, dry branches, and a few small yellow flowers. Tall tree trunks and dense woods are softly blurred in the background. The camera is a low-angle medium-wide shot with a slight handheld feel. The framing remains mostly stable, keeping the panda in frame at all times.

0s-3s: A panda cub lies on a green grassy slope, its body round and chubby. It begins to slowly roll sideways down the slope with clumsy movements, gently bending the grass beneath its body. A light breeze passes through, and sunlight filters through the trees from the upper left, creating dappled light and shadow.

3s-8s: The panda rolls toward the lower right of the frame and gradually comes to a stop, shifting from lying on its side to lying on its belly. Its round face turns toward the camera, and its front paws press into the grass. The panda lies in the foreground grass, adjusts into a comfortable position, slightly raises and lowers its head, and makes a soft little humming sound.

Low camera position, slight handheld feel, subtly following the panda as it moves toward the lower right. Natural depth of field: the foreground grass is slightly blurred, the panda remains clear, and the background forest is softly out of focus. Natural environmental audio only, including wind, rustling grass, and the soft plop of the panda rolling. The overall mood is warm, realistic, and natural.
Copied!
🎬 Bracketed-block form β€” 9-shot storyboard with dialogue

The most production-like shape in the doc: named asset bindings, then [Subject settings], [Overall style], [Strictly exclude] and a [Shot list] with a timestamp per shot. Dialogue is written in plain prose, attributed by speaker β€” there is no dialogue bracket syntax.

Image 1: Nine-panel storyboard reference, used for the overall shot structure, shot sizes, and camera-movement rhythm.
Image 2: Live-action reference of a rocket launch site on a dusk grassland, used as the benchmark for environmental composition, warm golden sunset light, cool twilight blue tones, and realistic color live-action texture.
Image 3: Subject 1 (guardian robot) character appearance reference.
Image 4: Subject 2 (elderly grandmother) character appearance reference.

[Subject settings]
Subject 1 (guardian robot): Refer to Image 3. A near-future weathered retro robot with an aged blue-green metal body, mottled rust, a domed head, two glowing red circular camera eyes, thin antennas, and slender articulated limbs. It is very tall, about twice the height of a human.
Subject 2 (elderly grandmother): Refer to Image 4. A frail elderly woman with silver hair tied into a low bun, deep wrinkles, wearing a bright golden floor-length dress with gold-and-blue embroidered details on the chest. Her expression is full of reluctance and sorrow. Her height only reaches the robot's chest.
Environment (dusk grassland launch site): Refer to Image 2. A near-future grassland at dusk, with the sky gradually shifting from warm gold to cool blue. On the distant horizon, a launch tower stands with a white rocket, steam rising around it. Knee-high wild grass sways in the wind across a vast, open landscape.

[Overall style]
Live-action color cinematic film, realistic photoreal texture, full-color visuals throughout. Color 35mm film look, fine realistic film grain, rich cinematic color grading, IMAX large-format feel. Handheld cinematography with breathing-like camera shake, shallow depth of field, wide aperture, continuous drifting foreground grass, sparks, and ash. Slight Dutch angle. Strong contrast between warm golden sunset light, cool twilight blue, and explosive warm orange. 16:9 horizontal frame. Near-future emotional disaster-film atmosphere: quiet, tragic, protective, and filled with reluctance.

[Strictly exclude]
Black-and-white, monochrome, grayscale, desaturated visuals; hand-drawn, sketch, line art, illustration, comics, animation; storyboard frames, rough sketches; tilt-shift miniature look, toy-like appearance, plastic CG, glossy overexposed CG.

[Shot list] (9 shots, approximately 30 seconds)
Shot 1 (0-3s): Extreme wide shot, ultra-low camera position close to the ground, looking upward, handheld camera slowly tilting downward. Refer to the grassland composition in Image 2. The dusk grassland feels vast and empty. Knee-high wild grass in the foreground sways out of focus, and warm golden lens flare sweeps across the frame.
Shot 2 (3-6s): Medium front shot with a handheld camera. The robot supports the elderly woman.
Shot 3 (6-10s): Facial close-up. The elderly woman looks reluctant to part. Dialogue (elderly woman): "Fly safe, my child. Come back to me."
Shot 4 (10-14s): Extreme wide shot tilting upward. The rocket rises with a thick white smoke trail. Dialogue (elderly woman): "There he goes... there he goes."
Shot 5 (14-18s): Extreme wide shot. The rocket explodes and breaks apart in midair. Dialogue (elderly woman): "No... no, noβ€”"
Shot 6 (18-22s): Extreme facial close-up. The elderly woman's pupils contract and tears fall. Dialogue (elderly woman): "...he was almost there."
Shot 7 (22-25s): Close-up transitioning to a medium close-up. The elderly woman breaks down in tears. Dialogue (elderly woman): "Bring him back! Pleaseβ€”bring him back!"
Shot 8 (25-28s): Ultra-low-angle, nearly vertical upward shot. The robot embraces the elderly woman, forming a protective dome around her. Dialogue (robot): "Don't look up. I've got you."
Shot 9 (28-30s): Extreme wide rear shot. The two figures embrace tightly in silhouette. Dialogue (robot): "I'm still here. I'll stay... as long as you need."
Copied!
πŸ•ΉοΈ Keyframe form β€” one-shot pixel-art sequence

Keyframe references track the input images closely, so the prompt opens by binding them in order and then describes the motion between them. Use this shape instead of a storyboard when you need the output to match your frames strictly.

Create a one-shot vertical pixel-art wuxia-themed video based on @Image 1 to @Image 6. Use Chinese-style 8-bit wuxia background music. The entire video should use a unified light-blue background, consistent pixel-art style, and a clean, bright, transparent visual look.

Shot 1:
Hold on the ink-wash-style "ζ±ŸζΉ–ι£ŽδΊ‘" logo from @Image 1. The background is the unified light-blue color. Keep the frame still for about 1 second.

Shot 2:
After the text area from @Image 1 disappears, the pixel-art close-up face of the male wuxia character from @Image 2 slides in from the bottom of the frame. The character blinks and looks toward the camera, then quickly moves downward and exits the frame. After the character exits, the original logo area transforms into the blue pixel-art "武功秘籍" martial arts manual from @Image 3.

Shot 3:
Immediately transition to @Image 4. A small pixel-art wuxia character jumps forcefully upward from the bottom of the frame and hits the blue diamond-shaped question mark icon above. Bold dark-blue text "今ζ—₯ι—―ζ±ŸζΉ–!" pops out above the question mark icon. After landing, the character strikes the standing pose from @Image 4, then raises a hand to greet the viewer. Next, the character prepares to run, turns toward the right side of the frame, and runs to the right, with the running pose referencing @Image 5. The camera follows the character smoothly to the right, and the character jumps out of frame from the right side.

Shot 4:
The UI interface from @Image 6 slides into the frame from the right. The pixel-art wuxia character jumps in from the upper-right corner and lands at the lower-right side of the large "δΈ‰ζœˆε»ΏδΈƒζ—₯" text. The character opens both arms in an enthusiastic presentation pose and freezes. The final frame holds on this composition.

Overall requirements:
Pixel-art wuxia visual style throughout, with a unified light-blue background tone. The camera movement should be continuous and smooth, presenting a one-shot flow with seamless position shifts and follow movement. Element transitions should feel natural, and character actions should connect smoothly. No stuttering, no flickering. Text and UI must remain clear and stable.
Copied!
βœ‚οΈ Editing form β€” scoped change, everything else held

Edits work best when you name what to preserve first, then state the single change as A β†’ B. Remember this task type locks both ratio and duration.

Preserve the composition, camera position, lighting, and performance rhythm of @Video 1. Only modify the female lead's appearance and expression: let her naturally age from her twenties to around sixty. The restraint in her eyes gradually softens, tears slide past the corners of her eyes, and the corners of her mouth slowly lift until she finally smiles through her tears. The entire video should be a continuous one-shot, with no jump cuts and no flickering. Her facial features should gradually age without drifting or changing identity.
Copied!

10. What changed from Seedance 2.0

2.5 is not the cross-generational jump that 2.0 was over 1.5 β€” it's a systematic pass aimed at real production work. If you already write 2.0 prompts, these are the differences that change how you write.

Seedance 2.0Seedance 2.5
TimestampsIgnored β€” responds only to shot numbersInteger-second timestamps honoured
Max duration15 s30 s in a single generation
Reference assets15 total (9 images + 3 videos + 3 audio)50 total (30 images + 10 videos + 10 audio)
Audio-only referenceNeeds an image or video alongsideSupported on its own
Multi-view subject imagesNot recommendedSupported
Aspect ratioSix fixed outputsAny ratio in [0.4, 2.5] via the input assets
Output formatmp4mp4 or mov (better colour + A/V continuity)
Resolution480p, 720p, 1080p, 4K480p, 720p over the API β€” the Dreamina app advertises up to 4K

Resolution is the one number that doesn't reconcile. ByteDance's own API documentation lists Seedance 2.5 as 480p / 720p only, while Dreamina's product pages advertise 4K and a beta long-video mode well past 30 seconds. Both are ByteDance. The likeliest explanation is that the consumer app offers tiers (and possibly upscaling) the published API tier doesn't β€” but treat the 4K claim as marketing until you see it in your own export, and check what your plan actually delivers.

11. Pre-flight check

Run through this before you spend a generation.

12. Use this with Claude

Packaged Agent Skills β€” install once and Claude applies the method without being re-briefed every session.

Seedance 2.5 prompt structure

Carries everything on this page β€” the four-layer structure, reference binding with exclusions, timestamp rules, camera vocabulary, the task-mode locks, and a troubleshooting table.

This is a corrected build. Skill files for Seedance 2.5 circulating elsewhere β€” including an earlier version of this one β€” teach a "six-part formula" and four bracket types (( ) music, < > SFX, { } dialogue, 【 】 subtitles) that do not exist in ByteDance's documentation, and state 4K and 180-second runtimes as fact. This build follows the official docs instead β€” see the correction note in section 2 above. It keeps the parts that were sound regardless: the exclusion habit, staging discipline and troubleshooting.

Fight choreography director β€” for Seedance 2.0

A separate skill, not from this page's sources β€” built for Seedance 2.0's reference pipeline, not 2.5. Interviews you for clip length and fight style, then writes a complete multi-shot fight sequence: REALISTIC (boxing/MMA), ACTION (wire-fu) or ANIME styles, plus gun-fu, John Woo bullet-ballet and Eastern/Western blade modules. Enforces a strike-and-react rule so every impact names its target and a physically-correct reaction, and scales from a duel up to one hero against an army.

⬇ Download fight-choreographer.skill ~25 KB Β· SKILL.md + 5 reference files

Installing either one

  • Claude Code: a .skill file is a zip. Unpack it into .claude/skills/ in your project (or ~/.claude/skills/ to have it everywhere) so you end up with e.g. skills/seedance-2-5-director/SKILL.md. It loads on the next session.
  • Claude apps: upload the .skill file wherever Skills are managed in your settings.
  • Once installed each triggers on its own β€” say "write me a Seedance 2.5 prompt for…" or "write me a fight scene", or ask to port an existing prompt forward.

13. Specs & sources

SpecValue
Duration4–30 s in one generation. Dreamina additionally offers longer beta modes.
Aspect ratio21:9 Β· 16:9 Β· 4:3 Β· 1:1 Β· 3:4 Β· 9:16 Β· adaptive. Any ratio in [0.4, 2.5] is reachable via the input assets.
Resolution480p / 720p per the API docs; up to 4K per Dreamina's product pages β€” see the note above.
Frame rate24 fps
Output formatMP4 (H.264, yuv420p, AAC) Β· MOV (H.264, yuv444p, PCM β€” use for edits and extensions)
Reference assets50 max β€” 30 images + 10 videos + 10 audio
Languages11 β€” Chinese, English, Spanish, Indonesian, Malay, Thai, Arabic, Portuguese, Vietnamese, Japanese, Korean
βš™οΈ If you're calling the API instead

None of this matters in the Dreamina app β€” it's here so the page is complete for anyone driving Seedance from ModelArk.

  • Model ID: dreamina-seedance-2-5-260628
  • Task type comes from content.role β€” reference_image / reference_video / reference_audio for reference work, or first_frame / last_frame for keyframe generation β€” combined with the intent read from your prompt.
  • Locked values: ratio: "adaptive" for editing, extension and first/last-frame; duration: -1 additionally for editing. Anything else returns InvalidParameter.TaskTypeConstraint, asynchronously.
  • Duration accepts -1 to let the model pick the best length in range.
  • Audio is enabled with generate_audio: true.
  • Endpoint: POST https://ark.ap-southeast.bytepluses.com/api/v3/contents/generations/tasks

Official prompt optimiser

ByteDance ships a Seedance 2.5 prompt-engineering skill. Install it, then type /sd25-pe followed by your prompt in an AI chat box:

npx --yes skills@latest add \
  "https://arkdocs-en.tos-ap-southeast-1.volces.com/skills/" \
  --skill sd25-pe \
  --yes

Sources

All prompt craft, task rules and limits on this page come from ByteDance's official documentation:
β†’ Dreamina Seedance 2.5 prompt guide β€” the prompt method, examples and asset recommendations
β†’ Dreamina Seedance 2.5 tutorial β€” task constraints, parameters, model ID
β†’ Dreamina Seedance 2.5 β€” app-side claims only (the 4K and long-video figures), which the API docs do not corroborate