--- tags: [video-stack, setup] updated: 2026-10-15 --- # Tools and Setup Back to [[Video Stack - Overview]] ## Paths on TonyB - `C:\tts\tts.py` - Chatterbox voice script (`--ref ` for cloning) - `C:\tts\gemini_tts.py` - Gemini TTS; `--style` for directions, `--whole` (whole script in one request), `--fallback-model` (switch to Lite when the daily limit is hit) - `C:\tts\qwen3tts` - Qwen3-TTS venv (1.7B VoiceDesign / Base clone) - `C:\tts\chatterbox` - Chatterbox venv - `C:\tts\voices\user_announcer_ref.wav` - user's own announcer recording (20.65 s, mono 24 kHz) - `C:\tts\vt\vt.py` - voice-test runner - `C:\video\template` - video template - `C:\video\HERMES_PROMPT.md`, `C:\video\COPYWRITING.md` - `C:\video\examples\prop1ad` - worked example - `C:\video\voice_tests` - bake-off samples - Hermes profile: `C:\Users\fight\AppData\Local\hermes\profiles\explainer` - start with `explainer chat` ## GPU (RTX 3060, 12 GB) - Qwen llama-server on :1922 uses ~6.4 GB baseline. Never start Gemma (:1923) alongside it. - Peak VRAM seen: Chatterbox 3.9 GB, Qwen3-TTS VoiceDesign ~4.3-4.5 GB, Qwen3-TTS clone 5.0 GB. Run TTS models one at a time. - Long runs: one-time scheduled tasks (`schtasks /create ... /sc once`, `/run`), delete afterwards. ## Gemini - Free tier: 10 requests/day on flash-tts (resets ~4:50 PM PT); flash-lite-tts 3/min. Script auto-falls back to Lite. - Style must go in `speech_metadata.style` (interactions endpoint), never in the text. - `GEMINI_API_KEY` goes in the explainer profile `.env` (user step; not confirmed done).