Agent skill
film-maker-skill
Install this agent skill to your Project
npx add-skill https://github.com/idanbeck/claude-skills/tree/main/film-maker-skill
SKILL.md
Film Maker Skill
Orchestrate AI film production using Nano Banana (images), Eleven Labs (audio), FAL (video), and FFmpeg (assembly).
Overview
This skill coordinates the full AI film production pipeline:
Script/Idea
↓
[nano-banana] → Storyboard frames / scenes
↓
[eleven-labs] → Voiceover / dialogue / SFX
↓
[fal-video] → Animate frames into video (Kling, Luma, etc.)
↓
[ffmpeg] → Assemble final film
Prerequisites
Required Skills
nano-banana-pro- Image generationeleven-labs-skill- Voice/audio generationfal-video-skill- Video generation (Kling, Luma, Minimax, etc.)
Required Tools
ffmpeg- Video assembly (install viabrew install ffmpeg)
Check Dependencies
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py check
Quick Start
1. Create a Project
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py new "My Epic Short"
2. Generate Storyboard Frames
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py frame \
"A lone astronaut on Mars, looking at Earth in the sky, cinematic lighting" \
--project my_epic
3. Generate Audio
# Voiceover
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py audio \
--text "I never thought I'd see home again..." \
--voice "Josh" \
--project my_epic
# Sound effect
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py audio \
--sfx "wind howling on barren planet" \
--duration 10 \
--project my_epic
4. Animate Frames
# Using Kling (default, best quality)
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate \
projects/my_epic_*/images/frame_001.png \
--prompt "slow camera push in, dust particles floating" \
--duration 5 \
--project my_epic
# Using Luma
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate \
projects/my_epic_*/images/frame_001.png \
--model luma \
--prompt "gentle parallax movement" \
--project my_epic
5. Assemble Final Film
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py assemble my_epic
Commands
Check Dependencies
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py check
Create New Project
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py new "Project Name"
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py new "Project Name" --resolution 4K --fps 30
Generate Storyboard Frame
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py frame "prompt" --project name
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py frame "prompt" --style cinematic --aspect-ratio 21:9
Generate Audio
# Speech/voiceover
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py audio --text "Dialogue here" --voice "Rachel"
# Sound effects
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py audio --sfx "explosion in distance" --duration 5
Animate Image to Video
# Default (Kling)
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate image.png --prompt "motion description"
# With model selection
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate image.png --model kling-pro --prompt "cinematic motion"
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate image.png --model luma --prompt "dreamy movement"
# Auto-save to project
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py animate image.png --prompt "motion" --project my_film
Available video models:
kling- Best quality (default)kling-pro- Highest quality, slowerluma- Luma Dream Machine, artisticminimax- Good for longer clips
Assemble Final Film
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py assemble project_name
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py assemble project_name --no-audio
List Projects
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py projects
Show Workflow Guide
python3 ~/.claude/skills/film-maker-skill/film_maker_skill.py workflow
Project Structure
projects/
└── my_film_20260202/
├── project.json # Project config
├── script.md # Your screenplay
├── images/ # Generated frames
├── audio/ # Generated audio
├── video/ # Animated clips
└── output/ # Final film
Production Tips
Visual Consistency
- Use consistent style keywords across all frame prompts
- Example: Always include "cinematic, shallow depth of field, 35mm film"
Audio Layering
- Generate dialogue first, then ambient sounds
- Use shorter SFX clips and loop them in post
Motion Prompts (for animate command)
Good animation prompts:
- "subtle camera drift to the right"
- "character blinks and turns head slowly"
- "clouds moving in background, gentle movement"
- "slow zoom in, atmospheric"
- "parallax depth effect, foreground/background separation"
Avoid:
- Vague prompts like "make it move"
- Too many simultaneous actions
Pacing
- Keep clips 3-6 seconds for good pacing
- Vary shot lengths for visual interest
- Generate more than you need, select the best
Adding Music
After assembly, add background music:
ffmpeg -i film.mp4 -i music.mp3 -c:v copy -c:a aac -shortest final_with_music.mp4
Or generate music with Suno:
python3 ~/.claude/skills/suno-music/suno_skill.py generate "epic cinematic orchestral" --instrumental
Example: 30-Second Film
# 1. Create project
python3 film_maker_skill.py new "Dawn"
# 2. Generate 6 frames (5 sec each = 30 sec)
python3 film_maker_skill.py frame "sunrise over mountains, mist, cinematic" --project dawn
python3 film_maker_skill.py frame "deer in meadow, golden hour light" --project dawn
python3 film_maker_skill.py frame "river flowing through forest, peaceful" --project dawn
python3 film_maker_skill.py frame "eagle soaring over valley" --project dawn
python3 film_maker_skill.py frame "sun fully risen, bright blue sky" --project dawn
python3 film_maker_skill.py frame "fade to white, peaceful ending" --project dawn
# 3. Generate voiceover
python3 film_maker_skill.py audio --text "Every day brings new light. New hope. New beginnings." --voice "Josh" --project dawn
# 4. Animate each frame (with auto-save to project)
python3 film_maker_skill.py animate projects/dawn_*/images/frame_1.png --prompt "slow zoom out, mist rising" --project dawn
# ... repeat for each frame
# 5. Assemble
python3 film_maker_skill.py assemble dawn
Requirements
# Core dependencies are in the individual skills
# This skill just needs Python 3.9+ and ffmpeg
API Keys Required
- Eleven Labs: Set up in eleven-labs-skill
- FAL: Set up in fal-video-skill (
python3 fal_video_skill.py config YOUR_KEY) - Gemini (for nano-banana): Set up in nano-banana-pro
Security Notes
- Uses existing skill configurations
- Project files stored in
~/.claude/skills/film-maker-skill/projects/
#film #video #production #ai #creative
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
fal-video-skill
godaddy-skill
Manage GoDaddy domains and DNS records. Use when the user asks to set up DNS, manage domain records, check DNS propagation, point domains to servers, or configure A/AAAA/CNAME/MX/TXT records. Supports bulk operations for quick domain setup.
gcal-skill
Read, create, and manage Google Calendar events. Use when the user asks to check calendar, view schedule, find meetings, create events, or see what's on the agenda. Supports multiple accounts.
nano-banana-pro
Generate images using AI. Use when the user asks to create, generate, or make images, pictures, graphics, illustrations, visuals, or artwork. Also use for image editing with reference images.
google-docs-skill
Create, read, update, share, and export Google Docs. Use when the user asks to create documents, write content to Google Docs, share docs, export to PDF/DOCX, or convert markdown files to Google Docs.
flight-skill
Look up live flight status, track connecting flights, and check airport delays. Use when the user asks to check a flight, track someone's trip, or look up airport conditions.
Didn't find tool you were looking for?