Ditto

EzioBy更新放缓

基于扩散模型的指令式视频编辑方案,配套高质量合成数据集,解决视频编辑训练数据稀缺、难以规模化的问题。

[CVPR'26 Highlight] Ditto: Scaling Instruction-Based Video Editing with a High-Quality Synthetic Dataset

暂无版本634star51fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
conda create -n ditto python=3.10
conda activate ditto
pip install -e .
bash infer_local.sh
硬件要求按 README 说明

ComfyUI 路径下 832×480×73 视频需 11G 显存,A6000 上约 4 分钟;DiffSynth 路径基于 Wan2.1-VACE-14B,README 未给出具体显存数值。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

基于指令的视频编辑模型与百万级合成数据集,提供可直接推理和训练的完整方案

基于扩散模型的指令式视频编辑方案,配套高质量合成数据集,解决视频编辑训练数据稀缺、难以规模化的问题。

核心能力

  • 用智能体生成指令并过滤输出,构建 Ditto-1M 百万级视频编辑数据集
  • 融合图像编辑器与上下文视频生成器,生成高质量编辑数据
  • 采用蒸馏模型架构加时序增强器,降低算力并提升时序一致性
  • 提供 DiffSynth 与 ComfyUI 两套推理流程,含现成工作流 JSON
  • 用课程学习策略在 Ditto-1M 上训练出 Editto 编辑模型

容易踩的坑

需先下载 Wan2.1-VACE-14B 基础模型和 Ditto 权重到指定目录,否则无法推理;ComfyUI 路径需额外安装 WanVideoWrapper、KJNodes、VideoHelperSuite 等自定义节点并手动放置多个权重文件;ComfyUI 使用量化蒸馏模型,画质可能下降;Denoising Enhancing 需单独进入目录安装 Wan2.2 依赖并下载 Wan2.2-T2V-A14B。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Ditto: Scaling Instruction-Based Video Editing with a High-Quality Synthetic Dataset

    Ditto: Scaling Instruction-Based Video Editing with a High-Quality Synthetic Dataset Qingyan Bai, Qiuyu Wang, Hao Ouyang, Yue Yu, Hanlin Wang, Wen Wang, Ka Leong Cheng, Shuailei Ma, Yanhong Zeng, Zichen Liu, Yinghao Xu, Yujun Shen, Qifeng Chen

    🔗 Links & Resources

    [📄 Paper] [🌐 Project Page] [📦 Model Weights] [📊 Dataset] [🤗 Hugging Face Demo]

    TL;DR

    To solve the data scarcity problem, we introduce a scalable pipeline Ditto, for generating high-quality video editing data, which is used to train a new state-of-the-art instruction-based video editing model, Editto.

    Summary

    We introduce Ditto, a holistic framework designed to tackle the fundamental challenge of instruction-based video editing. At its heart, Ditto features a novel data generation pipeline that fuses the creative diversity of a leading image editor with an in-context video generator, overcoming the limited scope of existing models. To make this process viable, our framework resolves the prohibitive cost-quality trade-off by employing an efficient, distilled model architecture augmented by a temporal enhancer, which simultaneously reduces computational overhead and improves temporal coherence. Finally, to achieve full scalability, this entire pipeline is driven by an intelligent agent that crafts diverse instructions and rigorously filters the output, ensuring quality control at scale. Using this framework, we invested over 12,000 GPU-days to build Ditto-1M, a new dataset of one million high-fidelity video editing examples. We trained our model, Editto, on Ditto-1M with a curriculum learning strategy. The results demonstrate superior instruction-following ability and establish a new SOTA in instruction-based video editing.

    Updating List

    • 10/29/2025 - Release the Hugging Face online demo.
    • 10/27/2025 - Add codes for Denoising Enhancing.
    • 10/22/2025 - We have uploaded the csvs that can be directly used for model training with DiffSynth-Studio, as well as the metadata json for sim2real setting.
    • 10/22/2025 - We finish uploading all the videos of the dataset!

    Model Usage

    1. Using with DiffSynth

    Environment Setup
    # Create conda environment (if you already have a DiffSynth conda environment, you can reuse it)
    conda create -n ditto python=3.10
    conda activate ditto
    pip install -e .
    
    Download Models

    Download the base model and our models from Google Drive or Hugging Face:

    # Download Wan-AI/Wan2.1-VACE-14B from Hugging Face to models/Wan-AI/
    hf download Wan-AI/Wan2.1-VACE-14B --local-dir models/Wan-AI/
    
    # Download Ditto models
    hf download QingyanBai/Ditto_models --include="models/*" --local-dir ./
    
    Usage

    To test the local editing model with one command, simply run:

    # Automatically downloads weights and test data, then runs tests in parallel
    bash infer_local.sh
    

    For general-purpose editing, you can also use the provided script or run Python directly:

    # Use the provided script
    bash infer.sh
    
    # Run Python directly
    python inference/infer_ditto.py \
        --input_video /path/to/input_video.mp4 \
        --output_video /path/to/output_video.mp4 \
        --prompt "Editing instruction." \
        --lora_path /path/to/model.safetensors \
        --num_frames 73 \
        --device_id 0
    

    Some test cases could be found at HF Dataset. You can also find some reference editing prompts in inference/example_prompts.txt.

    2. Using with ComfyUI

    Note: While ComfyUI runs faster with lower computational requirements (832×480x73 videos need 11G GPU memory and ~4min on A6000), please note that due to the use of quantized and distilled models, there may be some quality degradation.

    Environment Setup

    First, follow the ComfyUI installation guide to set up the base ComfyUI environment. We strongly recommend installing ComfyUI-Manager for easy custom node management:

    # Install ComfyUI-Manager
    cd ComfyUI/custom_nodes
    git clone https://github.com/Comfy-Org/ComfyUI-Manager.git
    

    After installing ComfyUI, you can either:

    Option 1 (Recommended): Use ComfyUI-Manager to automatically install all required custom nodes with the function Install Missing Custom Nodes.

    Option 2: Manually install the required custom nodes (you can refer to this page):

    Download Models

    Download the required model weights from: Kijai/WanVideo_comfy to subfolders of models/. Required files include:

    Download our models from Google Drive or Hugging Face to diffusion_models/ (use VACE Module Select node for loading).

    Usage

    Use the workflow ditto_comfyui_workflow.json in this repo to get started. We provided some reference prompts in the note. Some test cases could be found at HF Dataset.

    Note: If you want to test sim2real cases, you can try prompts like 'Turn it into the real domain'.

    Model Training

    Training Setup

    To train a model, you can first download the training CSV files from the csvs directory on Hugging Face, then use the provided train.sh script for training.

    # Download the training CSVs from HF dataset to your local directory
    hf download QingyanBai/Ditto-1M --include="csvs_for_DiffSynth/*" --local-dir ./
    
    # Run training
    bash train.sh
    

    Multi-Node Training

    Thanks to DiffSynth-Studio, this codebase supports multi-node training. You can consider using DLRover to support training across multiple machines.

    Denoising Enhancing

    To use the denoising enhancing functionality, first install requirements for Wan2.2:

    cd denoising_enhancing
    pip install -e .
    

    Download the Wan-AI/Wan2.2-T2V-A14B model, then save the paths of videos to be processed into a txt file - the test case can be found here. Run the script:

    bash run_video_enhancing.sh
    

    Citation

    If you find this work useful, please consider citing our paper:

    @inproceedings{bai2026scaling,
      title={Scaling instruction-based video editing with a high-quality synthetic dataset},
      author={Bai, Qingyan and Wang, Qiuyu and Ouyang, Hao and Yu, Yue and Wang, Hanlin and Wang, Wen and Cheng, Ka Leong and Ma, Shuailei and Zeng, Yanhong and Liu, Zichen and Xu, Yinghao and Shen, Yujun and Chen, Qifeng},
      booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
      year={2026}
    }
    

    Acknowledgments

    We thank Wan & VACE & Qwen-Image for providing the powerful foundation model, and QwenVL for the advanced visual understanding capabilities. We also thank DiffSynth-Studio serving as the codebase for this repository.

    License

    This project is licensed under the CC BY-NC-SA 4.0(Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License).

    The code is provided for academic research purposes only.

    For any questions, please contact [email protected].