# Qwen3-TTS stack tunables. Copy to `.env` on irv-ml1 before deploying. # ── build pin ──────────────────────────────────────────────────────── # SHA of groxaxo/Qwen3-TTS-Openai-Fastapi to build from. Bump + rebuild # when you want upstream wrapper updates. QWEN3_TTS_SHA=10323ce778c48a75dbda93d0a4891983fb371f58 # Local image tag — bump when you change build context to force a # fresh layer build. v2 = first GPU build (target=production); v1 # was the accidental CPU-only image (last stage of upstream's # multi-stage Dockerfile). QWEN3_TTS_TAG=v2 # ── network ────────────────────────────────────────────────────────── # Host port (container listens on 8880 internally). QWEN3_TTS_PORT=8191 # Bind address. 0.0.0.0 exposes on all interfaces (incl. WG tunnel # interface 10.100.79.3); 127.0.0.1 restricts to local-only. QWEN3_TTS_BIND=0.0.0.0 # ── runtime ────────────────────────────────────────────────────────── # Inference backend. `official` = default upstream; `optimized` = # faster but slightly less robust; `vllm_omni` = vLLM-backed (needs # more VRAM); `pytorch` = bare pytorch path. QWEN3_TTS_BACKEND=official # Model variant. Upstream publishes four checkpoints on HF: # Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice — flagship, voice cloning # Qwen/Qwen3-TTS-12Hz-1.7B-Base — flagship, no cloning # Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice — lightweight, voice cloning # Qwen/Qwen3-TTS-12Hz-0.6B-Base — lightweight, no cloning # 1.7B = ~6–8 GB VRAM bfloat16, best quality. 0.6B = ~2–3 GB. # Use -CustomVoice for `voice="clone:"` to work. QWEN3_TTS_MODEL=Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice # Warm the model on container start so the first synthesis request # doesn't pay the load latency. Adds ~30 s to startup. Recommended. QWEN3_TTS_WARMUP=true # Concurrency cap on synthesis requests. Single GPU + 1.7B model → # leave at 1 unless you're load-testing. QWEN3_TTS_MAX_CONCURRENT=1 # Mount the gradio voice-studio UI at /voice-studio for browser-side # voice cloning. Set "false" to disable for headless deployments. QWEN3_TTS_VOICE_STUDIO=true # ── persistent storage on the host ─────────────────────────────────── # HuggingFace cache (model weights, ~5 GB after first run). Bind-mounted # so model state survives container recreate. Excluded from restic # (regenerable from HF Hub). QWEN3_TTS_CACHE_DIR=/worktank/qwen3-tts/cache # Cloned voice profiles (meta.json + reference.wav per voice). Precious # — cloned voices need the original reference audio to recreate. # Included in restic. QWEN3_TTS_VOICES_DIR=/worktank/qwen3-tts/voices