JoyAI-Video-Edit: Real-Time Open-Ended Video Editing with Autoregressive Diffusion
Paper β’ 2608.03974 β’ Published β’ 95
How to use jdopensource/JoyAI-Video-Edit-Diffusers with Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("jdopensource/JoyAI-Video-Edit-Diffusers", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]This repository contains the Diffusers-format release of the JoyAI-Video-Edit 0811 checkpoint. It provides the JoyVideoEditPipeline, transformer, causal video VAE, and scheduler in the standard Diffusers directory layout.
The MiMo-VL text/vision encoder is not duplicated in this repository. Load it separately from XiaomiMiMo/MiMo-VL-7B-RL-2508, as shown below.
The checkpoint requires a Diffusers build containing JoyVideoEditPipeline. Until the implementation is available in a released Diffusers version, install the development branch:
pip install --upgrade torch transformers accelerate safetensors imageio-ffmpeg
pip install --upgrade "git+https://github.com/feice-huang/diffusers.git@add_joyvideoedit"
import torch
from diffusers import JoyVideoEditPipeline
from diffusers.utils import export_to_video, load_video
from transformers import AutoProcessor, Qwen2_5_VLForConditionalGeneration
model_id = "jdopensource/JoyAI-Video-Edit-Diffusers"
mimo_id = "XiaomiMiMo/MiMo-VL-7B-RL-2508"
processor = AutoProcessor.from_pretrained(mimo_id)
text_encoder = Qwen2_5_VLForConditionalGeneration.from_pretrained(
mimo_id,
torch_dtype=torch.bfloat16,
)
pipe = JoyVideoEditPipeline.from_pretrained(
model_id,
text_encoder=text_encoder,
processor=processor,
torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()
video = load_video("input.mp4")
result = pipe(
video=video,
prompt="Turn the scene into a watercolor painting.",
num_inference_steps=2,
generator=torch.Generator(device="cuda").manual_seed(0),
output_type="pil",
)
export_to_video(result.frames[0], "output.mp4", fps=16)
negative_prompt or guidance_scale.8 * n + 1 after preprocessing.24. If omitted, they default to the source video dimensions.num_inference_steps=2 is the checkpoint's standard inference setting.output_type values are "pil", "np", "pt", and "latent".ref_image is optional and enables reference-image-guided editing.text_encoder, tokenizer, or processor; these are loaded from MiMo-VL or replaced with precomputed embeddings.JoyAI-Video-Edit-Diffusers/
βββ model_index.json
βββ scheduler/
β βββ scheduler_config.json
βββ transformer/
β βββ config.json
β βββ diffusion_pytorch_model.safetensors.index.json
β βββ diffusion_pytorch_model-00001-of-00007.safetensors ...
βββ vae/
βββ config.json
βββ diffusion_pytorch_model.safetensors
@article{xiao2026joyai,
title={JoyAI-Video-Edit: Real-Time Open-Ended Video Editing with Autoregressive Diffusion},
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},
journal={arXiv preprint arXiv:2608.03974},
year={2026}
}
Apache License 2.0. See the original project for details.
Base model
jdopensource/JoyAI-Video-Edit