References

Images, video and audio, mixed inputs, editing, extension and drafts.

Supported inputs

For reusable images, use the separate library when enabled for your account and model. In JSON requests, a ready asset://<id> can be passed in input_reference, image_urls or image_with_roles[].url. Library uploads have different limits from the HTTPS references below: one JPEG/PNG, at most 10 MiB and 36 megapixels.

The table describes model capabilities. Availability depends on your assigned connection and key. These examples describe accepted request shapes; confirm advanced mode access before placing an order.

ScenarioSupport
Text to videoAll four models
Image to videoFirst frame, first and last frames, or reference images; Mini/Fast require text; their audio references also require an image or video
Image + video + audioSupported together
Audio without image/video2.5 only
Edit and extend2.5 with omni_reference_task_type
Draft and final upgrade2.5

References use extension fields: image_urls, video_urls and audio_urls contain HTTPS URLs. Use image_with_roles: [{"url":"REFERENCE_URL","role":"first_frame"}] for image roles reference_image, first_frame or last_frame. Multipart video uploads are not supported. These modes require reference access on your connection.

Do not mix first/last-frame images with reference_image. On 2.5, frame roles can accompany video or audio references; on other models, they cannot. Use at most one image for each frame role; a last frame needs a first frame. Use aspect_ratio: "adaptive" for frame mode, editing and extending. Crop or pad the first image in advance to obtain the intended proportions.

File requirements

InputFormats and size
ImageJPEG, PNG, WebP, BMP, TIFF, GIF, HEIC or HEIF; less than 30 MB
VideoMP4 or MOV; at most 200 MB; 24–60 fps
AudioWAV or MP3; at most 15 MB

Images and videos must be 300–6000 pixels in width and height, with width/height from 0.4 to 2.5. Video also needs 407,696–8,295,044 pixels per frame. MP4 supports H.264/AVC or H.265/HEVC video with AAC or MP3 audio; MOV also permits PCM audio.

Use direct HTTPS file URLs accessible without login, cookies or extra authorization headers. Local paths and media viewer pages do not work. A signed URL must remain valid while the service retrieves the input; do not log its access parameters.

ModelMaximum imagesMaximum videosMaximum audio clipsDuration of each video/audio and separate total limits
2.0/Mini/Fast9332–15 s per clip, at most 15 s total for each media type
2.53010102–30 s per clip, at most 30 s total for each media type

A 2.5 editing input video must be 4–30 seconds. Audio references and generated output audio are separate settings.

Reference examples

Replace all example URLs with your media. Each new POST creates a separate potentially billable task. The examples use English prompts, supported by all listed models.

Image reference

json
{
  "model": "seedance-2.5",
  "resolution": "720p",
  "generate_audio": true,
  "prompt": "Animate the landscape in the image. Preserve the house, mountain outlines, shoreline and colors. The camera smoothly moves forward, water ripples gently and clouds drift slowly. One continuous shot, no location changes or captions.",
  "image_with_roles": [
    {
      "url": "REFERENCE_REFERENCE_JPG_URL",
      "role": "reference_image"
    }
  ],
  "seconds": "30",
  "aspect_ratio": "adaptive"
}

Two images: subject and setting

json
{
  "model": "seedance-2.5",
  "resolution": "720p",
  "generate_audio": false,
  "prompt": "Use the vase shape and color from the first image and the room from the second. The vase stands on a table in this room. The camera slowly moves closer. Preserve the object and interior, no captions.",
  "image_with_roles": [
    {
      "url": "REFERENCE_PRODUCT_JPG_URL",
      "role": "reference_image"
    },
    {
      "url": "REFERENCE_ROOM_JPG_URL",
      "role": "reference_image"
    }
  ],
  "seconds": "10",
  "aspect_ratio": "16:9"
}

First and last frames

json
{
  "model": "seedance-2.5",
  "resolution": "720p",
  "prompt": "The camera smoothly moves from the door to the window. Preserve the interior and lighting, without abrupt scene cuts.",
  "image_with_roles": [
    {
      "url": "REFERENCE_FIRST_JPG_URL",
      "role": "first_frame"
    },
    {
      "url": "REFERENCE_LAST_JPG_URL",
      "role": "last_frame"
    }
  ],
  "seconds": "8",
  "aspect_ratio": "adaptive"
}

For a first frame only, remove the last-frame element.

Video reference

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "reference",
  "resolution": "720p",
  "generate_audio": false,
  "prompt": "Use the camera movement and pacing from @Video1. Create a new scene with a red bicycle on a city street.",
  "video_urls": ["REFERENCE_CAMERA_MP4_URL"],
  "seconds": "12",
  "aspect_ratio": "16:9"
}

Audio-only reference on 2.5

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "reference",
  "resolution": "720p",
  "generate_audio": true,
  "audio_urls": ["REFERENCE_MUSIC_MP3_URL"],
  "seconds": "10",
  "aspect_ratio": "16:9"
}

Image, video and audio together

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "reference",
  "resolution": "720p",
  "generate_audio": true,
  "prompt": "Create a new scene: the character from @Image1 walks along the waterfront. Use camera movement from @Video1 and the rhythm of @Audio1. One continuous shot.",
  "image_with_roles": [
    {
      "url": "REFERENCE_CHARACTER_PNG_URL",
      "role": "reference_image"
    }
  ],
  "video_urls": ["REFERENCE_MOTION_MP4_URL"],
  "audio_urls": ["REFERENCE_RHYTHM_MP3_URL"],
  "seconds": "12",
  "aspect_ratio": "adaptive"
}

For explicit mixed-reference intent on 2.5, use omni_reference_task_type: "reference" and describe a new scene based on the supplied references. adaptive is a useful starting ratio.

Mixed references, 30 seconds

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "reference",
  "resolution": "720p",
  "generate_audio": true,
  "watermark": false,
  "output_format": "mp4",
  "prompt": "Create a new 30-second scene. The object from @Image1 stands on a table by a window. For the first 10 seconds the camera moves closer, for the next 10 it orbits the object, and for the last 10 it gently stops. Use the camera movement style from @Video1 and the rhythm of @Audio1. Preserve the object shape and lighting, no captions.",
  "image_with_roles": [
    {
      "url": "REFERENCE_PRODUCT_PNG_URL",
      "role": "reference_image"
    }
  ],
  "video_urls": ["REFERENCE_CAMERA_MP4_URL"],
  "audio_urls": ["REFERENCE_RHYTHM_WAV_URL"],
  "seconds": "30",
  "aspect_ratio": "adaptive"
}

Edit a video

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "edit",
  "resolution": "720p",
  "prompt": "In @Video1 change the car color to dark green, preserving its motion, camera angle and scene duration.",
  "video_urls": ["REFERENCE_ORIGINAL_MP4_URL"],
  "seconds": "-1",
  "aspect_ratio": "adaptive"
}

Editing requires seconds: "-1" and aspect_ratio: "adaptive".

Extend a video

json
{
  "model": "seedance-2.5",
  "omni_reference_task_type": "extend",
  "resolution": "720p",
  "prompt": "Continue @Video1 forward: the cyclist crosses the intersection and turns into a park. Preserve the character, lighting and camera movement.",
  "video_urls": ["REFERENCE_OPENING_MP4_URL"],
  "seconds": "8",
  "aspect_ratio": "adaptive"
}

Specify what happens after the input clip, with an integer duration from 4 to 30 or -1.

Create a draft

json
{
  "model": "seedance-2.5",
  "draft": true,
  "resolution": "480p",
  "prompt": "A white cup rotates on a table under soft studio lighting. A smooth continuous shot.",
  "seconds": "6",
  "aspect_ratio": "16:9"
}

Wait for completed and inspect the draft before upgrading.

Upgrade a draft

json
{
  "model": "seedance-2.5",
  "output_format": "mov",
  "draft_task_id": "<DRAFT_TASK_ID>"
}

The final task gets a new ID and uses 1080p. Duration, ratio, seed, prompt, input media, audio and reference task type are inherited from the draft; do not send them again. You can set output_format and watermark; their defaults are mp4 and false, and they do not inherit. Do not send draft: true for an upgrade.

Use a successful draft from the same account and model, created at most 7 days ago. A draft can be upgraded more than once; each upgrade is a separate billable task.

MOV is intended for editing. Some outputs require a player or editor that supports H.264 4:4:4 and PCM; use VLC, IINA or mpv if browser playback fails.