When Seedance rejects a reference, the upstream error usually names the rule you broke. It rarely tells you how to fix it, and some errors don't even say which file. Below are the raw Seedance 2.0 and 2.5 errors we have seen on real jobs on XinYu AI, grouped by asset type: images that are too small, reference audio format, audio-only references, low-resolution reference video, prompts read as edits or extensions, and first/last frames mixed with references. Each one is checked against BytePlus's official documentation and comes with the cause and the fix. At the end: how many references Seedance 2.5 takes, and the official format and size requirements.
The aspect ratio limit (0.40–2.50) has its own article: Why Seedance rejected your reference image: the 0.40–2.50 aspect ratio limit. It is not repeated here.
The short version
| Asset | Upstream error (excerpt) | Where we saw it | Cause | Fix |
|---|---|---|---|---|
| Image | expected the width to be at least 300px (or height) | 2.5, 2.0 Mini | Width or height under 300 px | Both sides at least 300 px |
| Image | image pixel count … must be greater than or equal to 90000 | 2.5 | Fewer than 90,000 pixels | Same |
| Image | expected the aspect ratio to be between 0.40 and 2.50 | See the article above | Aspect ratio out of range | See the article above |
| Audio | audio format … is not valid … (detected format); received: "aac,mov,mp4,m4a,3gp,3g2,mj2" | 2.5 | The file is m4a (AAC) | The official formats are wav and mp3 |
| Audio | reference_audio cannot be the only reference input | 2.0 Fast, 2.0 Mini | Audio was the only reference | Add an image or a video reference |
| Audio | audio total duration (seconds) … must be less than or equal to 15.2 | 2.0 | Total reference audio over about 15 s | Keep the total within 15 s |
| Video | video pixel count … must be greater than or equal to 407696 | 2.0 | Reference video resolution too low | At least 407,696 pixels per frame |
| Video | InvalidParameter: Bad Request (no detail) | See the trimmed reference video article | One known cause: trimmed but never re-exported | See that article |
| Video + prompt | Seedance identified your task as video editing based on your prompt | 2.5 | Prompt read as an edit or extension | Drop edit/extend wording, or switch to an edit or extend task |
| First/last frame + references | first/last frame content cannot be mixed with reference media content | 2.0 Mini | Two task types in one request | Pick one |
"Where we saw it" only says which version we saw the error on. It doesn't mean other versions are free of that limit.
How small is too small for a reference image?
Two raw errors (request IDs removed here and below):
Error while downloading image, error: expected the width to be at least 300px, but received a 113x134px image instead
The parameter `content[1]` specified in the request is not valid: the parameter image pixel count specified in the request must be greater than or equal to 90000 for model dreamina-seedance-2-5 in r2v, but received a 174x254px image (44196 pixels) instead.
Rejected image sizes we have seen: 113×134, 166×433, 174×149, 174×254, 196×453 and 622×215. The 113×134 one was on 2.0 Mini; the rest were on 2.5.
BytePlus's official Seedance 2.5 docs say a reference image must be 300 to 6000 pixels on each side.
The two errors are not the same rule:
- At least 300 px on each side always gives you at least 90,000 pixels. The reverse doesn't hold: 622×215 has 133,730 pixels and was still rejected for its height.
- Two images both under 300 px wide got different errors: 174×149 hit the width check, 174×254 hit the pixel-count check. Our reading is that these are two separate checks, and you get whichever one fires first.
Either way, if both sides are at least 300 px, you pass both. Thumbnails, avatars and crops from chat screenshots are the usual suspects.
These errors don't come back at submit time. The task is created, runs for a while, then fails, so you lose the wait.
What reference audio formats does Seedance accept?
The official Seedance 2.5 docs list exactly two reference audio formats: wav and mp3. Each file must be 15 MB or less.
We have seen one m4a file rejected by 2.5. The same file was retried once, with the same result:
The parameter `content[2]` specified in the request is not valid: the parameter audio format specified in the request is not valid for model dreamina-seedance-2-5 in r2v (detected format); received: "aac,mov,mp4,m4a,3gp,3g2,mj2".
Two things can be read from it:
- It says
detected format. The tail,mov,mp4,m4a,3gp,3g2,mj2, matches what ffprobe prints as the format name for this kind of file, character for character. The leadingaacis most likely the audio codec (our reading; the upstream doesn't explain it). So we infer the upstream detects the format from the file contents, and renaming .m4a to .mp3 won't help (ffprobe prints the same string for a renamed file). - The file is AAC audio in an MP4 container, the ordinary .m4a. iPhone recordings come out this way.
Formats like flac or ogg aren't on the official list, and we have no upstream samples for them.
To check a file:
ffprobe -v error -show_entries format=format_name -of default=nw=1 your-audio-file
format_name=mp3 or format_name=wav is on the official list. format_name=mov,mp4,m4a,3gp,3g2,mj2 is the kind that got rejected.
Why can't I use reference audio on its own?
The parameter `content` specified in the request is not valid: reference_audio cannot be the only reference input.
Reference audio can't be the only reference. Attach it together with a reference image or video. We saw this on 2.0 Fast and 2.0 Mini. Every successful job with reference audio we have seen also had an image or a video; we have not seen an audio-only one succeed.
How long can Seedance 2.0 reference audio be?
The parameter `content` specified in the request is not valid: the parameter audio total duration (seconds) specified in the request must be less than or equal to 15.2 for model dreamina-seedance-2-0 in r2v.
On Seedance 2.0 the cap on total reference audio, as written in the error, is 15.2 seconds. Our guess is 15 seconds plus a small tolerance for millisecond tails in file durations. Don't plan around 15.2. BytePlus's 2.5 overview also says the total duration of reference audio and video went up from 15 to 30 seconds. On XinYu AI, the 2.0 family flags reference audio and reference video against a 15-second total.
For the 2.5 limits, see "How many references" at the end.
What happens if the reference video resolution is too low?
The parameter `content[2]` specified in the request is not valid: the parameter video pixel count specified in the request must be greater than or equal to 407696 for model dreamina-seedance-2-0 in r2v.
We saw this on 2.0. The rejected clip was 348×632 vertical (219,936 pixels).
The official 2.5 docs give the same number: each frame of a reference video must have between 614×664 = 407,696 and 3326×2494 = 8,295,044 pixels, with each side 300 to 6000 px. We haven't seen this error on 2.5 yet; go by the docs there.
Doing the arithmetic:
| Size | Pixels per frame | vs 407,696 |
|---|---|---|
| 640×360 | 230,400 | below |
| 848×480 | 407,040 | just below |
| 854×480 | 409,920 | above |
| 720×1280 | 921,600 | above |
480p sits right on the line, and a few pixels of width decide it. If your source is low-res, exporting at 720p is the safer bet. The above/below column is arithmetic; we have not specifically tested 854×480.
This one comes back at submit time. content[2] is a position in the request's content array, counted from 0 (in our requests, item 0 is the prompt text). If you call the API directly, count through your own array to find the file.
Will a 30.08-second reference video pass?
The official Seedance 2.5 figures: up to 10 reference videos, total no more than 30 seconds; each one 2 to 30 seconds, or 4 to 30 seconds for video editing.
On 2026-09-28 we tested a reference video with a container duration of 30.08 seconds: 2.5, omni reference, 480p, 4-second output. The job succeeded. The clip's audio track was 30.08 s and its video track slightly shorter.
That supports two things and no more:
- In this sample the container duration equals the longer track, the audio. Players and ffprobe usually show the container duration, so a clip whose picture is exactly 30 seconds can show up as 30.0x.
- 30.08 s was accepted, once (n=1). That does not make 30.08 the limit, and it doesn't mean anything longer passes. We have not measured where the real tolerance is.
On XinYu AI, a 2.5 reference video total above 30.1 seconds is stopped before submission, with nothing charged.
Why does a prompt that says "extend" or "edit" get rejected?
With a reference video attached and a prompt that reads like an edit or an extension, Seedance 2.5 classifies the job as video editing or video extension. For those types you can't set the ratio (and for editing, not the duration either):
The parameters `ratio` and `duration` specified in the request are not valid. Seedance identified your task as video editing based on your prompt. For this task type, the output ratio and duration follow the input video selected by the model for editing, and the video selected must satisfy the duration requirement of 4 to 30 seconds. Issues: [0] `ratio` must be `adaptive`. [1] `duration` must be -1.
The extension version:
The parameter `ratio` specified in the request is not valid. Seedance identified your task as video extension based on your prompt. For this task type, the output ratio follows the input video selected by the model for extension. Issues: [0] `ratio` must be `adaptive`.
On 2.5 we have seen both edit-sounding and extend-sounding prompts fail exactly this way.
The official docs say Seedance 2.5 "determines the task type based on the input assets and prompt intent." A reference video plus a prompt with editing intent is video editing; with extension intent, it's video extension. The docs list editing keywords such as "edit the video, add, delete/remove, or modify/replace/change", and extension keywords such as "extend forward/backward, continue, or continue the story."
From those trigger conditions, our advice:
- If you only want the video as a reference for a new shot, keep those words out of the prompt. Even "add a few birds" counts as "add". Describe the shot you want instead.
- If you really want an edit or an extension, pick "Edit video", "Extend backward" or "Extend forward" in the XinYu AI panel. Through the API, set
ratiotoadaptive, and for editing setdurationto-1. The docs also offer anomni_reference_task_typeparameter: set it toeditorextendand the constraints are checked at submit time. The docs add that the model still reads the prompt, and if what it decides doesn't match the value you set, the task fails anyway. For edit prompts that tend to work, see Writing Seedance 2.5 video edit prompts.
The official error code for this kind of asynchronous mismatch is InvalidParameter.TaskTypeConstraint, and we have seen that code in our errors too.
Can I use first/last frames together with references?
The parameter `content` specified in the request is not valid: first/last frame content cannot be mixed with reference media content.
No. We saw this one on 2.0 Mini. First frame / first-and-last frame is one task type and omni reference is another; a request can only be one of them.
On XinYu AI, attaching a reference video or audio switches the node to "Multimodal Ref" automatically. If you then try to switch back to "Start/End Frame", you'll be asked to remove them first.
How many references can Seedance 2.5 take?
Official figures (BytePlus, "Dreamina Seedance 2.5 tutorial"):
| Asset | Count | Duration |
|---|---|---|
| Reference images (omni reference) | 1–30 | — |
| Reference videos | up to 10 | 2–30 s each (4–30 s for editing), total ≤ 30 s |
| Reference audio | up to 10 | 2–30 s each, total ≤ 30 s |
| First frame / first and last frame | 1 / 2 images | — |
The 2.5 overview puts it as: reference images up from 9 to 30, reference audio or video up from 3 to 10, total duration up from 15 to 30 seconds. XinYu AI uses the limits above for 2.5. For Seedance 2.0, 2.0 Fast and 2.0 Mini, XinYu AI allows 9 reference images, 3 reference videos and 3 reference audio clips, with video and audio each held to a 15-second total.
Official format and size requirements (2.5):
| Asset | Formats | Size and other limits |
|---|---|---|
| Image | jpeg, png, webp, bmp, tiff, gif, heic, heif | under 30 MB each; 300–6000 px per side; aspect ratio 0.4–2.5 |
| Video | mp4, mov | up to 200 MB each; 407,696–8,295,044 pixels per frame; 24–60 fps |
| Audio | wav, mp3 | up to 15 MB each |
The whole request body can't exceed 64 MB. We have not filled each count limit to the top to test it (for example, attaching all 30 images). The figures above are the official numbers and our platform settings.
After a rejection
A job rejected upstream is refunded automatically. What you lose is the wait. When the error doesn't name the file, checking sizes, formats and durations against the table at the top is faster than retrying.
More Seedance measurements are on the Seedance model page.
How we tested
- Raw errors: from failed Seedance 2.0, 2.0 Fast, 2.0 Mini and 2.5 jobs on XinYu AI between July and October 2026. Only the upstream error text was taken, with request IDs removed. Sizes come from the error itself or from file metadata, never from the content.
- 30.08 seconds: one controlled test on 2026-09-28, Seedance 2.5, omni reference, 480p, 4-second output, n=1.
- m4a: one file seen rejected (retried once, rejected both times).
- Official figures: BytePlus, "Dreamina Seedance 2.5 tutorial", as read on 2026-11-01.
- Our inferences, not upstream wording: format detected from contents;
aacis the codec; the 300 px and 90,000 px errors are two separate checks; 15.2 s includes a tolerance; container duration follows the longer track; "leave out edit/extend words" is derived from the official trigger conditions.