Skip to main content

1. Model Introduction

NVIDIA Cosmos3 is an omnimodal world-model family for image, video, sound, and action generation. SGLang Diffusion serves the public checkpoints with the native Cosmos3OmniDiffusersPipeline. Sound and action generation require the corresponding checkpoint heads. SGLang uses the flow-native FlowUniPCMultistepScheduler for Cosmos3 even if the checkpoint metadata names another scheduler. The default flow_shift is 3.0 for T2I and 10.0 for video and action modes.

2. Installation

Install SGLang with the diffusion dependencies:
Command
Cosmos3 guardrails are enabled by default when the package is available:
Command
cosmos-guardrail downloads gated NVIDIA guardrail weights, so pass a Hugging Face token if your environment needs one. If the package is not installed, SGLang skips Cosmos3 guardrails and logs a warning. To disable Cosmos3 guardrails for local experiments, set SGLANG_DISABLE_COSMOS3_GUARDRAILS=1 before starting the server.

3. Serve Cosmos3

Serve Cosmos3-Nano directly from the Hugging Face model ID:
Command
For Cosmos3-Super, split the model across multiple GPUs:
Command
The server also accepts the specialized nvidia/Cosmos3-Super-Text2Image and nvidia/Cosmos3-Super-Image2Video checkpoint IDs.

4. OpenAI-Compatible Requests

Text to image

Cosmos3 text-to-image uses /v1/images/generations. The default Cosmos3 image response is b64_json, matching vLLM-Omni’s examples.
Command

Text to video with sound

Use /v1/videos to create an asynchronous job, then poll the job and download the completed MP4. Set generate_sound=true to generate and mux a stereo 48 kHz audio track; omit it for a silent video.
Command

Image to video

This mirrors the official nvidia/Cosmos3-Nano Hugging Face image-to-video example:
Python

Video to video

Upload a source video with video_reference. Cosmos3 keeps latent frames [0, 1] by default and generates the remaining frames. Use condition_frame_indexes to select different latent frames, and condition_video_keep to take conditioning frames from the start or end of the source.
Command
Poll and download this job with the same status and content endpoints used by the T2V example.

Action generation

For DROID policy generation, start a single-GPU server with the policy checkpoint. Cosmos3 action generation does not currently support CFG or sequence parallelism.
Command
The following request predicts a 16-step action chunk from one observation. The chunk length is num_frames - 1, and the completed job’s action field contains the tensor data, shape, mode, and active action dimension.
Command
The other action modes are forward_dynamics (condition on an observation and an action JSON array to generate video) and inverse_dynamics (condition on a full video to predict action). Select the embodiment head with domain_name or domain_id; set raw_action_dim explicitly when it cannot be inferred from the domain name.

5. Cosmos3 Parameters

Cosmos3 supports the standard SGLang video and image fields such as size, num_frames, fps, num_inference_steps, guidance_scale, negative_prompt, and seed. Top-level Cosmos3 request fields:
  • max_sequence_length: maximum text token length used by the Cosmos3 tokenizer.
  • flow_shift: per-request scheduler shift. If omitted, SGLang uses --flow-shift, then the mode default (3.0 for T2I and 10.0 for video/action).
Cosmos3 omnimodal fields are accepted as extra JSON fields or multipart form fields:
  • generate_sound: generate a sound track whose duration follows num_frames / fps.
  • sound_duration: explicit sound duration in seconds; takes precedence over the derived duration.
  • condition_frame_indexes: V2V latent-frame indexes to keep from the source video; defaults to [0, 1].
  • condition_video_keep: use the first or last source frames for V2V conditioning.
  • action_mode: policy, forward_dynamics, or inverse_dynamics.
  • domain_name / domain_id: select the action embodiment head.
  • raw_action_dim: number of active action dimensions; inferred for known domain names.
  • action: action array with shape [T, D], required by forward_dynamics.
  • action_fps: action-token frame rate for temporal mRoPE; defaults to the video FPS.
  • action_view_point: viewpoint used in the structured action caption.
  • action_normalization: dataset normalization mode, such as quantile, meanstd, or minmax.
Put model-specific compatibility knobs in extra_params for video requests, or extra_args for image requests:
  • use_duration_template: whether to append SGLang’s generated duration suffix to video prompts.
  • use_resolution_template: accepted for vLLM-Omni request compatibility.
  • use_system_prompt: whether to add the Cosmos3 system prompt to the chat template.
  • guardrails or use_guardrails: per-request guardrail toggle when the server started with guardrails enabled.