A real director: sees every image, decides on camera, cuts, transitions, music, and effects β and renders deterministically via pixflow.

The images are yours β what the Director adds is cinema: camera movement, editing rhythm, depth, and sound. No frames invented by video AI.
Analyzes with vision: photo or drawing, content, emotion, and the exact point of interest the camera should target. Rich images become 2β4 shots.
18 camera moves + from/to framing, transitions by intent (cut, whip, dip, crossfade), a 3-act arc, and a cliffhanger ending β rules validated in A/B.
Narration controls the timing; music with automatic ducking under the voice, wind, whooshes, and shimmers complete the mix in a single master.
Seven steps, always in this order β the shot breakdown is shown for approval before rendering.
All local and open source. The render engine is pixflow v2.3+ (Depth-Anything-V2 + Three.js + Remotion + FFmpeg).
Clone and check the render engine dependencies.
# check engine deps cd ~/projetos/pixflow/skill node cli/pixflow-motion.mjs check-deps
Node β₯18 for the scripts and CLI; ffmpeg/ffprobe for audio and verification.
node --version # β₯18 ffmpeg -version
Symlink in the Claude Code skills directory.
ln -s ~/projetos/diretor-animacao/skill/diretor-animacao \
~/.claude/skills/diretor-animacaoThe happy path: you provide the materials and approve the shot list; the skill directs and renders.
A folder with images (photos and/or illustrations, ideally β₯1920px) and narration β WAVs per clip, a single WAV, or just the text (the skill generates local TTS).
meu-projeto/ βββ img/ s1.png s2.png β¦ # the images, in story order βββ audio/ s1.wav s2.wav β¦ # narration by segment (or narracao.txt)
Point to the folder and use a skill trigger. You can request music and effects too.
"~/meu-projeto β vira filme, impactante, com mΓΊsica e efeitos de som"
The skill shows the scene Β· image Β· beat Β· movement Β· transition Β· duration table before rendering. Adjust anything you want (or say "direct" to skip approval).
# sample shot list row
c1 Β· s1 Β· abertura Β· pull-out dramΓ‘tico Β· cut Β· 6.1s
The narration controls durations; the soundtrack assembly compensates for transition overlaps (never calculate starts by hand).
node scripts/montar-trilha.mjs decupagem.json narracao.wav
The YAML spec (pixflow.movie/v1) is validated and rendered by the engine β same spec, same film, every time.
node cli/pixflow-motion.mjs validate filme.movie.yaml node cli/pixflow-motion.mjs render filme.movie.yaml filme.mp4
Frame-by-frame brightness checks at boundaries (anti-flicker) and visual inspection of key frames β the film is only delivered after itβs checked.
ffmpeg -ss 6.0 -i filme.mp4 -frames:v 12 \ -vf "signalstats,metadata=mode=print:key=lavfi.signalstats.YAVG" -f null -
The skillβs first real film: 21 watercolors + 22 narration clips became 26 shots with CC0 music (ducking under the voice), desert wind, whooshes, and star shimmer. Full shot list and lessons β


Built through A/B pilots β every grammar rule was validated with an actually rendered film.