Create Your First Video with the Seedance API

Submit a Seedance video generation task, save the local task ID, poll its six-state lifecycle and read the final video result.

Last verified: 2026-07-13

Before you start

Create a bearer key using the API key guideand make sure the linked account has at least one generation credit.

1. Create a task

bash
curl https://api.seedanceapi.app/v1/videos/generations \  -H "Authorization: Bearer $SEEDANCE_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "model": "seedance-2-0",    "prompt": "A cinematic tracking shot through an autumn forest",    "duration": 5,    "ratio": "16:9",    "resolution": "720p"  }'
jsonResponse
{  "id": "vid_01jx9w6n8e6r7x9m2p4q",  "object": "video.generation",  "model": "seedance-2-0",  "status": "queued",  "created_at": 1783900000}

2. Poll the local task

bash
curl https://api.seedanceapi.app/v1/videos/vid_01jx9w6n8e6r7x9m2p4q \  -H "Authorization: Bearer $SEEDANCE_API_KEY"

Continue while status is queued or running. Stop on succeeded, failed, cancelled, or expired. Retry a polling HTTP error only when its error envelope has retryable=true.

3. Read the result

json
{  "id": "vid_01jx9w6n8e6r7x9m2p4q",  "object": "video.generation",  "model": "seedance-2-0",  "status": "succeeded",  "result": {    "url": "https://example.com/generated-video.mp4"  },  "created_at": 1783900000,  "completed_at": 1783900120}

Next steps