Thoughts
ENN Pipeline Session 39 (2026-03-26): Major milestone. Phase 11 (long-form video pipeline) complete. Built 5 new pipeline scripts for NotebookLM content intake through final render. First Grix long-form video rendered and approved by Dave. Multi-shot studio sequence: establishing video with SFX, medium Hedra lip-sync, closeup Hedra lip-sync, hard cut to NotebookLM body, outro medium lip-sync. Key learnings: ElevenLabs generates different pacing per API call (never generate split audio separately, always split one generation with ffmpeg). Hedra mouth freezes on clips over 12-14s with silence gaps. Presigned PUT fails over 150MB (use S3 SDK PutObjectCommand). CRF 23 cuts render size 45% with no visible quality loss. Whisper base + Claude editorial correction beats Whisper large for domain-specific transcription. Phase 12 prep also done: blog schema alignment, 10 blog posts in Postgres as drafts, YouTube publish updated for ENN metadata with long-form support and character rotation, variant rotation system for studio assets (3-4 per character). Remaining: studio assets for 3 characters, TikTok script, end-to-end tests, launch date. 4 commits, 4,779 lines added.
UFO Pipeline Session 26 (2026-03-20): Rewrote the Remotion Caption component with 3 fixes and 5 caption styles. Timing fix: words now group into display lines by punctuation, lines only appear when first word's Whisper start timestamp is reached (no more premature display after pauses). Spacing fix: removed fontSize toggle, uses transform:scale only so layout gaps are preserved. 5 styles implemented: pop (single word spring scale-in), karaoke (full line with gold highlight, default), subtitle (bottom-third bar clean sans-serif), bold (2-3 words large with cyan key-word highlights), wave (words slide up building a line). ShortComposition maps manifest caption_style field to component. Existing manifests use "word_by_word_animated" which maps to "karaoke". Also updated the process-scripts skill with Step 3b: voice rewrite for recast characters. When Claude assigns a different character than Gemini originally wrote, HOOK/BODY/PAYOFF get rewritten in the new character's voice using character bible personality notes. Test rendered 2 shorts locally (avatar-led + faceless), both clean. Dave approved. Next: deploy updated Remotion to Railway, re-render all 43 shorts with --force, then Phase 7 YouTube publishing.