BlitzReels AI video generation API umbrella skill: auth, OpenAPI browsing, and links to specialized BlitzReels skills.
Resources
2Install
npx skillscat add blitzreels/agent-skills/blitzreels Install via the SkillsCat registry.
BlitzReels Skill
Use the BlitzReels API to create and edit video projects programmatically.
For focused workflows, install the specialized skills:
blitzreels-faceless— Faceless video generation: topic/script → AI scenes → voiceover → export. Includesfaceless.shpipeline script, voice & visual style references.blitzreels-motion-graphics— Motion graphics via the Playground API: create compositions with text, shapes, charts, code, animations. Includesplayground.shCRUD script, composition spec reference.blitzreels-video-editing— Video editing workflows: upload media → transcribe → timeline editing → captions → overlays → backgrounds → export. Includeseditor.shsubcommand script, caption/overlay/fill-layer references.
Setup
Environment variables:
export BLITZREELS_API_KEY="br_live_xxxxx"
# Optional: override API base URL (defaults to https://www.blitzreels.com/api/v1)
export BLITZREELS_API_BASE_URL="https://www.blitzreels.com/api/v1"
# Safety: required to call expensive endpoints like /faceless and /export with the helper script
export BLITZREELS_ALLOW_EXPENSIVE=1Get your API key from: https://blitzreels.com/settings/api
LLM Resources
https://www.blitzreels.com/llms.txthttps://www.blitzreels.com/llms-full.txthttps://www.blitzreels.com/api/openapi.json(source of truth)
Agent Playbook (Browse Then Call)
When integrating with BlitzReels, do not guess endpoints or request fields. Use OpenAPI as the source of truth:
- Fetch OpenAPI:
https://www.blitzreels.com/api/openapi.json - Search for the endpoint you need by keyword (path, tag, summary)
- Inspect request/response schema for required fields
- Call the endpoint with
Authorization: Bearer $BLITZREELS_API_KEY - If the operation returns a
job_id, poll/jobs/{job_id}until complete (or use webhooks)
Full API Reference (OpenAPI)
The full API is documented in OpenAPI:
https://www.blitzreels.com/api/openapi.json
Quickly list available endpoints (requires jq):
curl -sS https://www.blitzreels.com/api/openapi.json | jq -r '.paths | keys[]'List methods + paths + summary:
curl -sS https://www.blitzreels.com/api/openapi.json | jq -r '
.paths
| to_entries[]
| .key as $path
| .value
| to_entries[]
| select(.key | test("^(get|post|put|patch|delete)$"))
| "\(.key|ascii_upcase) \($path) - \(.value.summary // .value.operationId // "")"
'Search by keyword:
curl -sS https://www.blitzreels.com/api/openapi.json \
| jq -r '.paths | keys[]' \
| grep -iE 'faceless|caption|export|timeline|overlay|template|webhook|job|playground' || trueInspect one endpoint in detail:
PATH_TO_INSPECT="/projects/{id}/export"
curl -sS https://www.blitzreels.com/api/openapi.json \
| jq --arg p "$PATH_TO_INSPECT" '.paths[$p]'Recommended Usage (Scripted)
This skill includes a helper script so you don't have to retype headers:
# From this skill directory:
bash scripts/blitzreels.sh POST /projects '{"name":"My Video","aspect_ratio":"9:16"}'Commands
Create a project:
curl -X POST https://www.blitzreels.com/api/v1/projects \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "My Video", "aspect_ratio": "9:16"}'Check job status:
curl https://www.blitzreels.com/api/v1/jobs/{job_id} \
-H "Authorization: Bearer $BLITZREELS_API_KEY"Export a project:
curl -X POST https://www.blitzreels.com/api/v1/projects/{project_id}/export \
-H "Authorization: Bearer $BLITZREELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"resolution": "1080p"}'List available voices:
curl https://www.blitzreels.com/api/v1/voices \
-H "Authorization: Bearer $BLITZREELS_API_KEY"List caption styles:
curl https://www.blitzreels.com/api/v1/styles \
-H "Authorization: Bearer $BLITZREELS_API_KEY"Redirect Warning (Auth Headers)
Use https://www.blitzreels.com/api/v1 as your base URL. https://blitzreels.com redirects to www, and some HTTP clients drop the Authorization header on redirects (leading to confusing UNAUTHORIZED errors).
Debugging
Every API response includes:
X-Request-Id(share with support)X-RateLimit-*headers (remaining + reset timestamps)
Rate Limits
- Free: 10 req/min, 100 req/day
- Lite: 30 req/min, 1,000 req/day
- Creator: 60 req/min, 5,000 req/day
- Agency: 120 req/min, 20,000 req/day
Error Handling
Check response for error object:
{
"error": {
"code": "insufficient_credits",
"message": "Not enough AI credits for this operation"
}
}