Extensions/Comfyui-Echo-WM-T8
ComfyUI Extension

Comfyui-Echo-WM-T8

A ComfyUI extension with 3 custom nodes.

By T8mars·Created a day ago·Updated about 17 hours ago· 1
T8mars/Comfyui-Echo-WM-T8
Nodes3
On cloudLocal install
CategoryEcho-WM T8
Stars1
Updatedabout 17 hours ago
Readme

Echo-WM T8 nodes for ComfyUI

Echo-WM T8 exposes the real Echo-WM Flash Preview / 4-step Causal pipeline as three ComfyUI nodes. It accepts a first-frame IMAGE, prompt, and WASD/IJKL camera action, and returns ComfyUI's native VIDEO object without expanding the generated movie into an in-memory image batch.

The matching, license-gated model bundle is hosted at t8star/Echo-WM-Comfy. The model card links back to this node repository and records the exact upstream revisions and SHA-256 checksums.

Release downloads and the Windows Studio integration bundle are published on this repository's Releases page. The real ComfyUI path has been validated at 256×128, 25 frames, 24 fps with the Flash/Causal four-step schedule and an H.264 action-HUD output. Model weights remain separate in the gated Hugging Face bundle.

The node package intentionally contains no model dependencies. It launches echo_wm/inference_wm_causal.py with a separate Python interpreter, an argv list, and shell=False. Echo-WM's Torch/CUDA stack therefore cannot overwrite or import into the ComfyUI process.

Nodes

  • Isolated Runtime validates the Echo-WM source tree, dedicated Python, Flash checkpoint, Gemma 3 weights, GPU index, and optional FFmpeg path.
  • Action validates and canonicalizes the public action DSL. The built-in one-second and ten-second actions exactly match their generation presets.
  • Causal Flash Generate runs the 4-step distilled schedule with the bounded sink-plus-FIFO cache and returns native VIDEO plus JSON metadata.

The default is the smallest smoke test: 256×128, 25 frames, 24 fps. A 256×128, 241-frame (~10 second) low-resolution preset is also included. Requests above 384×224 or longer than 241 frames require explicit allow_high_resource; invalid shapes, mismatched action durations, low free system memory, missing weights, and accidental use of ComfyUI's Python are rejected before loading the model.

Install

Install this repository in ComfyUI/custom_nodes using ComfyUI-Manager or Git:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-Echo-WM-T8.git

Prepare Echo-WM in a different Python environment. From the upstream echo_wm directory:

conda create -n echo-wm python=3.11 -y
conda activate echo-wm
pip install torch==2.9.1 torchvision==0.24.1 torchaudio==2.9.1 \
  --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
hf auth login
hf download t8star/Echo-WM-Comfy --local-dir checkpoints

The model bundle is gated so recipients acknowledge both upstream licenses and their use restrictions before download. The Runtime node expects this layout unless paths are supplied:

echo_wm/
  inference_wm_causal.py
  checkpoints/
    echo-wm-flash.safetensors
    gemma-3/
      config.json
      *.safetensors

Set echo_wm_root, the dedicated environment's Python executable, and model_root in Isolated Runtime. Blank paths use ECHO_WM_ROOT, ECHO_WM_PYTHON, and ECHO_WM_MODEL_ROOT, then try common bundled layouts. FFMPEG_BIN is optional and only required for the action-HUD copy.

Open workflows/echo_wm_t8_smoke.json for a minimal graph. Choose matching pairs:

| Generate preset | Action preset | Output | | --- | --- | --- | | smoke_1s_256x128 | smoke_1s_forward_turn_jump | 25 frames | | low_10s_256x128 | low_10s_forward_turn_jump | 241 frames |

Cancelling the ComfyUI job terminates the isolated inference process tree. Each successful run writes an MP4, a log, and JSON metadata under ComfyUI/output/echo_wm_t8. Partial output is removed on failure or cancel. The subprocess boundary, path validation, environment handling, and Registry scanner rationale are documented in SECURITY.md.

Publish to the Comfy Registry

This repository follows the official Registry workflow. Its immutable package name is echo-wm-t8, Publisher ID is t8star, and the repository URL is set in pyproject.toml. Create a Registry publishing API key for t8star, add it to the GitHub repository as the Actions secret REGISTRY_ACCESS_TOKEN, then run the Publish to Comfy registry workflow. A push to main that changes pyproject.toml also triggers it. Bump the semantic version for every release.

Model weights are not distributed by this node package and remain subject to their respective upstream licenses. The separately hosted convenience mirror is t8star/Echo-WM-Comfy.