Loading...
Loading...
Video editing workflows with BlitzReels API — upload, transcribe, timeline editing, captions, overlays, backgrounds, export, and source-view ROI-aware reframing for stronger clipping flows.
npx skill4agent add blitzreels/agent-skills blitzreels-video-editingblitzreels-clipping# Upload a video from URL
bash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"
# Add to timeline and transcribe
bash scripts/editor.sh add-media PROJECT_ID MEDIA_ID
bash scripts/editor.sh transcribe PROJECT_ID MEDIA_ID
# Trim, caption, export
bash scripts/editor.sh trim PROJECT_ID ITEM_ID 1.0 -2.0
bash scripts/editor.sh captions PROJECT_ID viral-center
bash scripts/editor.sh export PROJECT_ID --resolution 1080pPOST /projects {"name":"...", "aspect_ratio":"9:16"}editor.sh upload-urleditor.sh add-mediaeditor.sh transcribeeditor.sh contexteditor.sh captions <presetId>editor.sh exportscripts/editor.sh| Command | Usage | Description |
|---|---|---|
| | Upload media from URL |
| | Transcribe + poll until done |
| | Get project context (default: timeline) |
| | Get items at timestamp |
| | Trim item edges |
| | Split item at time |
| | Delete timeline item |
| | Add media to timeline |
| | Add B-roll clip |
| | Apply caption preset |
| | Export + poll + download URL |
bash scripts/editor.sh --helpscripts/blitzreels.sheditor.shbash scripts/blitzreels.sh METHOD /path [JSON_BODY]| Variable | Required | Description |
|---|---|---|
| Yes | API key ( |
| No | Override base URL (default: |
| No | Set to |
| Method | Path | Description |
|---|---|---|
| POST | | Create project |
| GET | | Get project details |
| PATCH | | Update project settings |
| DELETE | | Delete project |
| GET | | List projects |
| Method | Path | Description |
|---|---|---|
| POST | | Import media from URL |
| POST | | Get presigned upload URL |
| POST | | Finalize presigned upload |
| Method | Path | Description |
|---|---|---|
| POST | | Start transcription job |
| GET | | Poll job status |
| GET | | Get transcript |
| POST | | Re-transcribe media |
| Method | Path | Description |
|---|---|---|
| POST | | Apply caption preset |
| GET | | Get current style |
| PATCH | | Update style settings |
| GET | | List presets by category |
| PATCH | | Update caption words/timing |
| DELETE | | Delete caption |
| POST | | Emphasize specific words |
| Method | Path | Description |
|---|---|---|
| POST | | Add media to timeline |
| POST | | Trim item by deltas |
| POST | | Split item at timestamp |
| DELETE | | Delete item |
| PATCH | | Update item |
| POST | | Batch update items |
| PATCH | | Set volume |
| PATCH | | Set transform |
| POST | | Remove gaps |
| POST | | Detect silences |
| POST | | AI mistake detection |
| POST | | Caption-based recut plan |
| Method | Path | Description |
|---|---|---|
| POST | | Add text overlay |
| PATCH | | Update text overlay |
| DELETE | | Remove text overlay |
| POST | | Add animated code block |
| PATCH | | Update code block |
| POST | | Add motion graphic |
| PATCH | | Update motion graphic |
| Method | Path | Description |
|---|---|---|
| POST | | Add fill layer |
| PATCH | | Update fill layer |
| Method | Path | Description |
|---|---|---|
| GET | | Get project context |
| GET | | Items at timestamp |
| POST | | Render one still preview |
| POST | | Render multiple still previews |
| POST | | Run structured frame QA |
| GET | | Get machine-readable layout geometry |
| POST | | Undo last action |
| Method | Path | Description |
|---|---|---|
| POST | | Upsert source-view crop/canvas state for one item |
| POST | | Duplicate a linked source view to another item |
| Method | Path | Description |
|---|---|---|
| POST | | Generate a reframe plan plus preview stills before apply |
| Method | Path | Description |
|---|---|---|
| POST | | Start export (expensive) |
| GET | | Export status + download URL |
| GET | | Export history |
| DELETE | | Delete all exports |
| GET | | Generic job polling |
| Method | Path | Description |
|---|---|---|
| POST | | Add zoom effect |
| POST | | Add mask effect |
| POST | | Add color grade |
| POST | | Create keyframe |
?mode=| Mode | Returns |
|---|---|
| Project metadata, duration, media count |
| All media assets with metadata |
| Full timeline with items, layers, timing |
| Word-level transcript from transcription |
| Everything combined |
timelinebash scripts/editor.sh context PROJECT_ID timeline
bash scripts/editor.sh context PROJECT_ID fullbash scripts/editor.sh upload-url PROJECT_ID "https://example.com/video.mp4"# Step 1: Get presigned URL
PRESIGNED=$(bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/presigned \
'{"fileName":"video.mp4","contentType":"video/mp4"}')
# Step 2: Upload to presigned URL
curl -X PUT "$(echo $PRESIGNED | jq -r '.url')" \
-H "Content-Type: video/mp4" \
--data-binary @video.mp4
# Step 3: Finalize
bash scripts/blitzreels.sh POST /projects/PROJECT_ID/upload/finalize \
"{\"storageKey\":\"$(echo $PRESIGNED | jq -r '.key')\"}"references/caption-styles.mdreferences/fill-layers.mdreferences/clipping.mdreferences/caption-styles.mdreferences/overlays.mdreferences/fill-layers.mdreferences/timeline-ops.mdreferences/export-settings.mdexamples/edit-uploaded-video.mdexamples/enhance-with-overlays.mdhttps://www.blitzreels.com/api/v1BLITZREELS_ALLOW_EXPENSIVE=1editor.sh exportblitzreels.shhttps://www.blitzreels.com/api/openapi.json| Plan | Requests/min | Requests/day |
|---|---|---|
| Free | 10 | 100 |
| Lite | 30 | 1,000 |
| Creator | 60 | 5,000 |
| Agency | 120 | 20,000 |