Skip to main content
POST
https://seedance2-pro.com
/
api
/
v1
/
jobs
/
createTask
Text to Video | Seedance2 API - AI Video Generation
curl --request POST \
  --url https://seedance2-pro.com/api/v1/jobs/createTask \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "inputs": {
    "prompt": "<string>",
    "resolution": "<string>",
    "duration": "<string>"
  },
  "callBackUrl": "<string>"
}
'

Endpoint

POST https://seedance2-pro.com/api/v1/jobs/createTask

Headers

HeaderValueRequired
AuthorizationBearer YOUR_API_KEYYes
Content-Typeapplication/jsonYes

Request Body

model
string
required
Must be seedance-20
inputs
object
required
callBackUrl
string
Optional webhook URL for completion notification.

Credits

DurationCreditsCost
4s160$0.80
5s200$1.00
8s320$1.60
10s400$2.00
15s600$3.00
Formula: duration (seconds) x 40 credits

Example Request

curl -X POST https://seedance2-pro.com/api/v1/jobs/createTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-20",
    "inputs": {
      "prompt": "A serene mountain landscape at golden hour, camera slowly panning right, cinematic",
      "resolution": "1280x720",
      "duration": "5s"
    }
  }'

Response

{
  "taskId": "task_clxxxxxx"
}
A 200 response means the task was created, not completed. Poll the Get Task Status endpoint to retrieve the generated video.

Get Result

Poll until status is success, then read the output array:
{
  "taskId": "task_clxxxxxx",
  "model": "seedance-20",
  "status": "success",
  "output": [
    {
      "url": "https://static.seedance2-pro.com/generated/video.mp4",
      "width": 1280,
      "height": 720
    }
  ]
}
See Get Task Status for full polling documentation.

Next Steps

Image to Video

Generate videos from first frame and last frame images