NVIDIA Studio Voice Docker Setup
The Gatekeeper Node That Gets a NIM on Your GPU
- advanced_settings
- studio_voice_connection
- status
This is the node you run once and then stop thinking about - but it's also the one where most first-run pain lives. NVIDIA Studio Voice Docker Setup is the gatekeeper of the whole ComfyUI-NVIDIA-Maxine pack. Until it succeeds, the pack's actual worker node (NVIDIA Studio Voice Enhance) has nothing to talk to.
What it does, in one line: it takes a real NVIDIA AI model - Studio Voice, the speech-enhancement model from NVIDIA's Maxine family - and gets it running on your GPU as a local Docker container, so every subsequent enhance call is local and free. That's a genuinely different pattern from the cloud API-wrapper nodes that dominate ComfyUI's paid frontier. No credits, no per-call meter; the only bill is the electricity.
What it actually does
The node shells out to docker.exe and runs one of six actions from its action dropdown. The default, setup_all_transactional, is a single-shot pipeline that:
- Checks Docker Desktop is running.
- Validates GPU access by running NVIDIA's CUDA sample container with
--gpus=all. - Logs into NGC Docker (
$oauthtoken+ your API key). - Pulls
nvcr.io/nim/nvidia/studio-voice:latest- a multi-gigabyte download, with aggregate progress parsed into ComfyUI's logs so you're not staring at a frozen bar. - Starts the container (
--runtime=nvidia --gpus=all, gRPC on host port8001, NIM HTTP on18000). - Waits for the local gRPC endpoint to answer, then reports health in its
statusoutput.
It's also deliberately idempotent. Container already running? It reuses it. Stopped? It starts it. Image already pulled? No re-download. There's even a migration: if an older studio-voice-nim container maps host port 8000 - which collides with Comfy Desktop's own UI - setup recreates it on 18000 automatically.
The inputs and outputs that matter
Only two inputs face you in normal use: action (default setup_all_transactional) and ngc_api_key. Paste your key in, or leave the field empty and launch ComfyUI with NGC_API_KEY set in the environment. The optional advanced_settings input accepts the settings object from NVIDIA Studio Voice Advanced Settings when you need overrides - skip it otherwise.
The outputs are what you actually wire up: studio_voice_connection (STUDIO_VOICE_CONNECTION) feeds NVIDIA Studio Voice Enhance, carrying the verified target and model info; status is a plain string with the action result, a health line, and a settings summary.
How to get here
You need Windows with Docker Desktop using the WSL2 backend (Docker's GPU support on Windows is WSL2-only), an NVIDIA GPU, and an NGC Personal API key that includes at least the NGC Catalog service. Before the first pull, sign in at build.nvidia.com/nvidia/studiovoice/deploy and accept the Studio Voice Terms of Use - skipping that is the #1 cause of "access denied" after a successful login.
cd C:\path\to\ComfyUI\custom_nodes
git clone https://github.com/grrdhdz/ComfyUI-NVIDIA-Maxine.git
cd ComfyUI-NVIDIA-Maxine
C:\path\to\ComfyUI\.venv\Scripts\python.exe -m pip install -r requirements.txt
Restart ComfyUI. The pack needs the V3 custom node API (validated against ComfyUI 0.21.0), and the dependencies are just grpcio, protobuf, soundfile, and numpy - no model files to download, because the model lives in the Docker image.
Gotchas
- Share workflows carefully. The node uses your key in memory and doesn't write it to project files, but ComfyUI saves widget values into
.jsonworkflows. Never share a saved workflow containing a realngc_api_key. - Pull denied after login → you missed the Terms acceptance, the key lacks
NGC Catalog, or the account can't access this downloadable NIM. - "docker: command not found" → Docker Desktop isn't started. Start it, wait for the whale to stop moving, then rerun.
- The key is only for pulling. Once the image is cached, Studio Voice runs fully local. Keep the key handy for image refreshes, but it's not a runtime credential.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| action | COMBO | setup_all_transactional | 6 options: setup_all_transactional, check_docker, check_gpu, ngc_login, pull_studio_voice, start_studio_voice_transactional |
| ngc_api_key | STRING | Paste the NGC API key here, or leave empty to use NGC_API_KEY from the environment that launched ComfyUI. | |
| advanced_settingsopt | STUDIO_VOICE_SETUP_SETTINGS | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| studio_voice_connection | STUDIO_VOICE_CONNECTION | — |
| status | STRING | — |