The DemoTonight API
Create videos programmatically: send a URL and a one-sentence goal, poll until it's delivered, download the files. Available on the Scale plan — generate your key in Settings → API access.
Authentication
Every request carries your key as a bearer token. Keys are shown once at generation and can be revoked anytime.
Authorization: Bearer dt_live_...
Create a video
One delivered video consumes one credit, exactly like the app. By default the AI-written storyboard auto-approves and filming runs unattended (autoApprove: false pauses at storyboard_ready for review in the app). Failed shoots auto-refund.
curl -X POST https://demotonight.com/api/v1/videos \
-H "Authorization: Bearer dt_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://app.yourproduct.com",
"goal": "Show how to create and send an invoice, ending on the paid status.",
"title": "How to send your first invoice",
"wantVertical": true
}'
# 201 → { "video": { "id": "...", "status": "brief", ... } }Poll status
curl https://demotonight.com/api/v1/videos/VIDEO_ID \
-H "Authorization: Bearer dt_live_..."
# status: brief → exploring → approved → shooting → delivered
# when delivered, "files" appears:
# { "mp4": "...", "mp4Vertical": "...", "captionsSrt": "...",
# "captionsVtt": "...", "publishKit": "...", "thumbnail": "..." }List videos
curl https://demotonight.com/api/v1/videos \ -H "Authorization: Bearer dt_live_..."
Notes
- File URLs are share-token links — valid without authentication, so treat them as private.
- A typical video is delivered in 15–30 minutes; poll every 60 seconds or less often.
- Filming products behind a login requires credentials in your vault — set them up in the app, then brief via the app for now (API credential support is planned).
- Rate limit: be reasonable; the crew films sequentially and your plan's monthly credits apply.
Building something on this? Email support — API customers get direct help.