Nodes/NVIDIA CMD for ComfyUI/NVIDIA CMD Image to Video
ComfyUI Node

NVIDIA CMD Image to Video

Give NVIDIA CMD a photo and a sentence, get 93 frames back

By hiroki-abe-58·Created 27 days ago·Updated 26 days ago· 0
NVIDIA CMD Image to Video
  • cmd_model
  • image
  • camera
  • frames
prompt
seed0

This is the node that actually makes video. NVIDIACMDImageToVideo takes a still image, a prompt, and a seed, and returns a short clip as a ComfyUI IMAGE batch - 832×480, 16 fps, about 93 frames (roughly six seconds) from the default chunk1_short checkpoint. It's the ComfyUI face of NVIDIA's CMD, the distilled few-step student of Cosmos-Predict2.5-2B, running on Windows Native through PyTorch SDPA instead of the Linux + flash-attn stack the official repo expects.

If you're used to Wan or LTX workflows, the big adjustment here is that there's no KSampler anywhere in this chain. CMD is a distilled causal model - it does few-step inference inside the pack's nodes and ignores negative prompts and CFG entirely. You wire ModelLoader → ImageToVideo → SaveVideo and that's the whole pipeline.

How it works

The node hands your image, prompt, and seed to the loaded pipeline: Cosmos-Reason1 (the 7B vision-language encoder) grounds the prompt, your image gets resized to the model's fixed 832×480, and the student DiT rolls out the latent frames causally before the VAE decodes them back to pixels. It runs under torch.inference_mode() and returns uint8 frames converted to a float IMAGE tensor. Same image + same seed + same prompt = same video, which makes seeding genuinely useful for iterating on a prompt.

The inputs

  • cmd_model - the CMD_MODEL from NVIDIACMDModelLoader. Nothing runs without it.
  • image - any ComfyUI IMAGE. It gets scaled to the model's native 832×480, so source aspect ratio matters less than you'd think.
  • prompt - a multiline text box. Reason1 is a real vision-language model, so descriptive natural language beats tag soup. It's also required: leave it blank and the node raises "Prompt is empty."
  • seed - an INT, default 0. Range goes up to a full 64-bit max; use it to lock or vary your clips.
  • camera (optional) - a CMD_CAMERA value from NVIDIACMDCameraControl, if you want a camera trajectory.

Output is a single frames IMAGE batch - the frames stacked on the batch axis. Wire it into NVIDIACMDSaveVideo to get an mp4, or any standard video encoder node (VHS works fine since it's plain IMAGE).

Install & models

Same story as the rest of the pack: clone into custom_nodes, pip install -r requirements.txt, clone nv-tlabs/cmd into third_party\cmd, and place the weights by hand under <ComfyUI>/models/nvidia_cmd/. There's no auto-download - if the transformer chunk is missing, the loader (not this node) is where you'll see the error. For a plain short clip you need chunk1_short_t24_l21.safetensors, the Cosmos-Reason1-7B text encoder, and the VAE (tokenizer.pth from the gated Cosmos-Predict2.5 repo, or the Wan2.1_VAE.pth fallback).

Gotchas

  • The load dominates the runtime. Actual generation on a 5090 is quick; the minutes go to the model loader. Load once, generate many.
  • 480p is the ceiling. CMD at this size is built for 832×480. Don't expect 720p; expect coherent physics and motion, which is the Cosmos world-model strength.
  • Watch the license. CMD weights are NVIDIA OneWay Noncommercial - research/education only, and that applies even though the adapter code is Apache-2.0.
  • VRAM is real. The author's measured numbers on an RTX 5090 32GB sit around 22 GiB peak with the BALANCED preset. This is not a 12GB-card party.

If you came from the Cosmos-Predict2.5 launch thread and wrote it off as datacenter-only, this is the counterexample: it's fiddly, but it does run on a single consumer GPU.

CategoryNVIDIA/CMD

Inputs (5)

NameTypeDefaultDescription
cmd_modelCMD_MODEL
imageIMAGE
promptSTRING
seedINT00–18446744073709550000
cameraoptCMD_CAMERA

Outputs (1)

NameTypeDescription
framesIMAGE