ComfyUI Node

NVIDIA NIM Outfit Caption

An outfit captioner that runs on NVIDIA's cloud, not your GPU

By Delcado19·Created about a month ago·Updated about 16 hours ago· 1
NVIDIA NIM Outfit Caption
  • image
  • raw_caption
  • vton_prompt
model
custom_model
api_key_envNVIDIA_API_KEY_COMFYUI
timeout_seconds120
max_image_mb14.0
max_tokens4096
no_person_accessoriesfalse

Same family as its Gemini sibling, different provider. This node sends one outfit image to NVIDIA's NIM API and gets back two strings: raw_caption, an evidence-first QA description of the clothing, and vton_prompt, the same description rewritten as a virtual try-on prompt. If you already have an NVIDIA build.nvidia.com API key - the kind you grab once and reuse across NIM endpoints - this is the outfit captioner that costs you nothing extra to try and uses none of your VRAM.

Why you'd reach for it

Two groups want this. People doing virtual try-on who are sick of generic captions that mention the lighting and the wall behind the model instead of the seam structure of the jacket. And people whose GPU can't run even a small VLM alongside their diffusion model - this offloads the whole vision job to NVIDIA's servers, so your VRAM budget goes to the sampler, not the captioner. The tradeoff is the standard one for API captioning: it's not uncensored, and every run is a metered call. For clean SFW try-on reference text, that rarely bites.

How it works

The node PNG-encodes your image (single IMAGE only - batches hard-fail), base64s it into an OpenAI-style chat/completions payload at temperature 0.1, and asks for the same eleven labeled sections as the Gemini twin: garment pieces, coverage and silhouette, color, a mandatory evidence-first material family, construction, folds, footwear, accessories, preservation, uncertainty. raw_caption is the model's raw output; the post-processor turns it into vton_prompt by dropping Uncertainty, prepending transfer instructions (preserve the target's identity, pose, face, hair, hands and background; keep the described layer order; outer garments cover underlayers including sleeves), and - if you tick no_person_accessories - stripping bags, eyewear, jewelry, hats and loose straps out clause by clause while leaving the raw caption untouched.

The interesting difference from the Gemini node is the model dropdown. It's ranked by the author's own benchmark catalog (🟢/🟡/🔴/⚪ by score), but it's also probed: NVIDIA candidates get a real request, and models that 404 for your account or aren't available in your region get flagged. Right now the top greens are moonshotai/kimi-k2.6 (86), nvidia/nemotron-3-nano-omni-30b-a3b-reasoning (84) and minimaxai/minimax-m3 (80). Worth knowing: the endpoint list itself is scraped from build.nvidia.com's rendered page, which the author openly comments is fragile - so expect the odd stale/error refresh status, and the cached list keeps things usable when that happens.

The inputs that matter

  • image - one IMAGE tensor. Batches error out.
  • model - the ranked pull-down. Pick a green.
  • custom_model - explicit model ID override for anything not in the catalog.
  • api_key_env - env var name, default NVIDIA_API_KEY_COMFYUI.
  • no_person_accessories - VTON hygiene, off by default.
  • timeout_seconds (120 default), max_image_mb (14 default), max_tokens (4096 default) - the failure dials.

API key

Same scheme as the Gemini node: a masked "Session API key (not saved)" widget plus a "Refresh models" button on the node. The key is sent only to your local ComfyUI server, kept in process memory, excluded from the saved workflow, never logged - and gone after a restart. Or set NVIDIA_API_KEY_COMFYUI in your environment before launching. Session key takes precedence over the env var.

Install

ComfyUI Manager → search "comfyui-outfit-caption", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Delcado19/comfyui-outfit-caption

Restart, and "NVIDIA NIM Outfit Caption" appears under image/captioning. Zero extra Python dependencies - pyproject.toml declares none beyond ComfyUI's Pillow/NumPy/Torch. Nothing downloads to your disk. It's on the Comfy Registry as comfyui-outfit-caption too.

Common issues

  • Missing key error. Enter a session key or set NVIDIA_API_KEY_COMFYUI before launch.
  • Model 404 / "not available in the current region." The catalog carries per-model exclusions for exactly this: microsoft/phi-3-vision-128k-instruct returns 404 on the author's account, and several llama/phi entries are region-locked. If your pick fails, that's usually NVIDIA-side, not your graph.
  • "Encoded image is N MiB; limit is 14.0 MiB." Raise max_image_mb or downscale the reference.
  • Stale model list. Enter a key and hit Refresh models; a failed catalog fetch keeps the cached labels and marks the status stale.

One honest caveat: this pack is new (v1.0.1, mid-2026) with no real community track record - zero mention on r/comfyui as of writing. It's tiny and dependency-free, and the source is two readable Python files, so spend the two minutes reading them before you trust it with an API key. That's true of any "vision node that phones home," honestly.

Categoryimage/captioning

Inputs (8)

NameTypeDefaultDescription
imageIMAGE
modelCOMBO1 options: ⚪ — | use custom_model
custom_modelSTRING
api_key_envSTRINGNVIDIA_API_KEY_COMFYUI
timeout_secondsFLOAT1201–600
max_image_mbFLOAT14.00.1–50
max_tokensINT40961–65536
no_person_accessoriesBOOLEANfalse

Outputs (2)

NameTypeDescription
raw_captionSTRING
vton_promptSTRING