Inside Seedance 2.5's Reference System: Image, Video, Audio
Seedance 2.5’s reference system is one of its most powerful and least understood features. Most people either ignore references entirely or dump files in and hope. The community cases in EvoLink’s open guide show a third way: references as a deliberate crew, each file with a job. The point isn’t to max out slots — it’s to give the model exactly the anchors it needs.
Note up front: Seedance 2.5 is live on EvoLink. The R2V route supports up to 30 images, 10 videos, and 10 audio files. This is an independent guide — EvoLink is our recommended provider, and we are not affiliated with ByteDance.
The real reference budget
References are split by type, and each type has its own per-request ceiling:
| Type | Request field | Documented max per request |
|---|---|---|
| Image | image_urls | up to 30 |
| Video | video_urls | up to 10 |
| Audio | audio_urls | up to 10 |
These are separate budgets, not one combined pool — spending image slots doesn’t reduce how many video or audio references you can attach. In practice most shots use far fewer than the ceiling; the headroom exists so multi-character, multi-constraint work stops being a compromise.
How references enter the prompt
References aren’t a side channel — they’re cited inline. Prompts write markers like «image_1_1» exactly where that file’s content should govern:
“…the camera steadily follows a man in a black coat (refer to «image_1_1»)…”
This is the crucial mental shift: you don’t describe the coat, the face, the location — you point at them. Words carry the direction; files carry the nouns. Prompts get shorter and outputs get more consistent at the same time. Video and audio references work the same way, using matching «video_x_y» and «audio_x_y» markers.
How to spend each budget
Across multi-reference cases, allocation follows a clear economy. Think per type:
| Job | Type | Typical count | What it locks |
|---|---|---|---|
| Character identity | image | 2–3 per character | Face, wardrobe, proportions across the whole take |
| Location & set | image | 2–4 | Environment, architecture, dressing |
| Palette & grade | image | 1–2 | Color world, lighting mood |
| Camera grammar | video | 1–2 clips | The move itself — a short clip beats a paragraph |
| Rhythm | audio | 1 file | Pacing, beat structure, cut timing |
For a two-character narrative scene, identity references can already become difficult to manage. That is why each asset needs a role, subject ID, version, and acceptance reason. The live 2.5 route documents separate image, video, and audio budgets, so keep asset roles versioned per type — a failure should always have one suspect.
The workflow that keeps it debuggable
The mistake that burns time is loading all references at once. When a many-file generation goes wrong, every file is a suspect. A layered sequence keeps failures diagnosable, and it matches what we’ve found generating for this site:
- Prompt-only drafts first at a launch resolution (480p or 720p) until composition and motion are right
- Add image identity references and confirm characters hold
- Add the camera-move video clip and confirm the move transfers
- Add audio last — rhythm is the finishing layer, not the foundation
One layer per run means every failure has one suspect. Start with the lowest-risk settings documented by the active route — the live range is 4–30 seconds at 480p or 720p — then add references once the shot is working, and confirm native-audio billing in the EvoLink console before scaling.
Reference quality rules
From comparing inputs to outputs:
- Multiple angles can beat one hero shot. Start with a small approved identity set and expand only when the live route permits it and the additional asset improves acceptance.
- Clean references transfer clean. A camera-move clip with its own busy subject bleeds content, not just movement; the best reference clips are notably plain.
- Don’t re-describe what you reference. Contradictions between the file and prose about the file resolve unpredictably — cite the marker and stop talking.
Try the economy yourself
Read how each marker is placed in the prompt library, then rebuild a two-character version of your own shot: say 6 image slots for identity, 3 for location, 1 for palette, plus 1 camera video clip and 1 audio track. That’s well inside every budget, with plenty of headroom on all three types. Set it up in the playground to preview before you roll, and if you’re driving this from code, the reference fields (image_urls, video_urls, audio_urls) take plain URLs — see the API guide and use seedance-2.5-reference-to-video for R2V.