Credentials. The docker command passes HF_TOKEN into the container, so keep the token out of shared shell history and logs.
Who it is forA backend developer whose app needs text-to-speech and who has an NVIDIA H100 host available for self-hosting.
The problemCalling a hosted speech service adds a third party to the request path, and the app needs a local endpoint it controls.
The outcomeA running container that answers readiness checks and returns WAV audio for text sent to /v1/audio/speech.
What you need first
- A Linux x86_64 host with an NVIDIA H100 GPU
- NVIDIA Container Toolkit and a driver compatible with CUDA 13.0 (for Docker)
- Docker, or uv with Python and the system packages build-essential, libsndfile1, and sox
- A Hugging Face token (HF_TOKEN) if the model files need to be downloaded
Steps
- Confirm the host has an NVIDIA H100, the NVIDIA Container Toolkit, and a CUDA 13.0 compatible driver.
- Run
docker run --rm --gpus all -p 8000:8000 -e HF_TOKEN -e QWEN3_TTS_PROFILE=ttfa -v nari-qwen3-tts-cache:/home/nari/.cache ghcr.io/nari-labs/nari-qwen3-tts:latest(inferred, check the README) - Wait for model loading and CUDA Graph capture to finish, then run
curl --fail http://127.0.0.1:8000/ready - Send a test request to
http://127.0.0.1:8000/v1/audio/speechwith model set to Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice and a short input.
Prompt for your agent
In the nari-labs/nari-qwen3-tts repo, start the Docker container on this H100 host using the README run command, then poll `http://127.0.0.1:8000/ready` until it succeeds. Expected output: a ready response and a WAV file from a test request to `/v1/audio/speech`. Verify that the readiness check returns success only after the warm-up request has completed.
Caveat. The README says the container requires an NVIDIA H100 and has been tested only with English as the primary language.
Use this in your AI agent
Ask your agent
Using the Deduped MCP, get the setup steps for nari-labs/nari-qwen3-tts and "Self-host a speech API on an H100 with Docker"
Add Deduped to Claude Code once
claude mcp add --transport http deduped https://dedupedai.com/mcp
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Third-party repos we don't own. AI-written use cases can be wrong. Disclaimer