Quickstart
Create and export your first short-form clip from a YouTube URL or workspace asset.
This quickstart uses the managed /clips workflow. It handles source ingest, transcription, short suggestion selection, vertical layout, captions, QA, and export through one state machine.
1. Get An API Key
Create a live API key in your workspace:
Dashboard → Workspace → AI → API Keys
Only workspace owners/admins can create keys.
export BLITZREELS_API_KEY="br_live_..."
curl https://www.blitzreels.com/api/v1/auth/validate \
-H "Authorization: Bearer $BLITZREELS_API_KEY"2. Create A Clip
Start with a YouTube source:
CLIP=$(curl -s -X POST https://www.blitzreels.com/api/v1/clips \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"project_name": "Demo short",
"source": {
"source_type": "youtube",
"youtube_url": "https://www.youtube.com/watch?v=VIDEO_ID"
},
"selection": {
"selection_mode": "auto_best"
},
"target": {
"aspect_ratio": "9:16",
"min_duration_seconds": 8,
"max_duration_seconds": 45
},
"layout": {
"layout_mode": "auto",
"content_type_hint": "auto"
},
"captions": {
"enabled": true
},
"qa": {
"qa_mode": "permissive"
},
"export": {
"auto_export": false
}
}')
CLIP_ID=$(echo "$CLIP" | jq -r '.clip.clip_id')If the source is already in your workspace media library, send "source_type": "asset" with "asset_id": "MEDIA_ASSET_ID" instead of youtube_url.
3. Poll Until Action Is Needed
curl https://www.blitzreels.com/api/v1/clips/$CLIP_ID \
-H "Authorization: Bearer $BLITZREELS_API_KEY"Follow clip.next_action:
pollmeans keep polling.reselectmeans choose a different suggestion or provide a time range.repairmeans run one repair pass.exportmeans the clip is ready to render.stopmeans the workflow is finished or failed.
4. Reselect Or Repair If Needed
Choose a specific suggestion:
curl -X POST https://www.blitzreels.com/api/v1/clips/$CLIP_ID/reselect \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"selection": {
"selection_mode": "suggestion",
"suggestion_id": "SUGGESTION_ID"
}
}'Or run a repair pass:
curl -X POST https://www.blitzreels.com/api/v1/clips/$CLIP_ID/repair \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"repair_mode":"auto"}'5. Export
When next_action is export:
curl -X POST https://www.blitzreels.com/api/v1/clips/$CLIP_ID/export \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"resolution": "1080p",
"format": "mp4"
}'Poll the clip again until clip.export.status is ready, then use clip.export.download_url.
CLI Shortcut
The same flow is available from the CLI:
blitzreels clips create \
--source-type youtube \
--youtube-url "https://www.youtube.com/watch?v=VIDEO_ID" \
--name "Demo short" \
--min-duration 8 \
--max-duration 45 \
--qa-mode permissive \
--json
blitzreels clips wait --clip-id CLIP_ID --json
blitzreels clips export --clip-id CLIP_ID --resolution 1080p --format mp4