Kid mode 🧒

This page is Avoidant / Narcissist AI-Video Pipeline. It is one of the projects Brandon built and put online. The grown-up details are below, tap Grown-up mode to read them the normal way.

Avoidant / Narcissist AI-Video Pipeline

Phase 1 Status — 2026-06-07  |  Three-Lane Faceless Short-Form Video

Channel Lanes

Christian
@onethingneeded
Voice: Brandon XTTS (local, $0)
Lens: covenant-love, Kingdom framing
Palette: warm amber / gold
Voice Renders PASS
Occult / Tarot
brandonpage 2nd YT
Voice: Lester XTTS (local, $0)
Lens: tarot-canon, 1 card/video
Palette: indigo / obsidian
Voice Renders PASS
Secular
@avoidantdecoded (TBD)
Voice: ElevenLabs Flash (PAID)
Lens: Gottman, attachment theory
Palette: neutral cool grey
Spend-Gate Token Needed

Phase 1 Deliverable Status

DeliverableStatusLocation
Research notes✓ DONEBrandon-Vault/20 Projects/avoidant-video-research-notes.md
Format spec (draft)AWAITING APPROVALBrandon-Vault/20 Projects/avoidant-video-format-spec.md
Channel identity decisions (6/6)✓ DONEavoidant-video-phase1-status.md
Test script v2✓ DONEBrandon-Vault/20 Projects/avoidant-video-test-script.md
Skill dir + config.json✓ DONE~/.claude/skills/avoidant-video-pipeline/
All Phase 2 scripts✓ DONE~/.claude/skills/avoidant-video-pipeline/scripts/
Christian TTS render✓ PASS (55.71s)test-renders-v2/...-christian.wav
Occult TTS render✓ PASS (64.93s)test-renders-v2/...-occult-gated.wav
Secular TTS renderBLOCKED (spend-gate)
Background loops (stock)PENDING (user download)backgrounds/{christian,occult,secular}/
Christian full MP4 test✓ DONE (58.7s)test-videos/christian-test-v1.mp4
Occult full MP4 test✓ DONE (67.9s, over gate)test-videos/occult-test-v1.mp4
16-video live-watch auditUSER TASK

Full-Pipeline Test Videos

Christian Lane — PASS
58.7s total (55.7s narration + 3s title lead)
Brandon XTTS voice, warm amber procedural bg
30 caption cards, align-mode (no faster-whisper)
Gate: 42–65s → PASS
Occult Lane — LENGTH FLAG
67.9s total (64.9s narration + 3s title lead)
Lester XTTS voice, indigo/obsidian procedural bg
31 caption cards, align-mode
Gate: 42–65s → OVER (narration needs trim by ~3s)
Secular Lane — BLOCKED
ElevenLabs Flash — needs spend-gate token
Refused without explicit user approval per design

libass Bug Fixed

Root cause: system ffmpeg (8.1.1 Homebrew) built without --enable-libass, so the subtitles filter was unavailable.

Fix (2026-06-07): assemble_video.py now uses a PIL-based caption path — each card is rendered as a transparent RGBA PNG, then composited with ffmpeg overlay + enable='between(t,...)'. No libass required. Both lane tests confirmed working.

Trade-off: 30–31 overlay inputs per video. ffmpeg handles this fine. If caption card count exceeds ~60, consider batching into a single caption-video pre-render.

User Actions Required to Advance

To unlock Phase 2

  1. Approve the format spec — open Brandon-Vault/20 Projects/avoidant-video-format-spec.md and say "format spec approved" in this chat.
  2. Download background loops — see backgrounds/DOWNLOAD_BACKGROUNDS.md for Pixabay/Mixkit URLs. Save into backgrounds/{christian,occult,secular}/. Procedural gradient is the fallback but stock video looks far better.
  3. Trim occult narration — occult lane is 67.9s total (gate is 65s). The test script's occult section needs ~3s cut, or accept the slight gate miss for test renders only.
  4. 16-video live-watch audit — pull the 2 test WAVs (...-christian.wav, ...-occult-gated.wav) to phone. Listen against the 16-video research corpus. Note what tone/pacing changes are needed.
  5. Spend-gate token for secular — once you want ElevenLabs renders, run approve_script.py per the gate design. The secular lane is fully scripted and ready.
  6. Deploy this HTMLcd ~/Projects/drwu-htmls && npm run deploy