WanAnimatePlus Bernini
Bernini conditioning without the official PR — and the guidance cheat-sheet is included
- vae
- source_video
- reference_video
- reference_image_1
- reference_image_2
- reference_image_3
- reference_image_4
- reference_image_5
- reference_image_6
- reference_image_7
- reference_image_8
- reference_image_9
- reference_image_10
- image_embeds
- recommended_guidance
Bernini is ByteDance's maskless video-editing model built on Wan 2.2, and it's one of the two genuinely interesting things that happened to Wan in 2026. No mask, no ControlNet, no SAM pipeline - you describe the edit, it edits. Its headline trick is reference-to-video from up to five images that holds a character across camera cuts. This node is the conditioning front end that lets you run it inside the WanAnimatePlus fork instead of fighting the official ComfyUI PR.
How it works. You connect media, it VAE-encodes, and the result rides in as extra in-context tokens (context_latents) appended to your image embeds, with a per-stream RoPE so the model knows which tokens came from the source video and which came from each reference. The task type is inferred from what you plug in - source_video alone is v2v editing, reference_images alone is r2v, both is rv2v, neither is t2v. The task_type dropdown doesn't drive the task; it only selects which sampler guidance settings the node recommends.
What to connect. source_video is your edit base, resized to your output width/height. reference_video is moving content to composite into it, kept at native aspect. reference_image_1 through reference_image_10 are your in-context references - ten slots, though the model's own R2V claim is five, so treat extras as spare capacity. ref_max_size (default 848) caps the long edge of reference media. force_offload and tiled_vae are your VRAM levers; on a 12GB card both should be on.
The second output is the gift. Besides image_embeds, this node emits recommended_guidance, a STRING with the author's per-task sampler settings. It's a cheat-sheet you can read straight off the node:
- t2v (no media):
apg,apg_omega=4.0 - v2v:
apgwithapg_omega=4.0, orcfg_chainwithchain_omega_V=1.25,chain_omega_TI=4.0 - r2v:
apg_chainwithapg_omega_I=4.5,apg_omega_TI=4.0 - rv2v:
cfg_chainwithchain_omega_V=1.25,chain_omega_I=4.5,chain_omega_TI=4.0
You feed those into the WanAnimatePlus Sampler's guidance_mode and omega fields. This is the whole reason Bernini needs the fork's sampler - the official one has no apg_chain/cfg_chain modes.
Two honest warnings. First, Bernini editing costs roughly double a plain Wan 2.2 generation, because the source video is part of the model input - a 121-frame edit internally processes ~242 frames. Kijai said it plainly and people still act surprised. Second, it's mute: no audio, no first-frame/last-frame, no SVI extension. If your pipeline depends on any of that, stay on plain Wan 2.2. Prompt in instruction style, indexing references explicitly - "the man from image0, wearing the shirt from image2" - and keep clips inside the 81-frame window.
Output image_embeds wires into the WanAnimatePlus Sampler; grab recommended_guidance and set your guidance mode to match. This is the most interesting node in the pack.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| vae | WANVAE | — | |
| task_type | COMBO | t2v | Select your task type to see the recommended sampler guidance settings |
| width | INT | 83216–8192 | — |
| height | INT | 48016–8192 | — |
| num_frames | INT | 811–8192 | — |
| source_videoopt | IMAGE | Source video to edit/restyle (v2v/rv2v). Resized to width/height. Acts as the edit base. | |
| reference_videoopt | IMAGE | Moving content to composite into the source (video insertion), kept at native aspect. | |
| reference_image_1opt | IMAGE | Reference image 1, native aspect preserved. | |
| reference_image_2opt | IMAGE | Reference image 2, native aspect preserved. | |
| reference_image_3opt | IMAGE | Reference image 3, native aspect preserved. | |
| reference_image_4opt | IMAGE | Reference image 4, native aspect preserved. | |
| reference_image_5opt | IMAGE | Reference image 5, native aspect preserved. | |
| reference_image_6opt | IMAGE | Reference image 6, native aspect preserved. | |
| reference_image_7opt | IMAGE | Reference image 7, native aspect preserved. | |
| reference_image_8opt | IMAGE | Reference image 8, native aspect preserved. | |
| reference_image_9opt | IMAGE | Reference image 9, native aspect preserved. | |
| reference_image_10opt | IMAGE | Reference image 10, native aspect preserved. | |
| ref_max_sizeopt | INT | 84816–8192 | Max long-edge size for reference_video and reference_images. |
| force_offloadopt | BOOLEAN | true | Offload VAE after encoding to save VRAM |
| tiled_vaeopt | BOOLEAN | false | Use tiled VAE encoding for reduced memory use |
| by wuwukasi(bilibili)opt | BOOLEAN | true | Follow wuwukasi on bilibili |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image_embeds | WANVIDIMAGE_EMBEDS | — |
| recommended_guidance | STRING | — |