frame_images or image_url? Image-to-video fields on Sume's two APIs

Sume's /v1/videos uses frame_images and input_references; /v1/video-router/generate uses image_url, end_image_url and reference_*_urls. A field-by-field map.

5 min readSume
All posts

On POST /v1/videos you pass images as frame_images (first or last frame) and input_references (style or content). On POST /v1/video-router/generate the same jobs use flat fields: image_url, end_image_url and reference_image_urls. Both paths create the same jobs with the same model ids, so a migration is a path-and-body change.

Field map

The Sume docs recommend /v1/videos for new integrations and keep the Video Router unchanged. Responses differ in envelope: Video Router returns Sume's { "data": ... } job envelope, and /v1/videos returns the OpenRouter-style shape with polling_url and unsigned_urls.

Equivalent fields on Sume's video APIs, as of 2026-10-09
IntentPOST /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
Reference imagesinput_references[] type image_urlreference_image_urls
Reference videoinput_references[] type video_urlreference_video_urls
Reference audioinput_references[] type audio_urlreference_audio_urls
Edit source (Omni)video_url via the Video Routervideo_url
Retry safetyIdempotency-Key headerIdempotency-Key header

What happens when you mix modes

On /v1/videos, if a request has both frame_images and input_references, frame_images controls the mode and Sume processes it as image-to-video. A model accepts a reference type only if its supported_input_references lists it. Seedance 2.x, Wan 3.0, MiniMax H3 and H3 Max accept audio and video references; Gemini Omni Flash 1.1 accepts image and video references but not audio.

Not every row mixes modes. The catalog marks Omni as treating a lone reference image with no first or end frame as reference-to-video, and keeps video_url edit requests exclusive of every image field.

  • Read supported_frame_images and supported_input_references from GET /v1/videos/models before you build a request.
  • Image URLs must be public HTTPS and in supported formats.
  • Send Idempotency-Key on every retryable submit.

A minimal migration

To move a Video Router first-frame body to the newer endpoint, wrap image_url as a frame_images entry:

{
  "model": "wan-3.0",
  "prompt": "A paper boat drifts down a rain gutter",
  "duration": 5,
  "frame_images": [
    {
      "type": "image_url",
      "image_url": {"url": "https://example.com/boat.png"},
      "frame_type": "first_frame"
    }
  ]
}

Which wire to pick

New integrations should use /v1/videos: it is the OpenRouter-compatible shape, it accepts sume/auto, and it reports jobs through polling_url. Existing Video Router callers do not have to migrate; Sume says that API stays available and does not change.

Either way, the same job is visible at GET /v1/jobs/{id}/status and GET /v1/jobs/{id}/result, so one status poller can watch jobs created by both.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume