stevengrove commited on
Commit
8894deb
Β·
verified Β·
1 Parent(s): eab84ec

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +245 -32
README.md CHANGED
@@ -1,51 +1,222 @@
1
  ---
2
  license: apache-2.0
3
  language:
4
- - en
5
- - zh
6
  pipeline_tag: video-to-video
 
 
 
 
 
 
 
 
7
  ---
8
- <h1 align="center">JoyAI-Video-Edit<br><sub><sup>Real-Time Open-Ended Video Editing with Autoregressive Diffusion</sup></sub></h1>
9
 
10
- <div align="center">
11
 
12
- [![Arxiv](https://img.shields.io/badge/Report-PDF-red)](https://arxiv.org/abs/2608.03974)
13
- [![Project](https://img.shields.io/badge/Project-JoyAI--Video--Edit-333399)](https://github.com/jd-opensource/JoyAI-Video-Edit)
14
- [![Hugging Face](https://img.shields.io/badge/%F0%9F%A4%97%20Checkpoint-JoyAI--Video--Edit-yellow)](https://huggingface.co/jdopensource/JoyAI-Video-Edit)&#160;
15
- [![ModelScope](https://img.shields.io/badge/%F0%9F%A4%96%20ModelScope-JoyAI--Video--Edit-624aff)](https://modelscope.cn/models/jd-opensource/JoyAI-Video-Edit)&#160;
16
- [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
- </div>
 
 
 
 
 
 
20
 
21
  ## 🐢 JoyAI-Video-Edit
22
 
23
- JoyAI-Video-Edit is a real-time, instruction-guided video editing system for open-ended video streams. Given a live camera stream or uploaded video and a natural-language edit instruction, it edits frames causally as they arrive, without waiting for the full video, requiring a predefined video length, or revisiting future frames. In our deployment benchmark, the full end-to-end pipeline reaches 30.19 FPS at 720x1280, pushing video editing from offline batch processing toward interactive streaming generation.
24
 
25
- The system combines an MLLM-based condition encoder, a causal video VAE, and a 16B-parameter multimodal diffusion transformer. It is trained and deployed as an autoregressive diffusion editor, then accelerated with aligned autoregressive distribution matching distillation, long-horizon optimization, bounded KV-state inference, and deployment-oriented scheduling to sustain high-throughput 720p editing while reducing train-inference mismatch and accumulated temporal drift.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  ## πŸ’Ž Highlights
28
 
29
- - **Real-time open-ended editing.** Edits live or uploaded videos as frames arrive, without requiring the full sequence upfront.
30
- - **Diverse instruction control.** Supports subject edits, local edits, background changes, style transfer, motion changes, and reference-guided editing.
31
- - **Autoregressive diffusion design.** Combines an MLLM condition encoder, causal video VAE, and MMDiT backbone for streaming video editing.
32
- - **High-throughput 720p deployment.** Reaches 30.19 FPS end-to-end throughput at 720x1280 with bounded KV-state inference and stable per-chunk compute.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
  ## πŸš€ Quick Start
35
 
36
- ### 1. Install
 
 
 
 
 
 
 
37
 
38
  ```bash
39
  conda create -n joyai-video-edit python=3.10 -y
40
  conda activate joyai-video-edit
 
41
  python -m pip install -r requirements.txt
42
  ```
43
 
44
- ### 2. Prepare Checkpoints
 
 
 
 
 
 
 
 
 
 
 
45
 
46
- Download the released weights from the Hugging Face link above. MiMo-VL and the ONNX detector files are external runtime dependencies; see [`DEPLOYMENT.md`](DEPLOYMENT.md) for deployment details.
47
 
48
- ### 3. Launch
 
 
49
 
50
  ```bash
51
  cd deploy
@@ -58,25 +229,67 @@ Then open:
58
  http://localhost:8080
59
  ```
60
 
61
- For remote machines, bind the server to `0.0.0.0` and open the selected port, or use SSH port forwarding.
62
 
 
63
 
64
- ## πŸ“¦ Model Download
65
 
66
- Download the released JoyAI-Video-Edit weights from [Hugging Face](https://huggingface.co/jdopensource/JoyAI-Video-Edit), then place them under:
67
 
68
  ```text
69
- deploy/deps/checkpoints/JoyAI-Video-Edit/
70
- |-- dit/
71
- | `-- joyai_video_edit_dit_0804.pth
72
- `-- vae/
73
- |-- config.json
74
- `-- diffusion_pytorch_model.safetensors
75
  ```
76
 
77
- <a id="quick-start"></a>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
 
 
79
 
80
- ## License Agreement
81
 
82
- JoyAI-Video-Edit is licensed under Apache 2.0.
 
1
  ---
2
  license: apache-2.0
3
  language:
4
+ - en
5
+ - zh
6
  pipeline_tag: video-to-video
7
+ tags:
8
+ - video-editing
9
+ - video-to-video
10
+ - streaming-video
11
+ - real-time-video
12
+ - autoregressive-diffusion
13
+ - multimodal
14
+ - joyai
15
  ---
 
16
 
17
+ <h1 align="center">JoyAI-Video-Edit</h1>
18
 
19
+ <h3 align="center">
20
+ Real-Time Open-Ended Video Editing with Autoregressive Diffusion
21
+ </h3>
 
 
22
 
23
+ <p align="center">
24
+ <a href="https://arxiv.org/abs/2608.03974">
25
+ <img src="https://img.shields.io/badge/Paper-arXiv-red" alt="Paper">
26
+ </a>
27
+ <a href="https://github.com/jd-opensource/JoyAI-Video-Edit">
28
+ <img src="https://img.shields.io/badge/Code-GitHub-black" alt="GitHub">
29
+ </a>
30
+ <a href="https://huggingface.co/jdopensource/JoyAI-Video-Edit">
31
+ <img src="https://img.shields.io/badge/%F0%9F%A4%97%20Model-JoyAI--Video--Edit-yellow" alt="Hugging Face">
32
+ </a>
33
+ <a href="https://joyai-labs.jd.com/v2v/">
34
+ <img src="https://img.shields.io/badge/%F0%9F%9A%80%20Demo-Streaming--V2V-orange" alt="Demo">
35
+ </a>
36
+ <a href="https://github.com/jd-opensource/JoyAI-Video-Edit/blob/main/LICENSE">
37
+ <img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="License">
38
+ </a>
39
+ </p>
40
 
41
+ <p align="center">
42
+ <img
43
+ src="https://raw.githubusercontent.com/jd-opensource/JoyAI-Video-Edit/main/assets/teaser.jpg"
44
+ width="96%"
45
+ alt="JoyAI-Video-Edit teaser"
46
+ >
47
+ </p>
48
 
49
  ## 🐢 JoyAI-Video-Edit
50
 
51
+ **JoyAI-Video-Edit** is a real-time, instruction-guided video editing framework designed for open-ended video streams.
52
 
53
+ Unlike conventional offline video editing models that require a complete video before inference, JoyAI-Video-Edit processes frames **causally as they arrive**. It can continuously edit a live camera stream or an uploaded video according to natural-language instructions without accessing future frames or requiring a predefined video length.
54
+
55
+ The framework combines:
56
+
57
+ - an **MLLM-based condition encoder** for understanding editing instructions,
58
+ - a **causal video VAE** for streaming visual representation,
59
+ - and a **16B multimodal diffusion transformer** for high-quality video editing.
60
+
61
+ Through autoregressive diffusion modeling, aligned autoregressive distribution matching distillation, long-horizon optimization, bounded KV-state inference, and deployment-oriented scheduling, JoyAI-Video-Edit achieves stable long-range editing while substantially reducing inference latency.
62
+
63
+ Our deployment system reaches **30.19 FPS end-to-end at 720 Γ— 1280 resolution**, enabling real-time streaming video editing.
64
+
65
+ ---
66
+
67
+ ## πŸ”₯ News
68
+
69
+ - **2026.08.06** β€” πŸŽ‰ We released the live demo of JoyAI-Video-Edit.
70
+ Try it here: **[Streaming V2V Demo](https://joyai-labs.jd.com/v2v/)**
71
+
72
+ - **2026.08.05** β€” πŸŽ‰ We released the model checkpoints, deployment code, online demo, and technical report.
73
+
74
+ ---
75
 
76
  ## πŸ’Ž Highlights
77
 
78
+ ### ⚑ Real-Time Streaming Editing
79
+
80
+ JoyAI-Video-Edit edits frames continuously as they arrive instead of waiting for the entire video.
81
+
82
+ It supports open-ended streams and does not require a predefined video duration.
83
+
84
+ ### 🎯 Instruction-Guided Video Editing
85
+
86
+ The model supports a broad range of editing instructions, including:
87
+
88
+ - Subject modification
89
+ - Subject addition
90
+ - Subject removal
91
+ - Subject replacement
92
+ - Local object editing
93
+ - Background replacement
94
+ - Style transfer
95
+ - Appearance modification
96
+ - Motion editing
97
+ - Reference-guided video editing
98
+
99
+ ### πŸ”„ Autoregressive Diffusion
100
+
101
+ JoyAI-Video-Edit introduces an autoregressive diffusion framework consisting of:
102
+
103
+ - MLLM condition encoder
104
+ - Causal video VAE
105
+ - 16B multimodal diffusion transformer
106
+ - Chunk-wise autoregressive generation
107
+ - Long-horizon temporal optimization
108
+ - Bounded KV-state inference
109
+
110
+ ### πŸš€ Real-Time 720p Deployment
111
+
112
+ The full deployment pipeline achieves:
113
+
114
+ **30.19 FPS @ 720 Γ— 1280**
115
+
116
+ with end-to-end streaming inference.
117
+
118
+ ---
119
+
120
+ ## 🎬 Demo
121
+
122
+ Try our online real-time video editing demo:
123
+
124
+ πŸ‘‰ **https://joyai-labs.jd.com/v2v/**
125
+
126
+ Project repository:
127
+
128
+ πŸ‘‰ **https://github.com/jd-opensource/JoyAI-Video-Edit**
129
+
130
+ Technical report:
131
+
132
+ πŸ‘‰ **https://arxiv.org/abs/2608.03974**
133
+
134
+ ---
135
+
136
+ ## πŸ“¦ Model Download
137
+
138
+ The released JoyAI-Video-Edit checkpoints are hosted on Hugging Face.
139
+
140
+ ### Hugging Face CLI
141
+
142
+ First install the Hugging Face CLI:
143
+
144
+ ```bash
145
+ pip install -U huggingface_hub
146
+ ```
147
+
148
+ Then download the complete model repository:
149
+
150
+ ```bash
151
+ hf download jdopensource/JoyAI-Video-Edit \
152
+ --local-dir ./deploy/deps/checkpoints/JoyAI-Video-Edit
153
+ ```
154
+
155
+ Alternatively, you can use:
156
+
157
+ ```bash
158
+ huggingface-cli download jdopensource/JoyAI-Video-Edit \
159
+ --local-dir ./deploy/deps/checkpoints/JoyAI-Video-Edit
160
+ ```
161
+
162
+ The downloaded checkpoint directory should look like:
163
+
164
+ ```text
165
+ deploy/deps/checkpoints/JoyAI-Video-Edit/
166
+ β”œβ”€β”€ config.json
167
+ β”œβ”€β”€ dit/
168
+ β”‚ └── joyai_video_edit_dit_0804.pth
169
+ └── vae/
170
+ β”œβ”€β”€ config.json
171
+ └── diffusion_pytorch_model.safetensors
172
+ ```
173
+
174
+ > **Note**
175
+ >
176
+ > JoyAI-Video-Edit currently uses its own deployment and inference pipeline.
177
+ > The released checkpoint should **not** be loaded directly with
178
+ > `diffusers.DiffusionPipeline.from_pretrained()`.
179
+
180
+ MiMo-VL and the ONNX detector files are additional runtime dependencies. Please refer to the deployment documentation in the GitHub repository for details.
181
+
182
+ ---
183
 
184
  ## πŸš€ Quick Start
185
 
186
+ ### 1. Clone the Repository
187
+
188
+ ```bash
189
+ git clone https://github.com/jd-opensource/JoyAI-Video-Edit.git
190
+ cd JoyAI-Video-Edit
191
+ ```
192
+
193
+ ### 2. Create the Environment
194
 
195
  ```bash
196
  conda create -n joyai-video-edit python=3.10 -y
197
  conda activate joyai-video-edit
198
+
199
  python -m pip install -r requirements.txt
200
  ```
201
 
202
+ ### 3. Download JoyAI-Video-Edit
203
+
204
+ ```bash
205
+ hf download jdopensource/JoyAI-Video-Edit \
206
+ --local-dir ./deploy/deps/checkpoints/JoyAI-Video-Edit
207
+ ```
208
+
209
+ ### 4. Prepare Runtime Dependencies
210
+
211
+ MiMo-VL and the required ONNX detector files are external runtime dependencies.
212
+
213
+ Please follow:
214
 
215
+ **[DEPLOYMENT.md](https://github.com/jd-opensource/JoyAI-Video-Edit/blob/main/DEPLOYMENT.md)**
216
 
217
+ for detailed checkpoint preparation and deployment instructions.
218
+
219
+ ### 5. Launch
220
 
221
  ```bash
222
  cd deploy
 
229
  http://localhost:8080
230
  ```
231
 
232
+ For deployment on a remote server, bind the service to `0.0.0.0` and expose the selected port or use SSH port forwarding.
233
 
234
+ ---
235
 
236
+ ## πŸ› οΈ Custom Deployment
237
 
238
+ For custom deployment settings, edit:
239
 
240
  ```text
241
+ deploy/run_server.sh
 
 
 
 
 
242
  ```
243
 
244
+ You can configure:
245
+
246
+ - JoyAI-Video-Edit checkpoint paths
247
+ - CUDA device placement
248
+ - Server host
249
+ - Server port
250
+ - Runtime cache directories
251
+
252
+ The default deployment script uses persistent TorchInductor, Triton, and CUDA cache directories so that compiled artifacts can be reused across launches.
253
+
254
+ `TORCHINDUCTOR_AUTOGRAD_CACHE` is not required for inference-only serving.
255
+
256
+ ---
257
+
258
+ ## 🚧 Roadmap
259
+
260
+ - [ ] **Consumer GPU support**
261
+ Optimize deployment for consumer GPUs such as NVIDIA GeForce RTX 5090.
262
+
263
+ - [ ] **Stronger JoyAI-Video-Edit model**
264
+ Improve overall editing quality with a particular focus on reference-image-guided video editing (RV2V).
265
+
266
+ - [ ] **Training framework**
267
+ Release the complete training pipeline.
268
+
269
+ - [ ] **Data pipeline**
270
+ Release the data generation and processing framework.
271
+
272
+ ---
273
+
274
+ ## πŸ“š Citation
275
+
276
+ If JoyAI-Video-Edit is useful for your research or project, please cite:
277
+
278
+ ```bibtex
279
+ @article{xiao2026joyai,
280
+ title={JoyAI-Video-Edit: Real-Time Open-Ended Video Editing with Autoregressive Diffusion},
281
+ author={Xiao, Yicheng and Dai, Wenxun and Qin, Xinran and Song, Lin and Zhang, Maoquan and Xu, Hang and Chen, Yukang and Li, Yitong and Zhang, Guohui and Zhang, Yuan and Zhang, Xuying and Zhang, Tommy and Yuan, Jianlong and Li, Peihao and Lu, Shuai and Fu, Siming and Zhao, Chuyang and Han, Xin and Huang, Jie and Li, Wenbo and Ma, Guoqing and Huang, Wei and Qi, Xiaojuan and Huang, Haoyang and Duan, Nan},
282
+ journal={arXiv preprint arXiv:2608.03974},
283
+ year={2026}
284
+ }
285
+ ```
286
+
287
+ ---
288
+
289
+ ## πŸ“„ License
290
 
291
+ JoyAI-Video-Edit is released under the **Apache License 2.0**.
292
 
293
+ Please refer to the project repository for the complete license:
294
 
295
+ https://github.com/jd-opensource/JoyAI-Video-Edit/blob/main/LICENSE