help quicky produce instagram reels and youtube shorts
94
96%
Does it follow best practices?
Impact
87%
2.12xAverage score across 3 eval scenarios
Passed
No findings from the security scan
Run the preflight first, every session. It exits non-zero on a missing required
tool, and pipeline.py status blocks on the same check.
python3 scripts/check_deps.py --mode music-video # or --mode talking-head
python3 scripts/check_deps.py --json # for gating| Tool | Install | Without it |
|---|---|---|
| ffmpeg / ffprobe | brew install ffmpeg | nothing runs; every stage shells out to it |
.venv | python3 -m venv .venv | macOS refuses system pip (PEP 668) |
| librosa + soundfile | .venv/bin/pip install librosa soundfile | no beat detection (music-video only) |
Homebrew's ffmpeg ships without drawtext. No recipe here relies on it —
text goes through the subtitles filter (libass) or the platform apps.
Never substitute silently. Name the loss and let the user choose.
| Missing | What is lost |
|---|---|
auto-editor | tighten_vo.py uses ffmpeg silencedetect. Measured equivalent (9.80s vs 9.87s from a 13s take) — still report which ran |
deepFilter | clean_audio.py uses afftdn. Audibly weaker on a noisy room; this is a real quality loss |
| Node 18+ | make_cards.py cannot run. Build cards as stills and let normalize_clips.py apply Ken Burns |
moviepy | no engine A/B; render_reel.py still renders normally |
yt-dlp | fetch_music.py cannot pull audio from a link |
mlx-whisper | no local transcription. Talking-head reels are watched muted, so captions are not optional there |
| Gemini API key | no hook-copy drafts, no stylized thumbnails |
| official D-Log LUT | the bundled LUT is DJI's whitepaper math, an approximation — not the exact per-model transform |
--bpm is not beat detection. It lays a fixed metronome grid and never
analyses the audio, so cuts land on clock ticks rather than on the track.
detect_beats.py warns, stamps "source": "fixed-grid" into beats.json, and
build_cut_plan.py repeats the warning. Never present such a plan as
beat-synced; if librosa is missing, install it rather than reaching for --bpm.
A camera-conversion LUT is not a grade. The bundled D-Log LUT applies only
to dlog-profile clips. On Rec.709 footage it crushes blacks and pushes colour
out of gamut.
Scripts record what actually ran, so a substitution cannot hide in the output:
beats.json → source: librosa | fixed-grid | absent (unrecorded)tighten_vo.py, clean_audio.py → engine, engine_requested, substitutedCheck these before reporting a result, and tell the user which engine produced the file they are about to approve.
.tessl-plugin
evals
skills
reel-builder
assets
remotion-cards
references
scripts