Downloads · 30 days
8
11% of all-time downloads
Echo-Team/Echo-WM-Base-Diffusers
Echo-WM-Base-Diffusers is a image-to-video model from Echo-Team. Use it for the image-to-video task on the model card, and read the license before you ship it in a product. It is set up for diffusers. The card lists the license as other.
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 Diffus…
Downloads · 30 days
8
11% of all-time downloads
All-time downloads
72
Public
Parameters
19.8B
72.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors72.1 GB · 100%
From the Hugging Face model README
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.
EchoWMTransformer3DModelEchoWMModularPipelineEchoWMBlockspip install -U diffusers transformers accelerate av
The following example uses the official wm_cases/0010
input and camera trajectory.
import torch
from diffusers import ComponentsManager, ModularPipeline
from diffusers.utils import encode_video, 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"],
)
encode_video(
video=result["videos"][0],
audio=result["audio"][0].float().cpu(),
fps=24,
audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
output_path="echo_wm_av.mp4",
)
The pipeline returns clean frames. To draw a WASD/IJKL HUD, apply the Echo-WM postprocessing utility before encoding:
from diffusers.modular_pipelines.echo_wm import apply_action_overlay
video = apply_action_overlay(result["videos"][0], action="w-60,a-60,w-60,d-60")
encode_video(
video=video,
audio=result["audio"][0].float().cpu(),
fps=24,
audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
output_path="echo_wm_action_av.mp4",
)
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.
@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}
}
Academic research and non-commercial use only. This model follows the LTX-2 Community License.