Tài liệu

Seedance Video Generation API Reference

Walkthrough using bytedance/seedance-2.0 (Seedance 2.0): submit, poll, and download.

FieldValue
Base URLhttps://token.easyapi.com
AuthenticationAuthorization: Bearer `API_KEY`
Example modelbytedance/seedance-2.0
FormatREST JSON (async jobs)
BillingPay as you go
Note: Seedance 2.0 supports 4–15s duration and 480p / 720p / 1080p. Flow: submit → poll job_id → download or use video_url.

Example model

Examples below use bytedance/seedance-2.0 (Seedance 2.0). Replace model and adjust size, quality, etc. per console docs when switching models.

Submit video generation job

POSThttps://token.easyapi.com/v1/videos

Submit an async Seedance 2.0 job; returns 202 with job_id (e.g. vid_seedance_8f3a2b1c). Use Idempotency-Key to avoid duplicates.

Request parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesEasyAPI API Key. Format: Bearer `API_KEY`
Content-TypeheaderstringYesRequest body format, always application/json
Idempotency-KeyheaderstringNoIdempotency key; duplicate submits with the same key return the first job without creating a new one

Request body

NameTypeRequiredDescription
modelstringYesModel ID, e.g. bytedance/seedance-2.0
promptstringYesVideo prompt: subject, motion, scene, camera, style
durationintegerNoSeedance 2.0 supports 4–15 seconds
resolutionstringNoOutput resolution: 480p, 720p, or 1080p
aspect_ratiostringNoAspect ratio: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, or adaptive
generate_audiobooleanNoWhether to generate audio
seedintegerNoRandom seed, -1 to 4294967295; same seed does not guarantee identical output
sizestringNoExact output size, e.g. 1280x720 (720p + 16:9)
metadataobjectNoOpaque metadata for audit or source tagging
webhook_urlstringNoWebhook URL on completion or failure

Example

{
  "model": "bytedance/seedance-2.0",
  "prompt": "一只金毛犬在阳光明媚的海滩上奔跑,镜头缓慢跟随,电影感画面",
  "duration": 6,
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "generate_audio": false
}

Response example

{
  "job_id": "vid_seedance_8f3a2b1c",
  "model": "bytedance/seedance-2.0",
  "status": "queued",
  "created_at": 1718452800
}

Query job status

GEThttps://token.easyapi.com/v1/videos/{job_id}

Example request: https://token.easyapi.com/v1/videos/vid_seedance_8f3a2b1c

Poll Seedance 2.0 job vid_seedance_8f3a2b1c; read video_url when status is completed.

Request parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesEasyAPI API Key. Format: Bearer `API_KEY`
job_idpathstringYesJob ID from submit, e.g. vid_seedance_8f3a2b1c

Response example

{
  "job_id": "vid_seedance_8f3a2b1c",
  "model": "bytedance/seedance-2.0",
  "status": "completed",
  "progress": 100,
  "video_url": "https://cdn.example.com/videos/vid_seedance_8f3a2b1c.mp4",
  "duration": 6,
  "resolution": "720p"
}

Download video

GEThttps://token.easyapi.com/v1/videos/{job_id}/content

Example request: https://token.easyapi.com/v1/videos/vid_seedance_8f3a2b1c/content

After vid_seedance_8f3a2b1c is completed, download the MP4 stream; or use video_url from the status response.

Request parameters

NameInTypeRequiredDescription
AuthorizationheaderstringYesEasyAPI API Key. Format: Bearer `API_KEY`
job_idpathstringYesCompleted job_id, e.g. vid_seedance_8f3a2b1c
Response: HTTP 200 binary stream with Content-Type video/mp4; errors return JSON.