Seedance Video Generation

Native Volcengine Ark task protocol: submit, then poll the same path; applies to all doubao-seedance models

POST/api/v3/contents/generations/tasks

Seedance / Doubao video generation uses the native Volcengine Ark task protocol, transparently forwarded: request body, response body and status values are identical to the official Ark API; just replace authentication with your MaiToken API Key. Available model names (e.g. doubao-seedance-2-0, doubao-seedance-1-5-pro, doubao-seedance-1-0-pro) come from List Models.

Authorizations

Authorizationstring必填

Bearer Token authentication.

Authorization: Bearer YOUR_API_KEY

Submit a task

POST /api/v3/contents/generations/tasks

Request headers match the official Ark API: only Authorization: Bearer <token> and Content-Type: application/json (Seedance officially supports API Key auth only — no other special headers). Native Ark body:

  • model (required)
  • content (required): array of type: "text" (prompt; parameter directives like --resolution 720p --duration 5 may be appended) and type: "image_url" items — image_url.url accepts public URLs, Base64 data URIs or asset://<ASSET_ID> for library assets (see Virtual Avatar Assets); role may be first_frame / last_frame / reference_image
  • Other parameters follow the official Ark documentation and are forwarded as-is: resolution / duration / ratio / seed / watermark / camera_fixed / generate_audio / return_last_frame / service_tier (default / flex) / callback_url (status-change callback), etc.

Query a task

GET /api/v3/contents/generations/tasks/{id}

Native Ark task object; status values (native Ark): queued / running / succeeded / failed / cancelled / expired. On success, content.video_url holds the generated video (valid for 24 hours — download promptly); with return_last_frame: true the last frame is in content.last_frame_url.

List tasks

GET /api/v3/contents/generations/tasks?page_num=1&page_size=20

Native Ark list endpoint with filter.status, filter.task_ids, filter.model etc. (page_num / page_size range 1–500); the response is items[] + total.

Cancel / delete a task

DELETE /api/v3/contents/generations/tasks/{id}

Native Ark semantics: for queued tasks this cancels (status becomes cancelled); for succeeded / failed / expired tasks it deletes the record; running and cancelled tasks do not support this operation. Returns an empty JSON {} on success.

Notes

  • Query with the same API Key used for submission; task Ids are queryable for 7 days, then 404 task_not_found
  • Endpoints outside the whitelist return 404 unsupported_endpoint
  • Poll every 5–10 seconds until a terminal state (succeeded / failed)
  • asset:// references require the asset to be Active — see Virtual / Real-Person assets
  • Full field definitions follow the official Volcengine Ark documentation; the platform performs no field rewriting