Seedance 2.5 first frame plus references in one request: 400

On Sume's Video Router, image_url plus reference_*_urls returns 400 for seedance-2.5. Pick image-to-video or reference-to-video; /v1/videos lets frames win.

4 min readSume
All posts

Seedance 2.5 on Sume works in one mode per request. On the Video Router, sending a first frame (image_url) together with any reference_image_urls, reference_video_urls or reference_audio_urls returns a 400: "Use either first/end frame fields or reference_*_urls, not both." On POST /v1/videos the same mix is not an error; frame_images takes precedence and the request becomes image-to-video.

The /v1/videos rule is in Video generation; the Video Router rule is in Sume's request schema (see Video Router and the API reference). ByteDance Seed presents foundational generation and reference-based generation as the model's two centres (launch post, read 2026-10-02).

What does each endpoint do with a mixed request?

The outcome differs by endpoint, so a body that works on one can fail on the other.

Frame fields plus reference fields on seedance-2.5, from Sume docs and request validation (read 2026-10-02).
RequestPOST /v1/videosPOST /v1/video-router/generate
First frame + reference imagesImage-to-video; references ignored400: frame fields or references, not both
End frame only400: last_frame needs a first_frame400: end_image_url requires image_url
First + end frameImage-to-videoImage-to-video
References only (2+ images, or video/audio)Reference-to-videoReference-to-video

Which mode should I pick?

Use a first frame when the clip must begin on that exact picture. Use references when the images should guide identity, style or props without pinning frame zero. If you want both effects, generate the first shot as image-to-video and use a frame or clip from it as a reference in the next request; this takes two jobs, not one.

A single reference image is still reference-to-video. One image to Seedance: reference, or first frame? covers that edge.

What does the corrected request look like?

Image-to-video on the Video Router, with a first and an end frame and nothing else in the reference family.

{
  "model": "seedance-2.5",
  "prompt": "The door opens and the room fills with light",
  "image_url": "https://example.com/door-closed.jpg",
  "end_image_url": "https://example.com/door-open.jpg",
  "duration": 8,
  "resolution": "720p"
}

Why a 400 and not a quiet pick?

Because silently dropping one family would bill you for a clip that ignores half your inputs. The refusal happens at validation, before a job exists, so you can fix the body and send it again. The first-frame mechanics are in Seedance 2.5 image to video: first and last frame.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume