Skip to main content

ComfyUI Bernini-R Introduction

Bernini-R is ByteDance’s renderer-only Wan 2.2 model for in-context image and video conditioning. It uses a set of conditioning streams (source video, reference images, reference video) to guide generation — no LoRA training or fine-tuning required. Key capabilities:
  • Multiple task types in one model: image/video generation, editing, relighting, restyling, subject insertion
  • In-context conditioning: reference images/videos act as visual prompts, injected as tokens
  • Lightweight: renderer-only model — no diffusion-based text-to-video backbone
  • Flexible input support: single or multi-image references, video-to-video, reference-guided editing
Bernini-R supports these task types:
TaskInputsDescription
t2vText promptText-to-video generation
v2vSource videoVideo-to-video restyling
rv2vSource video + ref images(s)Reference-guided video editing (relighting, subject insertion)
r2vReference image(s) onlyReference-to-video generation
imgSource image + text promptImage editing (relighting, restyling, subject insertion)
ads2vSource video + ref videoInsert image/video content into source video
Make sure your ComfyUI is updated.Workflows in this guide can be found in the Workflow Templates. If you can’t find them in the template, your ComfyUI may be outdated. (Desktop version’s update will delay sometime)If nodes are missing when loading a workflow, possible reasons:
  1. You are not using the latest ComfyUI version (Nightly version)
  2. Some nodes failed to import at startup
ComfyUI now natively supports Bernini-R nodes. Make sure you have updated to the latest version of ComfyUI before starting.

Model Installation

Download the required model weights and save them to the corresponding ComfyUI folders: text_encoders: vae: loras: diffusion_models:
ComfyUI/
├── models/
│   ├── text_encoders/
│   │   └── umt5_xxl_fp8_e4m3fn_scaled.safetensors
│   ├── vae/
│   │   └── Wan2_1_VAE_bf16.safetensors
│   ├── loras/
│   │   └── lightx2v_T2V_14B_cfg_step_distill_v2_lora_rank64_bf16.safetensors
│   ├── diffusion_models/
│   │   └── wan2.2_bernini_r_fp16.safetensors

Example Workflows


1. Image Editing

What it does: Generate an edited image with matched lighting and view a side-by-side before/after comparison. Ideal for portrait and product relighting, consistent lighting across photo sets, and e-commerce catalog photography.

Download Workflow

Download JSON or search “Bernini-R” in Template Library

Run on Comfy Cloud

Open in Comfy Cloud
Bernini-R Image Editing outputBernini-R Image Editing comparison

Steps to Run

  1. Select Task Type — choose your task (Image Editing, Subject to Image, etc.)
  2. Connect Inputs — load source image and optional reference images
  3. Write Prompt — describe the desired edit
  4. Run — click Queue or use Cmd+Enter
Reference Image input: Use for Subject to Image when you need one or more reference images (subject, outfit, scene, props). In the prompt, use image0, image1, … to reference each image. Not needed for Image Editing — that task uses source_image instead.

Learn about Subgraph

This workflow uses Subgraph nodes for modular processing. Check out the Subgraph documentation to learn how to customize and extend the workflow.

2. Video Editing

What it does: Generate an edited video with consistent relighting using Bernini-R. Connect a source video, optional reference image(s) or reference video, pick the task type, write a prompt, and run.

Download Workflow

Download JSON or search “Bernini-R” in Template Library

Run on Comfy Cloud

Open in Comfy Cloud
Bernini-R Video Editing preview

Steps to Run

  1. Load Source Video — connect your input video
  2. (Optional) Load References — reference image(s) or reference video
  3. Select Task Type — v2v, rv2v, r2v, or ads2v
  4. Write Prompt — describe the desired edit
  5. Run — click Queue or use Cmd+Enter
Reference Image input: Use when a task needs one or more reference images (rv2v, r2v, multi-piece outfits). Each batched image becomes its own in-context token. Mention image0, image1, … in the prompt if references play different roles.

Learn about Subgraph

This workflow uses Subgraph nodes for modular processing. Check out the Subgraph documentation to learn how to customize and extend the workflow.

Community Resources