skip to content
two endpoints · zero browser

Render demos from your CI.

Create a render from a saved project, then poll for a signed MP4 URL. Idempotent retries, HMAC-signed downloads. Pro and Team plans.

HMAC-signed URLs·p95 ~25m render·EU-only data
POST /v1/renders
curl -X POST https://api.demoscreen.co/v1/renders \
  -H "X-API-Key: $DEMOSCREEN_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "project_id": "<uuid>" }'

# → 202 Accepted
# { "job_id": "job_4kf2L", "status": "pending" }
authentication

Send X-API-Key: ds_live_… on every request. Manage keys from your account settings. Keys belong to a workspace on Pro or Team, are shown once when created, and every render they start spends that workspace's credits.

endpoints · 2
POST/v1/renders
Create a render job for a saved project. Idempotent via the Idempotency-Key header. Reserves the video's credits; 402 insufficient_credits when the workspace can't cover it; 422 content_policy for products about drugs, sexual content or violence (see /terms); 409 mostly_silent when more than half the posted beats have an empty vo — resend with "allow_silent": true to render it anyway.
GET/v1/renders/{id}
Poll job status. Returns signed MP4 + SRT URLs when the render succeeds.

SDK to follow — curl suffices in the meantime. Webhooks are on the roadmap.