Docs
Using the API
Base URL: http://localhost:3456/api/v1. All requests and responses are JSON.
Authentication
Send your key as a bearer token on every request.
Authorization: Bearer YOUR_API_KEYMissing or invalid keys return 401 with authentication_error.
The async flow
POST /api/v1/videosvalidates the request, charges credits, and returns202with a video object inprocessing.- Poll
GET /api/v1/videos/:idevery 5 to 10 seconds. Thestageandprogressfields move as the script is written and Seedance renders. - When
statusissucceeded, downloadoutput_url. Onfailed, credits are already refunded anderrorexplains why.
Renders typically take 2 to 5 minutes. The SDKs wrap polling in waitForOutput / wait_for_output.
Dry runs
Add "dry_run": true to validate a request and see the price without rendering or charging. Use this in tests and CI.
curl -X POST http://localhost:3456/api/v1/videos \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"character_id":"your-character-id","story":"A weekday product demo","duration":6,"dry_run":true}'Versioning
Responses carry an Arclight-Version header. The current version is 2026-09-01. See API versions.
Next