Echo-WM Base — Diffusers Format

This repository provides the Diffusers-format version of Echo-WM Base. The weights are converted from the official Echo-Team/Echo-WM checkpoint, with the model architecture and inference workflow adapted to the Diffusers Modular Pipeline API.

Echo-WM jointly generates video and synchronized environmental sound, music, and speech from an initial image, a text prompt, and a camera-action sequence.

Diffusers components

  • EchoWMTransformer3DModel
  • EchoWMModularPipeline
  • EchoWMBlocks

Installation

pip install -U diffusers transformers accelerate

Usage

The following example uses the official wm_cases/0010 input and camera trajectory.

import torch
from diffusers import ComponentsManager, ModularPipeline
from diffusers.utils import load_image

components_manager = ComponentsManager()
components_manager.enable_auto_cpu_offload(device="cuda")
pipe = ModularPipeline.from_pretrained(
    "Echo-Team/Echo-WM-Base-Diffusers", components_manager=components_manager
)
pipe.load_components(dtype=torch.bfloat16)

image = load_image(
    "https://raw.githubusercontent.com/jd-opensource/JoyAI-Echo/main/echo_wm/examples/wm_cases/0010/input.png"
)
prompt = """Environment: A fantasy canyon with a teal pool, pale cliffs, and a distant palace.
Character: A solitary adventurer in a teal cloak, seen from behind.
Style: Painterly cinematic fantasy with soft golden daylight.
Perspective: Wide third-person rear view at standing height.
Sounds: Water laps against the shore, birds echo between the cliffs, and leaves move in a light breeze.
Speech: None."""

result = pipe(
    image=image,
    prompt=prompt,
    negative_prompt="blurry, jittery, text, watermark",
    action="w-60,a-60,w-60,d-60",
    num_frames=241,
    num_inference_steps=30,
    generator=torch.Generator(device="cuda").manual_seed(34),
    output=["videos", "audio"],
)

video = result["videos"][0]
audio = result["audio"][0]

Camera controls

Each action segment uses the form <keys>-<duration>. W/S move forward or backward, A/D strafe, I/K pitch, J/L yaw, and none holds the camera still. Segments are joined with commas, for example w-60,a-60,w-60,d-60.

Original project

Citation

@article{zhang2026echowm,
  title         = {EchoWM: Open and Enterable Omnimodal World Models},
  author        = {Zhang, Songchun and Li, Yaowei and Zhuang, Junhao and Jin, Weiyang and Wang, Haoyu and Lu, Xin and Sun, Yilang and Zhang, Shiyi and Li, Haoran and Ma, Xiaoxiao and Li, Yuming and Liu, Yijun and Su, Yaofeng and Ma, Yanwen and Wu, Haoyu and Su, Zihan and Ma, Yue and Zhang, Lvmin and Huang, Haoyang and Xue, Zeyue and Rao, Anyi and Duan, Nan},
  journal       = {arXiv preprint arXiv:2608.23189},
  year          = {2026},
  eprint        = {2608.23189},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV}
}

License

Academic research and non-commercial use only. This model follows the LTX-2 Community License.

Downloads last month
49
Safetensors
Model size
20B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Echo-Team/Echo-WM-Base-Diffusers

Finetuned
(2)
this model

Paper for Echo-Team/Echo-WM-Base-Diffusers