Skip to main content
Seedance 2.0 is ByteDance’s latest video generation model available through Upmore API. It supports text-to-video, image-to-video, multimodal reference input, video editing, video extension, and synchronized audio generation.

Key capabilities

Output specifications

Workflow

Examples

[!WARNING] Read this before using the examples below. Through the Upmore gateway (/v1/video/generations), the example bodies on this page do not work as-is: top-level content, duration, generate_audio, ratio, … are envelope fields, and only model, prompt, images, seconds and metadata are honored. See Passthrough via metadata — that is the format that actually reaches the model.

Passthrough via metadata

The gateway forwards everything inside metadata to the model verbatim — this is how you use the full native Seedance API (roles, duration, all options) through Upmore. Send a JSON body like this:
Rules and pitfalls:
  1. Images go in metadata.content with a role, not in top-level images. Top-level images are forwarded as plain reference images without role, so first-frame/last-frame locking and character references do not work through that path. If metadata.content is present, it replaces any top-level images entirely — do not mix the two.
  2. Duration goes in metadata.duration. A top-level duration field is dropped by the gateway envelope; only metadata.duration (or top-level seconds as a string) controls the video length. Sending "duration": 45 at the top level silently falls back to the model default.
  3. The prompt goes in the top-level prompt field. It is injected into the content array as the single text item; text items inside metadata.content are dropped. metadata.model is ignored (removed before passthrough).
  4. Use a JSON body, not multipart form-data — the content array only round-trips correctly as JSON.
  5. return_last_frame is currently not usable through this endpoint: the model generates the last frame, but task polling only returns video_url.
  6. Billing is unaffected: resolution tiers and video-input surcharges are read from metadata, and settlement recalculates from the actual token usage reported by the model.

Text-to-video

Multimodal reference (image + video + audio)

cURL

Video editing

cURL

Web search enhanced (text-to-video only)

cURL

Parameters

[!NOTE] The table above documents the native Seedance parameters (as carried inside metadata). Through the gateway envelope, pass each of them as metadata.<name> — e.g. metadata.duration, metadata.content[].role — as described in Passthrough via metadata.

Input modes

Note: First frame, first+last frame, and multimodal reference are mutually exclusive — do not mix them in the same request.

Resolution pixel values

API Reference

View the interactive API playground.