File size: 9,145 Bytes
f305224 5f0e154 f305224 9789b58 5f0e154 7c3edb5 5f0e154 7c3edb5 5f0e154 9789b58 5f0e154 7c3edb5 5f0e154 7c3edb5 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 7c3edb5 5f0e154 7c3edb5 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 7c3edb5 5f0e154 9789b58 5f0e154 7c3edb5 5f0e154 9789b58 5f0e154 7c3edb5 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 7c3edb5 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 7c3edb5 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 5f0e154 9789b58 7c3edb5 9789b58 5f0e154 9789b58 7c3edb5 9789b58 5f0e154 7c3edb5 5f0e154 7c3edb5 5f0e154 7c3edb5 5f0e154 b2905a8 7c3edb5 5f0e154 7c3edb5 5f0e154 7c3edb5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | ---
license: other
license_name: ltx-2-community-license-agreement
license_link: https://github.com/Lightricks/LTX-2/blob/main/LICENSE
pipeline_tag: text-to-video
tags:
- text-to-video
- video-generation
- audio-video-generation
- long-video
- multi-shot
- dmd
library_name: ltx-video
---
<p align="center">
<img src="assets/image.png" alt="JoyAI-Echo generated video gallery" width="100%">
</p>
<div align="center">
<h1>JoyAI-Echo</h1>
<p><strong>π¬ Pushing the Frontier of Long Video Generation</strong></p>
<p>Official model weights for <strong>minute-level multi-shot audio-video generation</strong> with a distilled DMD generator, paired cross-modal memory, and story-level consistency.</p>
<p><strong>For academic research and non-commercial use only.</strong></p>
<p>
<a href="https://github.com/jd-opensource/JoyAI-Echo/blob/main/joyai-echo%20tech%20report.pdf"><b>π Paper</b></a> |
<a href="https://echo-team-joy-future-academy-jd.github.io/Echo-LongVideo-Page/"><b>π Project Page</b></a> |
<a href="https://github.com/jd-opensource/JoyAI-Echo"><b>π» Inference Code</b></a> |
<a href="#model-details"><b>𧬠Model</b></a> |
<a href="#usage"><b>π Usage</b></a> |
<a href="#results"><b>π Results</b></a> |
<a href="#citation"><b>π Citation</b></a>
</p>
<p>
<img src="https://img.shields.io/badge/Task-Text--to--Video-blue?style=flat-square" alt="Text-to-Video">
<img src="https://img.shields.io/badge/Modality-Audio%2BVideo-purple?style=flat-square" alt="Audio + Video">
<img src="https://img.shields.io/badge/Long%20Video-5%20min-d61f2c?style=flat-square" alt="5 minute long video">
<img src="https://img.shields.io/badge/Release-Model%20Weights-black?style=flat-square" alt="Model Weights">
</p>
</div>
## Model Summary
**JoyAI-Echo** is a long-form, multi-shot, audio-video generation framework that breaks the barriers of error accumulation, weak temporal coherence, and prohibitive latency in long video generation. A cross-modal audio-visual memory bank preserves character appearance and voice timbre consistently over **five-minute** videos, while a post-training pipeline combining memory-based reinforcement learning with distribution matching distillation (DMD) delivers a **7.5Γ inference speedup** without sacrificing quality.
JoyAI-Echo decisively outperforms *HappyOyster* (directing mode) on long-form generation and even surpasses the short-video specialist *Wan 2.6* on human-centric tasks.
This repository hosts the **released checkpoint**. Inference code is released separately β see the [Usage](#usage) section.
## Model Details
- **Developed by:** Echo Team @ Joy Future Academy, JD
- **Model type:** Text-to-(Audio+Video) diffusion transformer, DMD 8-step
- **Modality:** Text β synchronized video + audio
- **Backbone:** Built on top of [LTX-Video](https://github.com/Lightricks/LTX-Video)
- **Text encoder:** [`google/gemma-3-12b-it`](https://huggingface.co/google/gemma-3-12b-it) (downloaded separately)
- **Resolution / length (by default):** 1280 Γ 736, 241 frames @ 25 fps per shot
- **Max story length:** up to 5 minutes (multi-shot)
- **License:** LTX-2 Community License Agreement
## Highlights
- ποΈ **Minute-level multi-shot stories**: generate a sequence of coherent shots from one prompt JSON.
- β‘ **DMD-distilled few-step inference**: ~7.5Γ faster than the original pipeline.
- π **Joint audio-video generation**: one pipeline produces synchronized video and audio.
- π§ **Paired cross-modal memory bank**: conditions each new shot on prior visual identity and voice context for story-level consistency.
## Demo Gallery
Explore long-form and short-form JoyAI-Echo cases on the [Project Page](https://echo-team-joy-future-academy-jd.github.io/Echo-LongVideo-Page/). πΏ
## Usage
Inference is run with the standalone **JoyAI-Echo** inference repository.
### 1. Download the checkpoint
```bash
huggingface-cli download jdopensource/JoyAI-Echo \
--local-dir checkpoints
```
Also download the Gemma text encoder:
```bash
huggingface-cli download google/gemma-3-12b-it \
--local-dir checkpoints/gemma-3-12b
```
Expected layout:
```text
checkpoints/
βββ echo-longvideo-release.safetensors
βββ gemma-3-12b/
```
### 2. Get the inference code
```bash
git clone https://github.com/jd-opensource/JoyAI-Echo.git
cd JoyAI-Echo
```
Environment: **Python 3.11 + PyTorch 2.8 + CUDA 12.8** (see the inference repo's `environment.yml` / `requirements.txt`).
### 3. Write a story prompt
**Enhance your prompt first.** We provide prompt enhancers β system prompts that expand a short story or idea into well-formed shot prompts: **`prompts/long_story_writer_system_prompt.md`** for long, multi-shot video, and **`prompts/short_story_writer_system_prompt.md`** for single-shot short video. We **strongly recommend** running your input through the matching enhancer before inference; un-enhanced prompts tend to produce noticeably weaker results.
Create a JSON file under `prompts/`. Each file is a single object with a `prompts` list, where **every string is one complete shot**. A single string produces one shot; multiple strings produce a multi-shot story, with each new shot conditioned on the previous ones through the paired audio-video memory bank.
Inside each string, write these parts in order:
| Part | What to describe |
| --- | --- |
| **Roles & Subjects** | Describe the appearance of all visible people, including age, build, hair, face, wardrobe, and speaking voice timbre when applicable. |
| **Action & Dialogue** | What the subject does and speaks. |
| **Style** | The overall visual and emotional aesthetic β e.g. realistic motorsport film language, cool daylight, restrained cinematic tension. |
| **Camera Movement** | The shot type and framing or movement β e.g. a stable close-up on the face, or a medium shot from the waist up. |
| **Background** | The setting and scene details behind the subject. |
| **Sound Effects & BGM** | The sounds in the scene and the background music β e.g. room tone, wind, footsteps and fabric, with a soft low music bed under the dialogue or no background music. |
### 4. Run
```bash
python inference.py
```
Outputs land in `inference_result/outputs/<prompt-name>/inference_<timestamp>/`.
## Hardware
Peak GPU memory is **~46β50 GB** at the default 1280 Γ 736 Γ 241 frame setting β a single H100/A100 (80 GB) or 48 GB GPU is sufficient. For smaller GPUs, lower resolution or frame count:
```bash
python inference.py --num-frames 121 --video-height 480 --video-width 832
```
## Results
### Reported Scale
| Item | Value |
| --- | ---: |
| π¬ Long-form coherent story length | **5 min** |
| β‘ Generation speedup over the original multi-step pipeline | **7.5Γ** |
| π Benchmark stories | **100** |
| ποΈ Generated evaluation shots | **3,000** |
| π Frames per shot | **241 @ 25 fps** |
### Human Evaluation
GSB user study on long- and short-video generation. The numbers denote the percentage of user preferences.
| Aspect (Long Video) | JoyAI-Echo | Tie | HappyOyster (Directing) |
| --- | ---: | ---: | ---: |
| Visual aesthetics | **63.6%** | 8.8% | 27.6% |
| Audio quality | **81.7%** | 6.5% | 11.8% |
| Prompt following | **80.6%** | 13.5% | 5.9% |
| IP consistency | **59.4%** | 12.9% | 27.7% |
| Aspect (Short Video) | JoyAI-Echo | Tie | Wan 2.6 |
| --- | ---: | ---: | ---: |
| Visual aesthetics | **58.8%** | 14.7% | 26.5% |
| Audio quality | 32.3% | 30.9% | 36.8% |
| Prompt following | 33.8% | 36.8% | 29.4% |
## Links
- Project page: [`https://echo-team-joy-future-academy-jd.github.io/Echo-LongVideo-Page/`](https://echo-team-joy-future-academy-jd.github.io/Echo-LongVideo-Page/)
- Inference code: [`https://github.com/jd-opensource/JoyAI-Echo`](https://github.com/jd-opensource/JoyAI-Echo)
- HuggingFace: [`https://huggingface.co/jdopensource/JoyAI-Echo`](https://huggingface.co/jdopensource/JoyAI-Echo)
## Acknowledgements
We gratefully acknowledge the open-source projects this work builds upon β in particular [LTX2.3](https://huggingface.co/Lightricks/LTX-2.3) for the base video generator and [Gemma](https://huggingface.co/google/gemma-3-12b-it) for the text encoder. Thanks to the broader research community whose contributions made this release possible.
## Citation
If JoyAI-Echo helps your research or products, please cite:
```bibtex
@techreport{echo2026JoyEcho,
title = {JoyAI-Echo: Pushing the Frontier of Long Video Generation},
author = {{Echo Team @ Joy Future Academy, JD}},
institution = {Joy Future Academy, JD},
year = {2026},
month = {May}
}
```
## License
This project is based on LTX-2 by Lightricks Ltd.
Portions of the original LTX-2 codebase have been modified by JD.com for academic and research purposes only.
This project is not intended for commercial use. For commercial use of LTX-2 or its derivatives, please contact Lightricks Ltd.
All original copyright, license, patent, trademark, and attribution notices from LTX-2 are retained.
This project remains subject to the LTX-2 Community License Agreement.
|