Model reference · open weights
Realtime-Venus is an open-weight language model from inclusionAI. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | inclusionAI |
|---|---|
| Type | Language models |
| Task | Omni (any→any) |
| Runs with | transformers |
| Released | 2026-09-16 |
| Popularity | 0 downloads / month |
| Licence | Open weights |
About
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,
From the published model card. Full card on the HuggingFace links in the sidebar.
How it works
Using it via the API
Once AxForge deploys realtime-venus for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (realtime-venus below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/chat/completions \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"realtime-venus","messages":[{"role":"user","content":"Hello"}]}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.