CoolFace
Modelpublic

jdopensource/JoyAI-Video-Edit-Diffusers

sourceHugging Faceapache-2.0updated 14d agoView on Hugging Face
2likes78downloads
Model Card

JoyAI-Video-Edit Diffusers

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.

Links

Installation

The checkpoint requires a Diffusers build containing JoyVideoEditPipeline. Until the implementation is available in a released Diffusers version, install the development branch:

bash
pip install --upgrade torch transformers accelerate safetensors imageio-ffmpeg
pip install --upgrade "git+https://github.com/feice-huang/diffusers.git@add_joyvideoedit"

Usage

python
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)

Input and output notes

  • The pipeline performs flow-matching denoising and does not use classifier-free guidance. It does not accept negative_prompt or guidance_scale.
  • The source video frame count must be 8 * n + 1 after preprocessing.
  • Output height and width must be divisible by 24. If omitted, they default to the source video dimensions.
  • num_inference_steps=2 is the checkpoint's standard inference setting.
  • Supported output_type values are "pil", "np", "pt", and "latent".
  • ref_image is optional and enables reference-image-guided editing.
  • The repository does not include text_encoder, tokenizer, or processor; these are loaded from MiMo-VL or replaced with precomputed embeddings.

Repository structure

text
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

Citation

bibtex
@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}
}

License

Apache License 2.0. See the original project for details.