TokenRa
中文Get API Key

Video model · ByteDance

Seedance 2.0 Fast API

Seedance 2.0 Fast is the lower-cost Fast model of ByteDance's Seedance 2.0 series. It takes the same requests as Seedance 2.0 Pro: create a task, then poll it until the video URL is ready.

Model ID
seedance-2-0-fast
Input
Text, images
Output
Video with audio
Mode
Async task

Capabilities

Capabilities & endpoints

Video generation is asynchronous: create a task, then poll it. A 4-second 480p clip took 3.5 to 4 minutes in testing.

POSThttps://tokenra.io/v1/video/generationsTested
Create a task. Returns task_id immediately.
GEThttps://tokenra.io/v1/video/generations/{task_id}Tested
Query the task. The video link is in data.result_url when data.status is SUCCESS.

Modes

Generation modes

All three request shapes produced a video on 2026-10-23.

A. Text to video

Only a prompt. Output settings go in metadata.

POST /v1/video/generations
{
  "model": "seedance-2-0-fast",
  "prompt": "A paper boat drifting down a rainy neon street at night, cinematic close-up",
  "metadata": {
    "resolution": "720p",
    "ratio": "16:9",
    "duration": 5
  }
}

B. Image to video (first frame)

Put image URLs in images; one image is used as the first frame.

POST /v1/video/generations
{
  "model": "seedance-2-0-fast",
  "prompt": "The girl in the picture turns around and smiles",
  "images": ["https://example.com/first-frame.png"],
  "metadata": {"resolution": "720p", "duration": 5}
}

C. Reference images

To give images a role, send Volcengine Ark content items inside metadata. The prompt is added as the text item automatically.

POST /v1/video/generations
{
  "model": "seedance-2-0-fast",
  "prompt": "The character from image 1 walks into the room from image 2",
  "metadata": {
    "resolution": "720p",
    "ratio": "16:9",
    "content": [
      {
        "type": "image_url",
        "image_url": {"url": "https://example.com/character.png"},
        "role": "reference_image"
      },
      {
        "type": "image_url",
        "image_url": {"url": "https://example.com/room.png"},
        "role": "reference_image"
      }
    ]
  }
}

Request

Request parameters

Put output settings in metadata
Top-level resolution, ratio and duration are ignored for Seedance 2.0. A test on 2026-10-23 with top-level ratio: "9:16" and duration: 4 produced a 16:9, 5-second video, while metadata.resolution was applied. With the same values in metadata, the video was 9:16 and 4 seconds long.

Top-level fields

ParameterTypeRequiredDescription
modelstringYesseedance-2-0-fast. seedance-2-0-pro and seedance-2-0-mini take the same parameters.
promptstringYesDescribe the scene, the motion and the camera.
imagesstring[]NoImage URLs. Plain strings only; use metadata.content when you need roles.
metadataobjectNoOutput settings and Ark-native fields, see the next table.

metadata fields

ParameterTypeRequiredDescription
resolutionstringNo480p, 720p or 1080p; 480p was tested. Also decides the price.
ratiostringNo16:9, 9:16, 4:3, 3:4, 1:1, 21:9 or adaptive. 16:9 and 9:16 were tested.
durationintegerNoLength in seconds, 4 to 15. Default 5; 4 was tested.
generate_audiobooleanNoGenerate a matching soundtrack. On by default: every test video had an audio track.
seedintegerNoRandom seed for repeatable results.
camera_fixedbooleanNoKeep the camera still.
watermarkbooleanNoAdd the upstream watermark.
contentarrayNoArk material items: image_url with role such as first_frame, last_frame or reference_image.

Response

Response format

Create response

200 OK
{
  "id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa",
  "task_id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa",
  "object": "video",
  "model": "seedance-2-0-fast",
  "status": "queued",
  "progress": 0,
  "created_at": 1792766873
}

Query response

200 OK
{
  "code": "success",
  "message": "",
  "data": {
    "task_id": "task_FUhA4FK80TV1p70mpHlyZXCxeHR0dPPa",
    "action": "generate",
    "status": "SUCCESS",
    "fail_reason": "",
    "result_url": "https://example.com/output.mp4",
    "submit_time": 1792766873,
    "start_time": 1792766890,
    "finish_time": 1792767085,
    "progress": "100%",
    "data": {"resolution": "720p", "ratio": "16:9", "duration": 5, "...": "..."}
  }
}

data.data holds the raw upstream task, including the resolution, ratio and duration that were actually used.

data.statusMeaning
NOT_START / SUBMITTED / QUEUEDAccepted, waiting to start.
IN_PROGRESSGenerating.
SUCCESSDone. Download result_url.
FAILUREFailed. The reason is in fail_reason; the pre-charged amount is refunded.

Errors

Errors & limits

Common errors

HTTPerror.codeMeaningWhat to do
401—Missing, wrong or deleted API key. The message is Invalid token.Check the Authorization: Bearer header and the key in the console.
400—The body is not valid JSON.Fix the JSON and send Content-Type: application/json.
500invalid_requestA required field is missing, for example messages.Add the field named in the message. Retrying will not help.
403insufficient_user_quotaYour balance or plan quota is used up.Top up in the console, then retry.
503model_not_foundUnknown model ID, or no channel serves it for your group.Check the ID in the model list or with GET /v1/models.
429—Too many requests.Back off exponentially and retry.
5xx—The upstream provider failed or timed out.Retry a few times; keep the request id if it persists.

Limits and notes

  • Poll every 10–15 seconds. Test tasks (4 s, 480p) finished in 3.5 to 4 minutes.
  • result_url is a temporary link. Download and store the video yourself.
  • The price depends on metadata.resolution and on whether a video reference is included. See the live rate in the Model Square.