Skip to content

Components

Per-component reference lands as the build progresses (Phase 1+). Until then, this is the planned shape from the design spec and the interface contracts.

Generation (internal/gen/)

Package Responsibility Ports
voice ElevenLabs TTS (voice clone) gen-vo.py
music ElevenLabs Music bed gen-music.py
reel storyboard → cards → ffmpeg assembly gen-reel.py
cover Gemini Imagen cover art gen-cover.py
portrait Gemini image-to-image avatar gen-portrait.py
video (deferred) short per-panel clips — (0003)

Providers (the pluggable seams)

ImageProvider, VideoProvider, VoiceProvider, MusicProvider, Renderer — each config-selected (providers.*). Defaults: Gemini / ElevenLabs / ffmpeg. → spec §3.4

Posting (internal/publish/<platform>)

One Publisher adapter per platform (Instagram → YouTube → TikTok → LinkedIn), fanned out by post all, gated by the approval lifecycle. → spec §4

CLI surface

The full command set, contracts and exit codes are specified in 0002-interface-contracts.md §3 — reel, voice/music/cards, social, approve, post, auth, theme, studio, plus the go-tool-base defaults (init, doctor, config, mcp, …).