Model reference · open weights
Realtime-Venus is an open-weight language model from inclusionAI. Realtime-Venus (BF16) weighs 37.5 GB; the smallest configuration that runs it is L40S 48 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the inclusionAI/Realtime-Venus model card, 2026-10-01
What it is
| Released by | inclusionAI |
|---|---|
| Released | 2026-09-16 |
| VRAM | 37.5 GB for the weights |
What it runs on
How much memory each request adds isn't estimated yet for this architecture. The weights need at least the cards below, plus room for the context.
| Card | Weights alone |
|---|---|
| RTX 3060 12 GB … RTX 5090 32 GB 5 smaller cards | does not fit |
| L40S 48 GB | tight |
| A100 80 GB | fits |
| H100 80 GB | fits |
| RTX PRO 6000 Blackwell 96 GB | fits |
| DGX Spark (GB10) 128 GB unified | fits |
| H200 141 GB | fits |
| B200 180 GB | fits |
From the model card
This repository hosts two checkpoints of the Realtime-Venus system:
Realtime-Venus-Omni/): the 9B audio-visual
interaction model. It continuously watches and listens, decides whether and
when to respond, and generates text and speech on a shared causal timeline.
Adapted from MiniCPM-o 4.5, it supports proactive interaction, semantic
interruption handling, and training-free long-video memory.Realtime-Venus-Audio/): the audio-focused
checkpoint on the same streaming backbone, for audio understanding and
audio-driven conversation with text or speech output.Both directories contain model weights and custom Hugging Face Transformers code. The asynchronous Realtime-Venus-Harness and its external tool integrations live in the GitHub repository.
| Item | Realtime-Venus-Omni | Realtime-Venus-Audio |
|---|---|---|
| Parameters | 9B | 9B |
| Base architecture | MiniCPM-o 4.5 / Omni-Flow | MiniCPM-o 4.5 / Omni-Flow |
| Visual encoder | SigLIP2 | not used at inference |
| Audio encoder | Whisper-Medium | Whisper-Medium |
| Language backbone | Qwen3-8B | Qwen3-8B |
| Speech generation | Discrete S3 speech tokens with a streaming flow-matching decoder | same decoder, enabled in full-duplex mode |
| Inputs | Video/images, audio, and text | Audio and text |
| Outputs | Text and optional speech waveform | Text and speech waveform |
| Context length | 40,960 tokens | 40,960 tokens |
| Weight dtype | BF16 | BF16 |
All values are reported in the Realtime-Venus technical report.
.
├── Realtime-Venus-Omni/ # Audio-visual full-duplex checkpoint
│ ├── model-*.safetensors # Sharded model weights
│ ├── config.json, *.py # Model config and custom Transformers code
│ ├── realtime_venus_omni_memory.py # Public Memory entry point
│ ├── memory_adapter/ # Chat and Duplex Memory runtime
│ ├── assets/ # Reference voice, Token2wav, demo videos
│ └── requirements.txt
├── Realtime-Venus-Audio/ # Audio-focused checkpoint
│ ├── model-*.safetensors # Sharded model weights
│ ├── config.json, *.py # Model config and custom Transformers code
│ └── assets/ # Reference voice, Token2wav, demo audio
├── assets/ # Brand resources (logo)
├── README.md
├── README_zh.md
└── LICENSE
The examples below write generated media to output/. Use a new filename or a
new output directory when repeating an experiment.
Requires Python 3.10, CUDA, and FFmpeg. Download the repository (the two checkpoints live in its sub-directories) and install the Python dependencies:
huggingface-cli download inclusionAI/Realtime-Venus --local-dir .
# or: modelscope download --model inclusionAI/Realtime-Venus --local_dir .
python -m pip install -r Realtime-Venus-Omni/requirements.txt
All example paths below are relative to the downloaded repository's root
directory. The examples load the local Realtime-Venus-Omni/ and
Realtime-Venus-Audio/ checkpoints through Hugging Face Transformers.
Runnable standalone versions of these examples live in the Omni cookbook on GitHub.
The examples below share the following model initialization; run each example in a fresh Python process. Chat and Duplex automatically load the default reference voice.
from pathlib import Path
import torch
from transformers import AutoModel, set_seed
Path("output").mkdir(exist_ok=True)
set_seed(42)
print("Loading model ...")
model = AutoModel.from_pretrained(
"./Realtime-Venus-Omni", # or an absolute path to the sub-directory
trust_remote_code=True,
local_files_only=True,
attn_implementation="sdpa",
torch_dtype=torch.bfloat16,
)
model.eval().cuda()
print("Model loaded.")
model = model.as_duplex() switches the model to full-duplex streaming:
prepare() initializes the session, then each second of input is handled by
one streaming_prefill() + streaming_generate() pair, and as_simplex()
switches back to offline mode. Set MAX_NUM_FRAMES before importing
minicpmo.utils, otherwise videos longer than 64 seconds are truncated to the
default frame cap.
Subtitle font note: Duplex examples burn the response text into the output video through FFmpeg/libass, which resolves fonts via fontconfig. Rendering non-Latin responses (e.g. Chinese) requires a CJK-capable font on the system, otherwise those glyphs show up as empty boxes. On any Linux distribution,
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
How it works