Bernini: ByteDance Open Source Video Generation and Editing (Apache 2.0)

Share this post:
Bernini: ByteDance Open Source Video Generation and Editing (Apache 2.0)
ByteDance Research released Bernini on June 1, 2026, publishing the full model weights and inference code under the Apache 2.0 license, confirming commercial use. The model is built on top of the Wan 2.2 T2V-A14B base (14 billion parameters) and handles video generation and video editing in a single framework. Unlike Lance, ByteDance's earlier unified model, Bernini separates the work of understanding an edit from the work of rendering it.
Four Tasks, One Model
Bernini supports four core editing and generation tasks. The first is V2V, which edits an existing video using a text prompt. The second is RV2V, reference guided video editing, which takes a reference image alongside the source video and applies the reference image's content or visual style to the footage. The third is content insertion, which places a separate image or video clip directly into an existing video. The fourth is R2V, which generates a video from up to five reference images rather than from text alone.
In addition to these four editing tasks, Bernini also handles text to image, image editing, and text-to-video generation. The result is a model that covers both the creation side and the post production side of an AI video workflow under one Apache 2.0 license.
The four task design distinguishes Bernini from models that specialize in a single editing operation. A reference guided edit, a content insertion, and a video generation task can run through the same model weights and inference pipeline. Production workflows that need multiple different operations on the same footage benefit from this directly: switching between models adds friction that a single unified model removes.
How It Works
Most open source video generation models condition image generation on text prompts alone. Bernini adds an upstream reasoning step. A multimodal language model acts as a semantic planner, reading the full set of inputs (text instruction, reference images, source video) and predicting a target semantic embedding before any pixel generation begins.
A DiT based renderer then runs flow matching denoising conditioned on that semantic embedding plus the original text and visual features. The model introduces Segment-Aware 3D Rotary Positional Embedding (SA-3D RoPE) to distinguish tokens from different visual segments during this process. SA-3D RoPE gives the model a way to track which tokens belong to the source video, which belong to a reference image, and which belong to an inserted clip, enabling chain of thought reasoning over the full multimodal input.
Standard rotary positional embedding encodes spatial and temporal position within a single input. SA-3D RoPE adds a segment dimension on top of that, allowing the model to identify which input source each token comes from while still tracking where it sits in space and time. That capability is what allows the renderer to handle multiple input sources in one forward pass rather than requiring separate processing pipelines for each input type.
What Latent Semantic Planning Changes
Most video editing models condition generation directly on text and visual inputs without a dedicated reasoning step. The description and source video are passed together to the renderer, which must simultaneously interpret the edit instruction and execute it.
Bernini separates these steps. The multimodal language model runs first, reading all inputs and predicting a semantic embedding that represents the intended output at a conceptual level. The renderer then conditions on that embedding alongside the original inputs. The planning step has already resolved the interpretation; the renderer focuses on execution.
That separation addresses a failure mode common in direct conditioning approaches: edits that are partially correct in some frames and inconsistent in others, because the renderer resolves the ambiguity of the instruction locally at each step. When the semantic target is established before rendering begins, the renderer has a consistent reference across the full sequence.
The architecture also explains why Bernini performs differently on complex edits compared to simple ones. Simple V2V edits, where the text instruction is unambiguous and no reference is involved, leave little room for the planning step to add value over direct conditioning. The planning step pays off most on RV2V and R2V tasks, where the relationship between multiple input sources requires compositional reasoning that a single conditioning pass cannot reliably resolve.
V2V and RV2V: Which Mode to Use
V2V requires describing the desired edit in text. That works well when the change is straightforward to express in words: changing a background, adjusting color, modifying the setting. It works less well when the desired change involves a specific visual appearance that text cannot precisely capture.
RV2V shifts the input requirement from text to image. Instead of describing how a character should look, a filmmaker provides a reference photo of how they should look, and Bernini aligns the output to that visual specification. For production work where the output must match a specific design reference, such as a costume fitting photo or a piece of concept art, RV2V is the more direct path.
The two modes are not mutually exclusive. A V2V pass can address global changes that are easy to describe in text, and a subsequent RV2V pass can refine a specific visual element against a reference. They address different stages of an edit rather than competing for the same task.
For production teams evaluating Bernini for a specific workflow, the choice between modes maps to whether the edit specification exists as words or as a visual reference. V2V is the faster path when the edit can be clearly written. RV2V is the more precise path when the target is defined by an image. R2V is the starting point when no existing footage is involved.
Reference Guided Video Editing in Practice
Reference guided video editing (RV2V). Bernini Team, ByteDance Research.
RV2V is the task that most directly addresses a recurring problem in AI video production: getting a model to apply a specific visual target to existing footage without describing that target in text. With RV2V, the reference image is a direct input alongside the source video. Bernini applies the content or appearance of the reference to the footage without requiring a text description of what the reference shows.
A filmmaker who wants the subject in a video to appear in a specific environment or costume can provide a reference photo and let Bernini apply that specification. The visual information in the reference image does the communicating that a text prompt often fails to capture precisely.
The R2V task extends reference guided generation further. Rather than editing existing footage, R2V generates a new video from a set of up to five reference images. Filmmakers can supply reference photos of a character, a location, and a costume separately, and Bernini generates video that incorporates all of them. The visual details in reference photos do not need to be translated into words. Explore these capabilities through the AI FILMS Studio video workspace.
Reference to video generation (R2V). Bernini Team, ByteDance Research.
Content Insertion
Content insertion. Bernini Team, ByteDance Research.
Content insertion is the task of embedding a specific image or video clip into an existing video in a way that respects the lighting, motion, and perspective of the scene. Bernini handles this as a native editing mode rather than as a compositing operation performed after generation. The SA-3D RoPE mechanism allows the model to track the spatial relationship between the inserted content and the existing footage during the denoising process.
The distinction from post processing compositing matters for realism. A compositing approach places a layer on top of finished footage. Bernini's insertion mode integrates the new content during the generation pass, which allows it to respect scene lighting and motion in ways that compositing cannot match without additional correction steps.
Content insertion addresses a recurring post production problem. Productions that discover during editing that a scene is missing a specific visual element face either a reshoot or a VFX correction. Bernini's insertion mode provides a third path that works from existing footage without returning to location or building the element from scratch in a separate VFX pipeline.
What the Benchmark Results Mean in Practice
On a self built human annotated video editing arena using Bradley-Terry scoring and pairwise win rate analysis, Bernini ranks in the first tier alongside leading commercial models for video editing tasks. The paper reports this result for the Bernini-R variant, which corresponds to the HuggingFace release at ByteDance/Bernini.
The evaluation method matters for interpreting that result. Bradley-Terry scoring converts pairwise human judgments into a ranking: evaluators compare two outputs and select which better satisfies an edit instruction. That approach is more informative than automated metrics for video editing because automatic metrics cannot assess whether an edit looks right to a person. They measure similarity between outputs and references, but a reference does not exist for creative edits. Pairwise human evaluation asks the right question directly.
The "first tier" placement alongside leading commercial models means the Apache 2.0 release matches quality available from paid closed services. For a community that has waited for open weight video editing at this standard, the benchmark is the practical headline.
Automated metrics for video editing have known limitations: they measure pixel similarity rather than perceptual quality or semantic accuracy. A benchmark using pairwise human evaluation generates more reliable signals for a task where the output is ultimately judged by a viewer, which is why the self built arena methodology matters for interpreting the result.
Access and Requirements
The model requires a Hopper GPU (H100, H800, or H200) for optimal performance with FlashAttention-3, CUDA 12.4 or higher, and Python 3.11.2. The recommended inference entry point is the official GitHub repository. A Gradio demo script (gradio_demo.py) is included in the repository for interactive testing.
This follows in the line of ByteDance's recent open source research releases, which include Wan 2.2 Animate and the Lance unified generation model. The Apache 2.0 license permits commercial use, including in production pipelines, client work, and products built on top of the model, without restriction or separate licensing negotiation.
Apache 2.0 is specific about what is permitted. Commercial deployment, products built on the model, and use in client deliverables are all unrestricted. Attribution in derivative works is required. There is no revenue threshold, no production scale limitation, and no requirement to share modifications back to the community.
ByteDance's decision to release Bernini under Apache 2.0 continues a pattern the company maintained with its Wan series. Research labs that release under non-commercial licenses often see slower adoption because enterprise legal review requires clear commercial terms before evaluation can begin. Apache 2.0 removes that review step, which is a practical reason the Wan series saw broader deployment than research releases under more restrictive terms.
For teams without access to Hopper architecture hardware, the Bernini-R variant on HuggingFace provides the benchmark evaluated baseline and is the recommended starting point for evaluation. The Gradio demo in the repository provides interactive local testing without requiring a custom inference build. Diffusers format weights are available separately at ByteDance/Bernini-R-Diffusers for teams that want to integrate the model into standard HuggingFace pipelines without the official inference code.
Sources
Project page: bernini-ai.github.io GitHub: bytedance/Bernini HuggingFace: ByteDance/Bernini HuggingFace (Diffusers): ByteDance/Bernini-R-Diffusers arXiv: Bernini: Latent Semantic Planning for Video Diffusion License: Apache 2.0
Continue Reading
Video & LipSync
- Video Generator
- Text to Video
- Image to Video
- Start-End Frame to Video
- Draw to Video
- Motion Control
- Video Enhancer
- Video Upscaler
- Video to Video LipSync
- Audio to Video LipSync
- Image to Video LipSync
- Video FaceSwap
- Seedance 2.5
- WAN 3.0
- Seedance 2
- FLUX 3
- Minimax H3
- Vidu Q3 Pro
- Grok Imagine Video 1.5
- Gemini Omni
- Google Veo 3.1
- Kling 3.0 Pro
- Luma Ray 3.2
- LTX 2.3
- Happy Horse 1.1
- Kling 3.0 Motion
- ByteDance Upscaler
- InfiniteTalk
- InsightFace
.jpg?w=3840)
