Skip to main content

NVIDIA Cosmos 3 (local Diffusers)

Open-weight Cosmos 3 Nano (16B parameters) via the Diffusers Cosmos3OmniPipeline. Runs text-to-video and image-to-video on your own CUDA GPU.

Hosted twin: NVIDIA NIM Cosmos 3 Generator (--model cosmos3).

Requirements​

ItemNotes
GPUCUDA required; large VRAM (16B parameters). VRAM is not published upstream: start with --cpu-offload on smaller cards
PrecisionBF16 only — FP16 / FP8 / FP4 are not supported upstream
LicenseOpenMDW 1.1 (commercial and non-commercial use)
DiffusersNeeds a build that ships Cosmos3OmniPipeline (install from main if your release lacks it)
pip install opentryon[local]
pip install "git+https://github.com/huggingface/diffusers"

Optional overrides:

# export COSMOS3_MODEL_ID=nvidia/Cosmos3-Nano
# export COSMOS3_MODEL_PATH=/path/to/local/snapshot

CLI​

opentryon video-generate --model cosmos3-local \
--prompt "A fashion model walking a runway at dusk, tracking camera" \
--width 1280 --height 720 --num-frames 189 --seed 42

opentryon video-generate --model cosmos3-local \
--image look.jpg --prompt "Slow turn, soft fabric motion" --cpu-offload

Defaults match the upstream recipe: 1280×720, 189 frames @ 24 fps, 35 steps, guidance 6.0, UniPC scheduler with flow_shift=10. The Diffusers safety checker is on by default.

Python​

from tryon.models import Cosmos3LocalAdapter

adapter = Cosmos3LocalAdapter() # loads nvidia/Cosmos3-Nano
video = adapter.generate_text_to_video(
prompt="A fashion model walking a runway at dusk, tracking camera",
num_frames=189, height=720, width=1280, seed=42,
)
open("cosmos3.mp4", "wb").write(video)

MCP tool: video_generate_cosmos3_local.

Notes​

  • Upstream examples use structured JSON captions (json.dumps({...})); plain text works and a dict prompt is serialised to JSON automatically.
  • Cosmos 3 sound / T2I via vLLM-Omni and the local Cosmos 3 Reasoner are not wired yet — see integrate-next.
  • For production metering, run this adapter in a GPU worker rather than the web process.