---
library_name: diffusers
tags:
- modular-diffusers
- diffusers
- cosmos3-omni
- text-to-image
---
This is a modular diffusion pipeline built with 🧨 Diffusers' modular pipeline framework.
**Pipeline Type**: Cosmos3OmniBlocks
**Description**: Modular pipeline blocks for Cosmos3 generation modes.
This pipeline uses a 5-block architecture that can be customized and extended.
## Example Usage
[TODO]
## Pipeline Architecture
This modular pipeline is composed of the following blocks:
1. **text_encoder** (`Cosmos3AutoTextEncoderStep`)
- Auto text encoder block for Cosmos3.
2. **vae_encoder** (`Cosmos3AutoVaeEncoderStep`)
- Auto VAE conditioning block for Cosmos3.
3. **denoise** (`Cosmos3AutoCoreDenoiseStep`)
- Selects the Cosmos3 core denoising workflow.
4. **decode** (`Cosmos3AutoDecodeStep`)
- Selects the Cosmos3 decode workflow.
5. **after_decode** (`Cosmos3ActionOutputStep`)
- Post-processes action latents into action outputs.
## Model Components
1. video_processor (`VideoProcessor`)
2. text_tokenizer (`AutoTokenizer`)
3. vae (`AutoencoderKLWan`)
4. transformer (`Cosmos3OmniTransformer`)
5. scheduler (`UniPCMultistepScheduler`)
6. sound_tokenizer (`Cosmos3AVAEAudioTokenizer`)
## Configuration Parameters
default_use_system_prompt (default: True)
enable_safety_checker (default: True)
use_native_flow_schedule (default: False)
## Workflow Input Specification
text2image
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `num_frames` (`int`, *optional*): Number of frames to generate.
text2video
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
image2video
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `image` (`None`, *optional*): Reference image for image-to-video conditioning.
video2video
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `video` (`None`, *optional*): Reference video for video-to-video conditioning.
text2video_with_sound
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
image2video_with_sound
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `image` (`None`, *optional*): Reference image for image-to-video conditioning.
video2video_with_sound
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `video` (`None`, *optional*): Reference video for video-to-video conditioning.
action_policy
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `action` (`CosmosActionCondition`): Action-conditioning metadata and its reference visual input.
action_forward_dynamics
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `action` (`CosmosActionCondition`): Action-conditioning metadata and its reference visual input.
action_inverse_dynamics
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `action` (`CosmosActionCondition`): Action-conditioning metadata and its reference visual input.
## Input/Output Specification
**Inputs:**
- `control_videos` (`dict`, *optional*): Mapping of hint name (edge/blur/depth/seg/wsm) to the control video for that modality.
- `height` (`int`, *optional*): Height of the generated video in pixels.
- `width` (`int`, *optional*): Width of the generated video in pixels.
- `num_frames` (`int`, *optional*): Optional cap on the number of output frames (defaults to the control video length).
- `num_video_frames_per_chunk` (`int`, *optional*): Number of pixel frames generated per autoregressive chunk.
- `num_conditional_frames` (`int`, *optional*, defaults to `1`): Number of frames each chunk reuses from the previous chunk's tail.
- `prompt` (`str`): The text prompt that guides Cosmos3 generation.
- `negative_prompt` (`str`, *optional*): The negative text prompt used for classifier-free guidance.
- `use_system_prompt` (`bool`, *optional*, defaults to `True`): Whether to prepend the Cosmos3 transfer system prompt.
- `action` (`CosmosActionCondition`, *optional*): Action-conditioning metadata and its reference visual input.
- `fps` (`float`, *optional*, defaults to `24.0`): Frame rate of the generated video.
- `add_resolution_template` (`bool`, *optional*, defaults to `True`): Whether to add resolution metadata to the prompt.
- `add_duration_template` (`bool`, *optional*, defaults to `True`): Whether to add duration metadata to the prompt.
- `video` (`None`, *optional*): Reference video for video-to-video conditioning.
- `condition_frame_indexes_vision` (`tuple | list`, *optional*, defaults to `(0, 1)`): Latent-frame indexes to preserve from the conditioning video.
- `condition_video_keep` (`str`, *optional*, defaults to `first`): Which end of a longer conditioning video to use: `first` or `last`.
- `image` (`None`, *optional*): Reference image for image-to-video conditioning.
- `chunk_id` (`int`, *optional*, defaults to `0`): Index of the current chunk.
- `previous_output` (`None`, *optional*): Decoded pixels of the previous chunk, used to seed later chunks.
- `num_first_chunk_conditional_frames` (`int`, *optional*, defaults to `0`): Number of frames the first chunk reuses from the input video.
- `generator` (`Generator`, *optional*): Torch generator for deterministic generation.
- `num_inference_steps` (`int`): The number of denoising steps.
- `**denoiser_input_fields` (`None`, *optional*): conditional model inputs for the denoiser: e.g. prompt_embeds, negative_prompt_embeds, etc.
- `guidance_scale` (`float`, *optional*, defaults to `6.0`): Scale for text classifier-free guidance.
- `control_guidance` (`float`, *optional*, defaults to `1.0`): Scale for the control (structural) guidance axis.
- `guidance_interval` (`tuple`, *optional*): Timestep interval [lo, hi] over which text guidance is active (None = always).
- `control_guidance_interval` (`tuple`, *optional*): Timestep interval [lo, hi] over which control guidance is active (None = always).
- `output_chunks` (`list`, *optional*): Decoded pixel chunks accumulated so far.
- `x0_tokens_vision` (`Tensor`, *optional*): Vision latents encoded from the conditioning image or video.
- `vision_condition_frames` (`list`, *optional*): Latent-frame indexes fixed by visual conditioning.
- `latents` (`Tensor`): Pre-generated noisy vision latents.
- `sound_latents` (`Tensor`, *optional*): Pre-generated noisy sound latents.
- `action_condition_frame_indexes` (`list`, *optional*): Action-frame indexes fixed by action conditioning.
- `action_latents` (`Tensor`, *optional*): Pre-generated noisy action latents.
- `enable_sound` (`bool`, *optional*, defaults to `False`): Whether to generate a synchronized sound track.
- `output_type` (`str`, *optional*, defaults to `pil`): Output format: 'pil', 'np', 'pt'.
**Outputs:**
- `videos` (`list`): The generated videos.
- `sound` (`Tensor`): Generated waveform.
- `sampling_rate` (`int`): Sample rate of the generated waveform in Hz.
- `action` (`list`): Generated action vectors.