LiveWan / README.md
JonathanColetti's picture
LiveWan streaming demo on ZeroGPU
36cdb93 verified
|
Raw
History Blame
2.01 kB
metadata
title: LiveWan
emoji: 🎞️
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 6.24.0
app_file: app.py
python_version: '3.10'
short_description: Streaming text-to-video you can steer mid-stream
startup_duration_timeout: 1h
pinned: false
license: apache-2.0
models:
  - JonathanColetti/LiveWan
  - Wan-AI/Wan2.1-T2V-1.3B
tags:
  - text-to-video
  - streaming
  - real-time
  - wan2.1

LiveWan

Streaming, steerable text-to-video from a 1.3B student distilled out of Wan2.1-T2V-14B with SF-DMD. It generates video continuously rather than as a fixed clip — 750 ms of 640×368 at a time, extended block by block — and the text conditioning can be swapped mid-stream without clearing the K/V cache, so the scene continues instead of cutting.

What this Space runs

app.py drives the project's own serving engine, wanstreamer.serve.engine.Engine — the same code path livewan-serve runs locally. wanstreamer/ and wan21_patches/ here are copies of the GitHub repo's; the Wan2.1 reference code is cloned and patched at startup exactly as setup.sh does.

Two differences from running it locally, both forced by ZeroGPU:

  • Steering is a schedule, not a button. A GPU worker is forked per request and cannot be steered from outside while it runs, so the demo takes the swap up front ("switch to this prompt at t = N seconds"). The swap itself is the live one: Engine.steer replaces the cross-attention conditioning and leaves the cache in place.
  • No free text. Encoding it needs umt5-xxl, 11 GB on top of the 18 GB this Space already pulls at startup, so the selectors are the project's 96-prompt bank — which is the conditioning every published number refers to. Run the GitHub repo locally for free text.

torch.compile of the VAE decoder is also off, since it cannot run in a ZeroGPU worker. That costs roughly 50 ms per block.