Skip to content
blitzreels-faceless logo

BlitzReels Faceless Video Generation

blitzreels-faceless

Faceless AI video generation workflows with BlitzReels (voices, visual styles, jobs, exports).

SKILL.md

Full skill instructions

BlitzReels Faceless Video Generation

Generate AI-powered faceless videos from a topic or script.

Cost Warning: Faceless generation consumes AI credits (AI script writing, image generation, voiceover, video assembly). You MUST present a plan to the user and get approval before calling any expensive endpoint.

Quick Start

# Full pipeline: topic → video
bash scripts/​faceless.sh --topic "5 productivity tips" --duration 30 --voice rachel --style cinematic

# Dry run — show plan without executing
bash scripts/​faceless.sh --topic "5 productivity tips" --dry-run

# From a user-provided script (paragraph breaks = scene breaks)
bash scripts/​faceless.sh --script "First scene narration.\n\nSecond scene narration." --duration 60

Required Workflow

Always use plan mode. Before generating, present this plan to the user for approval:

  1. Topic or script — What the video is about
  2. Duration — 10–120 seconds (drives scene count)
  3. Visual style — See references/​visual-styles.md or GET /​visual-styles
  4. Voice — See references/​voices.md or GET /​voices
  5. Image model — See references/​models.md (default: gemini-2.5-flash)
  6. Video model — See references/​models.md (default: kling-2.1)
  7. Output mode — Full video, storyboard-only (images), or images + audio
  8. Captions — Enabled by default; optionally pick a caption style
  9. Plan summary — Present all choices + "this will consume AI credits" warning
  10. User approval → Execute

Input Modes

ModeFlagBehavior
Topic--topic "..."AI writes the script based on the topic
Script--script "..."User provides exact narration. Paragraph breaks (\n\n) become scene breaks.

If both are provided, --script takes precedence.

Scripts

scripts/​faceless.sh

Purpose-built end-to-end pipeline. Handles: create project → generate → poll → export → download URL.

faceless.sh --topic TEXT [--duration 30] [--voice rachel] [--style cinematic]
            [--image-model ID] [--video-model ID] [--video-duration SEC]
            [--storyboard-only] [--no-animated-video]
            [--aspect 9:16] [--captions true] [--caption-style ID]
            [--resolution 1080p] [--name TEXT] [--yes] [--dry-run]

Run bash scripts/​faceless.sh --help for full usage.

scripts/​blitzreels.sh

Generic API helper for ad-hoc calls. Requires BLITZREELS_ALLOW_EXPENSIVE=1 for expensive endpoints.

bash scripts/​blitzreels.sh METHOD PATH [JSON_BODY]

Environment Variables

VariableRequiredDescription
BLITZREELS_API_KEYYesAPI key for authentication
BLITZREELS_API_BASE_URLNoOverride base URL (default: https://www.blitzreels.com/api/v1)
BLITZREELS_ALLOW_EXPENSIVENoSet to 1 to allow expensive calls via blitzreels.sh

API Endpoints

MethodPathDescription
POST/​projectsCreate a new project
POST/​projects/​{id}/​facelessStart faceless generation (expensive)
GET/​jobs/​{job_id}Poll job status
GET/​projects/​{id}/​context?mode=timelineInspect generated timeline
POST/​projects/​{id}/​exportStart export (expensive)
GET/​exports/​{export_id}Get export status + download URL
GET/​voicesList available voices
GET/​visual-stylesList available visual styles
GET/​caption-stylesList caption style presets

Faceless Request Body

{
  "topic": "5 morning routine tips",
  "duration_seconds": 30,
  "visual_style": "cinematic",
  "voice_id": "21m00Tcm4TlvDq8ikWAM",
  "captions": true,
  "caption_style": "bold-center"
}
FieldTypeRequiredDescription
topicstringone of topic/​scriptAI generates script from this
scriptstringone of topic/​scriptExact narration text, paragraph breaks = scenes
duration_secondsnumberyes10–120
visual_stylestringnoStyle ID (default: cinematic)
voice_idstringnoElevenLabs voice ID (default: Rachel)
captionsbooleannoEnable captions (default: true)
caption_stylestringnoCaption style preset
imageModelIdstringnoImage generation model (default: google-gemini-2.5-flash-image)
videoModelstringnoVideo generation model (default: kling-2.1)
videoDurationnumbernoPer-clip duration in seconds, 3–10
storyboardOnlybooleannoGenerate images only, skip video/​audio (default: false)
generateAnimatedVideosbooleannoSet false to skip video animation (default: true)

Generation Modes

ModeFlagWhat's Generated
Full video (default)—Images → video clips → voiceover → music → captions
Storyboard only--storyboard-onlyScene images only (no video, no audio). Cheapest option for previewing.
Images + audio--no-animated-videoScene images + voiceover + music (slideshow-style, no video animation)

References

  • references/​models.md — All image and video generation models with costs and capabilities
  • references/​voices.md — All available voice IDs, categories, and descriptions
  • references/​visual-styles.md — All available visual style IDs and descriptions

Safety

  • faceless.sh prompts for confirmation before calling expensive endpoints (bypass with --yes)
  • blitzreels.sh requires BLITZREELS_ALLOW_EXPENSIVE=1 for /​faceless and /​export paths
  • Always present cost/​plan to user before generation

Notes

  • 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.
  • POST /​projects/​{id}/​faceless returns a plan and input_warnings to help you predict what will be generated.
  • Full OpenAPI spec: https://www.blitzreels.com/api/openapi.json

Rate Limits

PlanRequests/​min
Free10
Creator30
Pro60
Agency120