Papers › VACE: All-in-One Video Creation and Editing

VACE: All-in-One Video Creation and Editing

10 Mar 2025arXiv:2503.07598archive 2025-07-28

Zeyinzi Jiang, Zhen Han, Chaojie Mao, Jingfeng Zhang, Yulin Pan, Yu Liu

Diffusion Transformer has demonstrated powerful capability and scalability in generating high-quality images and videos. Further pursuing the unification of generation and editing tasks has yielded significant progress in the domain of image content creation. However, due to the intrinsic demands for consistency across both temporal and spatial dynamics, achieving a unified approach for video synthesis remains challenging. We introduce VACE, which enables users to perform Video tasks within an All-in-one framework for Creation and Editing. These tasks include reference-to-video generation, video-to-video editing, and masked video-to-video editing. Specifically, we effectively integrate the requirements of various tasks by organizing video task inputs, such as editing, reference, and masking, into a unified interface referred to as the Video Condition Unit (VCU). Furthermore, by utilizing a Context Adapter structure, we inject different task concepts into the model using formalized representations of temporal and spatial dimensions, allowing it to handle arbitrary video synthesis tasks flexibly. Extensive experiments demonstrate that the unified model of VACE achieves performance on par with task-specific models across various subtasks. Simultaneously, it enables diverse applications through versatile task combinations. Project page: https://ali-vilab.github.io/VACE-Page/.

PaperPDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2503.07598")

Code

Syntology Ran 8 of 19 code samples harvested from 2 repositories linked to this paper; 11 have no recorded run. Of those that ran: 1 ran · violated contract; 1 ran · our draft was wrong; 1 ran · fixture could not drive it; 5 ran with no contract checked.

By repository: community (archive-listed): 19 samples from 2 repositories, 8 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

ali-vilab/vace mentioned on GitHubpytorchApache-2.0 report
wan-video/wan2.1 mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

19 samples harvested; 8 ran; 0 honoured the contract we drafted; 11 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · violated contract
1ran · our draft was wrong
1ran · fixture could not drive it
5ran
11unverified

Licence: 0 of the 19 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 2 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Head wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran Apache-2.0 (permissive) · 9227be90bae9b073 · report
MLPProj wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran Apache-2.0 (permissive) · a30839494a20b1e1 · report
WanLayerNorm wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran Apache-2.0 (permissive) · 414694f69ae6b8f9 · report
WanRMSNorm wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran Apache-2.0 (permissive) · f0af233187c10512 · report
WanSelfAttention wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran Apache-2.0 (permissive) · f929177cb0050047 · report
rope_apply wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran · our draft was wrong Apache-2.0 (permissive) · 1d28c4a06c930d63 · report
rope_params wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran · violated contract fingerprinted Apache-2.0 (permissive) · dc160d63c5846f4a · report
sinusoidal_embedding_1d wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) ran · fixture could not drive it fingerprinted Apache-2.0 (permissive) · e34a97853e924d88 · report
BaseWanAttentionBlock wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · d8fbfa2bfc03756b · report
VaceWanAttentionBlock wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 3bfd0f1f0b483509 · report
VaceWanModel wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · f640e494f36aac4d · report
WanAttentionBlock wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 1e5313e0a5236094 · report
WanI2VCrossAttention wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 9a0c2329e53e9f65 · report
WanModel wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · cf6067d2fe5bbb8c · report
WanT2VCrossAttention wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 1bae0faad8dabcc7 · report
filter_args ali-vilab/vace/vace/vace_pipeline.py community (archive-listed) unverified Apache-2.0 (permissive) · 76567eccecdf7882 · report
flash_attention wan-video/wan2.1/wan/modules/vace_model.py community (archive-listed) unverified Apache-2.0 (permissive) · 7ea44a4680b76539 · report
load_parser ali-vilab/vace/vace/vace_pipeline.py community (archive-listed) unverified Apache-2.0 (permissive) · eb2897a72245d867 · report
parse_bboxes ali-vilab/vace/vace/vace_preproccess.py community (archive-listed) unverified Apache-2.0 (permissive) · 73fe09ee58b99eef · report

Tasks

AllHuman-Domain Subject-to-VideoOpen-Domain Subject-to-VideoSingle-Domain Subject-to-VideoVideo EditingVideo Generation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B Aesthetics 0.4721 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B FaceSim 0.5509 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B GmeScore 0.6727 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B Motion 0.1502 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B NaturalScore 0.7278 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B NexusScore 0.4420 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B Total Score 0.5287 #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-14B Venue Open-Source #2 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B Aesthetics 0.4824 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B FaceSim 0.2058 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B GmeScore 0.7126 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B Motion 0.1883 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B NaturalScore 0.7178 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B NexusScore 0.3795 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B Total Score 0.4553 #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B Venue Open-Source #9 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview Aesthetics 0.4727 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview FaceSim 0.1658 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview GmeScore 0.7138 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview Motion 0.1203 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview NaturalScore 0.7056 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview NexusScore 0.4004 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview Total Score 0.4395 #10 of 10 Archive leaderboard report
Open-Domain Subject-to-Video OpenS2V-Eval Wan2.1-VACE-1.3B-Preview Venue Open-Source #10 of 10 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Absolute Position EncodingsAdamAdapterAttentionBPEDense ConnectionsDropoutLabel SmoothingLayer NormalizationLinear LayerMulti-Head AttentionPosition-Wise Feed-Forward LayerResidual ConnectionSoftmaxTransformer

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections