Seedance 2.5 references: input_references or reference_image_urls?

POST /v1/videos takes frame_images and input_references for seedance-2.5; the Video Router takes image_url and reference_*_urls. The wrong shape gets 400.

5 min readSume
All posts

Which reference field you use for seedance-2.5 depends on the endpoint: POST /v1/videos takes typed input_references and frame_images, while POST /v1/video-router/generate takes flat image_url, end_image_url and reference_image_urls, reference_video_urls, reference_audio_urls. Send the other endpoint's shape and you get a 400 such as "input_references is only accepted on auto- / sume/auto / auto."

Video generation documents the first shape and says frame_images takes precedence if both are present; Video Router says it takes Sume's flat image_url / reference_image_urls fields. The refusals come from Sume's request schemas in the API reference.

Which shape goes with which endpoint?

The model id and the capabilities are the same on both; only the wire differs. The Video Router docs call themselves the legacy path and send new integrations to /v1/videos.

Reference fields for a pinned model such as seedance-2.5, from Sume docs and request schemas (read 2026-10-02).
You wantPOST /v1/videosPOST /v1/video-router/generate
First frameframe_images with frame_type: first_frameimage_url
Last frameframe_images with frame_type: last_frameend_image_url (needs image_url)
Reference imagesinput_references entries with type: image_urlreference_image_urls
Reference videoinput_references entries with type: video_urlreference_video_urls
Reference audioinput_references entries with type: audio_urlreference_audio_urls

What do the two bodies look like?

The same single reference image, once per endpoint.

// POST /v1/videos
{
  "model": "seedance-2.5",
  "prompt": "The mug steams on a windowsill",
  "input_references": [
    {"type": "image_url", "image_url": {"url": "https://example.com/mug.jpg"}}
  ],
  "duration": 6
}

// POST /v1/video-router/generate
{
  "model": "seedance-2.5",
  "prompt": "The mug steams on a windowsill",
  "reference_image_urls": ["https://example.com/mug.jpg"],
  "duration": 6
}

What does the wrong shape return?

A 400 naming the field. On /v1/videos a pinned model refuses reference_image_urls with "reference_image_urls is only accepted on auto- / sume/auto / auto." On the Video Router a pinned model refuses input_references and frame_images with the same wording for those fields. The auto- family is the exception on both: it accepts the other shape too.

The fix is a path-and-body change, not a model change; the docs say the model vocabulary is shared, so no id remapping is needed.

Does a single reference image mean first frame?

No. One reference image is reference-to-video, not image-to-video; a first frame needs the frame field. One image to Seedance: reference, or first frame? explains the difference, and ByteDance's launch post treats reference-based generation as one of the model's two centres (read 2026-10-02).

Sources

Related posts

More in Developers

All Developers posts

Written by Sume