worldcast / README.md
Liuyu's picture
model release
27635f2
|
Raw History Blame Contribute Delete
2.89 kB
---
license: apache-2.0
base_model: Wan-AI/Wan2.1-I2V-14B-720P
library_name: diffsynth
pipeline_tag: image-to-video
tags:
- image-to-video
- camera-control
- video-generation
- wan
---
# WorldCast — anchor-conditioned camera-control video generation
Trained external modules (a source self-attention bank + anchor channel
adapter + camera projection, ~2 GB) that attach to a **frozen**
Wan2.1-I2V-14B-720P backbone, enabling anchor-viewpoint-conditioned video
generation along explicit camera trajectories — `orbit_360` (full orbit
ring), `orbit_<N>[_cw|_ccw]` (horizontal arcs of any sweep),
`orbit_180_push` / `orbit_360_push` (push-pull arcs), `lemniscate`
(figure-8), `orbit_tilt_20`
(tilted orbit ring), `spiral` (SEVA 2-turn spiral), `zoom_in` / `zoom_out`
(dolly), `turn_left` /
`turn_right` (lateral trucks) — with Plücker camera-ray injection
and first-frame/body-view anchor conditioning.
## ⚠️ Note on model versions
**A version trained on a more diverse set of camera trajectories,
offering improved trajectory stability and support for a wider range of
camera motions, is currently undergoing internal review and is not yet
available for public release.** We will provide updates as soon as
further information becomes available.
## Files
| File | What it is |
|---|---|
| `checkpoints/worldcast_bank.safetensors` | the trained modules (`source_self_attn_bank.*` + `anchor_channel_adapter.*`), bank-only — the base DiT weights are NOT inside |
| `checkpoints/base_dit.safetensors` | the frozen base the bank was trained against (DiT-compatible weights + `camera_proj` + I2V channel adapter) — the two checkpoints must come from the same release |
## Requirements
- Code: the companion inference repository (WorldCast) — inference only,
no training code
- Base model: [Wan-AI/Wan2.1-I2V-14B-720P](https://huggingface.co/Wan-AI/Wan2.1-I2V-14B-720P)
(VAE / text-image encoders come from the base model tree)
- GPU: >= 48 GB VRAM recommended for 480x832, 81 frames
## Quickstart
```bash
git clone <worldcast-repo-url> worldcast && cd worldcast
pip install -r requirements.txt
# place weights
mkdir -p checkpoints pretrained
cp worldcast_bank.safetensors checkpoints/
cp base_dit.safetensors checkpoints/
# download the Wan2.1 base into pretrained/Wan2.1-I2V-14B-720P/
python demo.py \
--manifest demo_case_traj5.json \
--model_root pretrained/Wan2.1-I2V-14B-720P \
--ckpt checkpoints/worldcast_bank.safetensors \
--init_dit_from checkpoints/base_dit.safetensors
```
## Sampling defaults
50 steps / cfg 5.0 without a step-distillation LoRA; the bank is
architecture-locked to the training line's flags (per-layer proj_out bank
on DiT rope, 20 bank layers) — see the companion repository's README for
the full flag matrix.
## License
Apache-2.0 (the Wan2.1 base is Apache-2.0; these derived weights are
released under the same terms).