Skip to main content

Introduction

Seedance 2.0 supports text-to-video, image-to-video (first/last frame), multi-modal references, and a face-consistency asset library. Unified access via tennda AI gateway; Base URL: https://api.tennda.ai.

Authentication

All endpoints: Authorization: Bearer sk-xxxxxxxxxx, Content-Type: application/json.
Map each asset:// by asset_type to image_url, video_url, or audio_url—do not put everything in image_url. Assets must be created from public https URLs only (no Base64 / Data URI).

Asset library types

Recommended: create group → Create asset → poll until status: activeCreate video generationGet video generation.

Endpoints

Video generation

Create video generation

POST /v1/video/generations

Get video generation

GET /v1/video/generations/

Get moderation result

GET /v1/video/generations/moderation-result/

Asset library (aigc)

Create asset group

POST /v1/asset-groups

List asset groups

GET /v1/asset-groups

Delete asset group

DELETE /v1/asset-groups/

Create asset

POST /v1/assets

List assets

GET /v1/assets

Get asset

GET /v1/assets/

Delete asset

DELETE /v1/assets/

Liveness face

Create asset group (liveness)

POST /v1/visual-validate/session
POST /v1/visual-validate/result is for the H5 callback page only; applications should not call it directly.
  1. Optional: create group → create asset → poll until status: active (usually 1–3 minutes)
  2. POST /v1/video/generations
  3. GET /v1/video/generations/{task_id} every ~5s until completed (usually 30–120s)
  4. On moderation failed, see Get moderation result
See also Submit video task.

Common HTTP status codes

Gateway validation errors use error.type: invalid_request_error. BytePlus errors are passed through with error.code (e.g. InvalidParameter) and a param field path.