---
title: TLive-Omni-9B
canonical_url: "https://www.modelscope.ai/models/TaoLiveAIGC/TLive-Omni-9B"
md_url: "https://www.modelscope.ai/models/TaoLiveAIGC/TLive-Omni-9B.md"
repository: TaoLiveAIGC/TLive-Omni-9B
last_updated: 2026-09-15
license: apache-2.0
model_type:
  - tlive_omni
architectures:
  - TLiveOmniForConditionalGeneration
parameters: 10.1B
tensor_type:
  - BF16
library_name:
  - pytorch
  - transformer
  - safetensors
frameworks:
  - pytorch
downloads: 63
stars: 0
tags:
  - multimodal
  - vision
  - audio
  - video
  - custom-code
---

# TLive-Omni-9B

> TLive-Omni-9B - An open-source model by TaoLiveAIGC on ModelScope. TLive-Omni is an omni-modal understanding model for e-commerce live-stream, mapping image, video, audio, and text into a unified text-output interface. Built on a Qwen3.5 backbone with a…

TaoLiveAIGC/TLive-Omni-9B is a 10.1B-parameter machine learning model on ModelScope. licensed under apache-2.0.

- **Repository**: TaoLiveAIGC/TLive-Omni-9B
- **License**: apache-2.0
- **Parameters**: 10.1B
- **Tags**: multimodal, vision, audio, video, custom-code
- **Downloads**: 63
- **Stars**: 0
- **Last updated**: 2026-09-15

Source: https://www.modelscope.ai/models/TaoLiveAIGC/TLive-Omni-9B

---

# TLive-Omni

<img src="https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/asset/logo.png" alt="logo">

</div>

<p align="center">
  <a href="https://arxiv.org/abs/2608.20958"><img src="https://img.shields.io/badge/Technical-Report-red" alt="Technical Report"></a>
  <a href="https://huggingface.co/TaoLiveAIGC/TLive-Omni-4B"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-4B-blue" alt="Hugging Face 4B Model"></a>
  <a href="https://huggingface.co/TaoLiveAIGC/TLive-Omni-9B"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-9B-blue" alt="Hugging Face 9B Model"></a>
  <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-f5de53" alt="License"></a>
</p>

## 📋 Overview

TLive-Omni is an omni-modal understanding model for e-commerce live-stream, mapping image, video, audio, and text into a unified text-output interface. Built on a Qwen3.5 backbone with a grafted AuT audio encoder, it supports up to 256K tokens of context, trained via a three-stage SFT recipe followed by Faithful-RFT reinforcement fine-tuning.

## ✨ Highlights

- **Timestamped Per-vGrid layout** — Audio and video tokens are organized into timestamped grid with explicit boundaries, keeping audio segments adjacent to their corresponding visual content for fine-grained temporal alignment over long streams.
- **Three-stage SFT recipe** — Progressive training from audio-language alignment to full multimodal SFT, developing live-commerce understanding from omni-modal perception to instruction-following responses.
- **Faithful-RFT** — A reinforcement fine-tuning stage for faithful and real-time live-stream demands, suppressing explicit reasoning traces and directly optimizing answer quality for live-commerce tasks.
- **Rich atomic capabilities** — A scenario-oriented taxonomy covering speech recognition, speaker analysis, product visual grounding, text recognition, temporal grounding, video dense caption, and omni-modal QA, etc, supported by a compact data production engine.
- **Strong live-commerce performance with competitive generalization** — 4B and 9B variants demonstrate strong results across live-commerce audio, image, and video tasks, together with excellent generalization on general benchmarks.

## 🏗️ Architecture

TLive-Omni is built on a Qwen3.5 backbone and extends it with a audio encoder through a lightweight MLP aligner, forming a unified text-output omni-modal understanding model. For video inputs with audio, each temporal grid is organized into a timestamped grid that interleaves video and audio token blocks, keeping audio segments adjacent to their corresponding visual content. The model supports up to 256K tokens of context at inference.

## 📊 Benchmark Results

We evaluate TLive-Omni-4B and TLive-Omni-9B on both live-commerce tasks and general benchmarks. Dash (-) denotes an unreported result or undisclosed parameter count. The Best results among the compared open-source models are marked in **bold**, while the second-best results are in <u>underlined</u>.

### Live-Commerce Evaluation

<details>
<summary><b>Click to expand</b></summary>

<table>
  <thead>
    <tr>
    <th style="white-space:nowrap">Task</th>
    <th style="white-space:nowrap">Metric</th>
    <th style="white-space:nowrap">TLive-Omni 4B</th>
    <th style="white-space:nowrap">TLive-Omni 9B</th>
    <th style="white-space:nowrap">Gemini 2.5 Flash</th>
    <th style="white-space:nowrap">Gemini 2.5 Pro</th>
    <th style="white-space:nowrap">Gemini 3 Flash</th>
    <th style="white-space:nowrap">Gemini 3 Pro</th>
    <th style="white-space:nowrap">Gemini 3.5 Flash</th>
    <th style="white-space:nowrap">Qwen3.5-Omni Flash</th>
    <th style="white-space:nowrap">OmniVinci 9B</th>
    <th style="white-space:nowrap">Nemotron 3 Nano Omni 30B-A3B</th>
    <th style="white-space:nowrap">Ming-Lite-Omni v1.5 20B-A3B</th>
    <th style="white-space:nowrap">MiniCPM-o 2.6 8B</th>
<th style="white-space:nowrap">MiniCPM-o 4.5 9B</th>
    <th style="white-space:nowrap">Qwen2.5-Omni 7B</th>
<th style="white-space:nowrap">Qwen3-Omni 30B-A3B</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="17" style="text-align:center"><b>Audio</b></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Live-Commerce ASR</td>
    <td style="white-space:nowrap">CER ↓</td>
    <td style="white-space:nowrap"><u>6.66</u></td>
    <td style="white-space:nowrap"><b>6.46</b></td>
    <td style="white-space:nowrap">16.30</td>
    <td style="white-space:nowrap">11.48</td>
    <td style="white-space:nowrap">15.18</td>
    <td style="white-space:nowrap">12.09</td>
    <td style="white-space:nowrap">13.09</td>
    <td style="white-space:nowrap">6.81</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">12.10</td>
    <td style="white-space:nowrap">10.06</td>
    <td style="white-space:nowrap">13.88</td>
    <td style="white-space:nowrap">10.70</td>
    <td style="white-space:nowrap">7.86</td>
    <td style="white-space:nowrap">6.75</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Speaker-Attributed ASR</td>
    <td style="white-space:nowrap">cpWER ↓</td>
    <td style="white-space:nowrap"><u>12.88</u></td>
    <td style="white-space:nowrap"><b>12.27</b></td>
    <td style="white-space:nowrap">17.14</td>
    <td style="white-space:nowrap">12.17</td>
    <td style="white-space:nowrap">19.04</td>
    <td style="white-space:nowrap">11.67</td>
    <td style="white-space:nowrap">11.99</td>
    <td style="white-space:nowrap">13.23</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">17.65</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">18.89</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">27.84</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Audio Description</td>
    <td style="white-space:nowrap">Acc. ↑</td>
    <td style="white-space:nowrap"><b>76.12</b></td>
    <td style="white-space:nowrap"><u>75.96</u></td>
    <td style="white-space:nowrap">65.21</td>
    <td style="white-space:nowrap">81.10</td>
    <td style="white-space:nowrap">68.27</td>
    <td style="white-space:nowrap">85.07</td>
    <td style="white-space:nowrap">79.97</td>
    <td style="white-space:nowrap">62.82</td>
    <td style="white-space:nowrap">39.90</td>
    <td style="white-space:nowrap">33.01</td>
    <td style="white-space:nowrap">45.99</td>
    <td style="white-space:nowrap">49.84</td>
    <td style="white-space:nowrap">47.59</td>
    <td style="white-space:nowrap">47.92</td>
    <td style="white-space:nowrap">61.06</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Audio Description</td>
    <td style="white-space:nowrap">Hal. ↓</td>
    <td style="white-space:nowrap"><b>20.97</b></td>
    <td style="white-space:nowrap"><u>21.00</u></td>
    <td style="white-space:nowrap">26.19</td>
    <td style="white-space:nowrap">14.16</td>
    <td style="white-space:nowrap">26.17</td>
    <td style="white-space:nowrap">10.92</td>
    <td style="white-space:nowrap">14.36</td>
    <td style="white-space:nowrap">27.81</td>
    <td style="white-space:nowrap">47.36</td>
    <td style="white-space:nowrap">39.77</td>
    <td style="white-space:nowrap">44.05</td>
    <td style="white-space:nowrap">41.76</td>
    <td style="white-space:nowrap">52.41</td>
    <td style="white-space:nowrap">36.92</td>
    <td style="white-space:nowrap">30.22</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Audio QA</td>
    <td style="white-space:nowrap">Acc. ↑</td>
    <td style="white-space:nowrap">72.60</td>
    <td style="white-space:nowrap"><u>76.28</u></td>
    <td style="white-space:nowrap">76.28</td>
    <td style="white-space:nowrap">82.85</td>
    <td style="white-space:nowrap">74.68</td>
    <td style="white-space:nowrap">88.62</td>
    <td style="white-space:nowrap">87.99</td>
    <td style="white-space:nowrap">78.04</td>
    <td style="white-space:nowrap">66.51</td>
    <td style="white-space:nowrap">64.90</td>
    <td style="white-space:nowrap">40.54</td>
    <td style="white-space:nowrap">39.74</td>
    <td style="white-space:nowrap">42.47</td>
    <td style="white-space:nowrap">61.38</td>
    <td style="white-space:nowrap"><b>76.76</b></td>
    </tr>
    <tr>
      <td colspan="17" style="text-align:center"><b>Image</b></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Visual Grounding</td>
    <td style="white-space:nowrap">Live AP ↑</td>
    <td style="white-space:nowrap"><b>82.85</b></td>
    <td style="white-space:nowrap"><u>82.33</u></td>
    <td style="white-space:nowrap">61.08</td>
    <td style="white-space:nowrap">51.98</td>
    <td style="white-space:nowrap">80.38</td>
    <td style="white-space:nowrap">73.80</td>
    <td style="white-space:nowrap">84.15</td>
    <td style="white-space:nowrap">79.96</td>
    <td style="white-space:nowrap">34.86</td>
    <td style="white-space:nowrap">73.08</td>
    <td style="white-space:nowrap">52.46</td>
    <td style="white-space:nowrap">3.82</td>
    <td style="white-space:nowrap">23.90</td>
    <td style="white-space:nowrap">75.61</td>
    <td style="white-space:nowrap">79.22</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Visual Grounding</td>
    <td style="white-space:nowrap">Prod AP ↑</td>
    <td style="white-space:nowrap"><b>91.45</b></td>
    <td style="white-space:nowrap"><u>89.96</u></td>
    <td style="white-space:nowrap">28.81</td>
    <td style="white-space:nowrap">32.63</td>
    <td style="white-space:nowrap">65.67</td>
    <td style="white-space:nowrap">58.83</td>
    <td style="white-space:nowrap">74.89</td>
    <td style="white-space:nowrap">60.44</td>
    <td style="white-space:nowrap">8.93</td>
    <td style="white-space:nowrap">48.62</td>
    <td style="white-space:nowrap">40.73</td>
    <td style="white-space:nowrap">1.77</td>
    <td style="white-space:nowrap">53.63</td>
    <td style="white-space:nowrap">22.85</td>
    <td style="white-space:nowrap">68.88</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Text Understanding</td>
    <td style="white-space:nowrap">Loc. F1 ↑</td>
    <td style="white-space:nowrap"><u>86.99</u></td>
    <td style="white-space:nowrap"><b>87.59</b></td>
    <td style="white-space:nowrap">20.52</td>
    <td style="white-space:nowrap">31.60</td>
    <td style="white-space:nowrap">61.11</td>
    <td style="white-space:nowrap">68.60</td>
    <td style="white-space:nowrap">64.44</td>
    <td style="white-space:nowrap">74.07</td>
    <td style="white-space:nowrap">50.25</td>
    <td style="white-space:nowrap">52.91</td>
    <td style="white-space:nowrap">13.27</td>
    <td style="white-space:nowrap">5.74</td>
    <td style="white-space:nowrap">5.43</td>
    <td style="white-space:nowrap">42.64</td>
    <td style="white-space:nowrap">30.46</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Text Understanding</td>
    <td style="white-space:nowrap">Rec. NED ↓</td>
    <td style="white-space:nowrap"><u>4.72</u></td>
    <td style="white-space:nowrap"><b>4.24</b></td>
    <td style="white-space:nowrap">43.28</td>
    <td style="white-space:nowrap">27.82</td>
    <td style="white-space:nowrap">16.25</td>
    <td style="white-space:nowrap">9.72</td>
    <td style="white-space:nowrap">16.64</td>
    <td style="white-space:nowrap">12.48</td>
    <td style="white-space:nowrap">32.77</td>
    <td style="white-space:nowrap">29.42</td>
    <td style="white-space:nowrap">59.16</td>
    <td style="white-space:nowrap">77.58</td>
    <td style="white-space:nowrap">71.65</td>
    <td style="white-space:nowrap">37.79</td>
    <td style="white-space:nowrap">14.83</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Text Understanding</td>
    <td style="white-space:nowrap">Cls. Acc. ↑</td>
    <td style="white-space:nowrap"><u>79.06</u></td>
    <td style="white-space:nowrap"><b>79.85</b></td>
    <td style="white-space:nowrap">51.21</td>
    <td style="white-space:nowrap">61.86</td>
    <td style="white-space:nowrap">69.11</td>
    <td style="white-space:nowrap">76.86</td>
    <td style="white-space:nowrap">69.76</td>
    <td style="white-space:nowrap">53.25</td>
    <td style="white-space:nowrap">57.29</td>
    <td style="white-space:nowrap">37.86</td>
    <td style="white-space:nowrap">32.94</td>
    <td style="white-space:nowrap">15.92</td>
    <td style="white-space:nowrap">11.62</td>
    <td style="white-space:nowrap">51.25</td>
    <td style="white-space:nowrap">69.46</td>
    </tr>
    <tr>
      <td colspan="17" style="text-align:center"><b>Video</b></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Temporal Grounding</td>
    <td style="white-space:nowrap">mIoU ↑</td>
    <td style="white-space:nowrap"><u>77.63</u></td>
    <td style="white-space:nowrap"><b>81.49</b></td>
    <td style="white-space:nowrap">76.50</td>
    <td style="white-space:nowrap">76.22</td>
    <td style="white-space:nowrap">77.43</td>
    <td style="white-space:nowrap">77.90</td>
    <td style="white-space:nowrap">77.90</td>
    <td style="white-space:nowrap">62.10</td>
    <td style="white-space:nowrap">13.10</td>
    <td style="white-space:nowrap">23.39</td>
    <td style="white-space:nowrap">14.34</td>
    <td style="white-space:nowrap">14.56</td>
    <td style="white-space:nowrap">43.20</td>
    <td style="white-space:nowrap">30.83</td>
    <td style="white-space:nowrap">39.22</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Dense Caption</td>
    <td style="white-space:nowrap">Acc. ↑</td>
    <td style="white-space:nowrap"><u>69.23</u></td>
    <td style="white-space:nowrap"><b>74.63</b></td>
    <td style="white-space:nowrap">54.60</td>
    <td style="white-space:nowrap">41.95</td>
    <td style="white-space:nowrap">32.21</td>
    <td style="white-space:nowrap">37.80</td>
    <td style="white-space:nowrap">33.80</td>
    <td style="white-space:nowrap">32.94</td>
    <td style="white-space:nowrap">18.59</td>
    <td style="white-space:nowrap">17.96</td>
    <td style="white-space:nowrap">13.81</td>
    <td style="white-space:nowrap">10.53</td>
    <td style="white-space:nowrap">21.06</td>
    <td style="white-space:nowrap">16.51</td>
    <td style="white-space:nowrap">21.44</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Dense Caption</td>
    <td style="white-space:nowrap">Hal. ↓</td>
    <td style="white-space:nowrap"><u>9.57</u></td>
    <td style="white-space:nowrap"><b>8.76</b></td>
    <td style="white-space:nowrap">10.97</td>
    <td style="white-space:nowrap">16.88</td>
    <td style="white-space:nowrap">20.76</td>
    <td style="white-space:nowrap">20.99</td>
    <td style="white-space:nowrap">17.30</td>
    <td style="white-space:nowrap">20.91</td>
    <td style="white-space:nowrap">27.13</td>
    <td style="white-space:nowrap">16.62</td>
    <td style="white-space:nowrap">39.33</td>
    <td style="white-space:nowrap">26.93</td>
    <td style="white-space:nowrap">28.61</td>
    <td style="white-space:nowrap">36.44</td>
    <td style="white-space:nowrap">25.82</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Video QA</td>
    <td style="white-space:nowrap">Acc. ↑</td>
    <td style="white-space:nowrap"><u>92.31</u></td>
    <td style="white-space:nowrap"><b>93.23</b></td>
    <td style="white-space:nowrap">88.21</td>
    <td style="white-space:nowrap">92.62</td>
    <td style="white-space:nowrap">89.64</td>
    <td style="white-space:nowrap">84.36</td>
    <td style="white-space:nowrap">86.90</td>
    <td style="white-space:nowrap">87.28</td>
    <td style="white-space:nowrap">72.51</td>
    <td style="white-space:nowrap">82.56</td>
    <td style="white-space:nowrap">64.51</td>
    <td style="white-space:nowrap">60.30</td>
    <td style="white-space:nowrap">84.62</td>
    <td style="white-space:nowrap">75.48</td>
    <td style="white-space:nowrap">81.62</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Shot Understanding</td>
    <td style="white-space:nowrap">Layout ↑</td>
    <td style="white-space:nowrap">78.40</td>
    <td style="white-space:nowrap">77.00</td>
    <td style="white-space:nowrap">80.00</td>
    <td style="white-space:nowrap">85.20</td>
    <td style="white-space:nowrap">76.80</td>
    <td style="white-space:nowrap">80.40</td>
    <td style="white-space:nowrap">83.40</td>
    <td style="white-space:nowrap">84.40</td>
    <td style="white-space:nowrap">73.60</td>
    <td style="white-space:nowrap"><u>79.20</u></td>
    <td style="white-space:nowrap">74.60</td>
    <td style="white-space:nowrap">66.60</td>
    <td style="white-space:nowrap">78.20</td>
    <td style="white-space:nowrap">74.40</td>
    <td style="white-space:nowrap"><b>82.20</b></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Shot Understanding</td>
    <td style="white-space:nowrap">Shot Size ↑</td>
    <td style="white-space:nowrap"><u>51.20</u></td>
    <td style="white-space:nowrap">51.00</td>
    <td style="white-space:nowrap">46.80</td>
    <td style="white-space:nowrap">50.80</td>
    <td style="white-space:nowrap">45.70</td>
    <td style="white-space:nowrap">43.40</td>
    <td style="white-space:nowrap">44.20</td>
    <td style="white-space:nowrap">48.90</td>
    <td style="white-space:nowrap"><b>52.70</b></td>
    <td style="white-space:nowrap">34.00</td>
    <td style="white-space:nowrap">41.70</td>
    <td style="white-space:nowrap">38.30</td>
    <td style="white-space:nowrap">42.80</td>
    <td style="white-space:nowrap">38.10</td>
    <td style="white-space:nowrap">37.40</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Shot Understanding</td>
    <td style="white-space:nowrap">Camera ↑</td>
    <td style="white-space:nowrap">80.90</td>
    <td style="white-space:nowrap"><b>82.00</b></td>
    <td style="white-space:nowrap">84.20</td>
    <td style="white-space:nowrap">76.00</td>
    <td style="white-space:nowrap">78.50</td>
    <td style="white-space:nowrap">75.70</td>
    <td style="white-space:nowrap">75.50</td>
    <td style="white-space:nowrap">85.50</td>
    <td style="white-space:nowrap">68.10</td>
    <td style="white-space:nowrap">80.20</td>
    <td style="white-space:nowrap">72.80</td>
    <td style="white-space:nowrap">68.30</td>
    <td style="white-space:nowrap">79.20</td>
    <td style="white-space:nowrap"><u>81.20</u></td>
    <td style="white-space:nowrap">76.10</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Shot Understanding</td>
    <td style="white-space:nowrap">Content ↑</td>
    <td style="white-space:nowrap"><u>69.80</u></td>
    <td style="white-space:nowrap"><b>71.00</b></td>
    <td style="white-space:nowrap">68.60</td>
    <td style="white-space:nowrap">70.40</td>
    <td style="white-space:nowrap">71.60</td>
    <td style="white-space:nowrap">74.80</td>
    <td style="white-space:nowrap">70.20</td>
    <td style="white-space:nowrap">66.40</td>
    <td style="white-space:nowrap">49.20</td>
    <td style="white-space:nowrap">58.60</td>
    <td style="white-space:nowrap">51.60</td>
    <td style="white-space:nowrap">49.00</td>
    <td style="white-space:nowrap">66.60</td>
    <td style="white-space:nowrap">68.00</td>
    <td style="white-space:nowrap">63.60</td>
    </tr>
  </tbody>
</table>

</details>

### General Benchmark: Image Understanding

<details>
<summary><b>Click to expand</b></summary>

<table>
  <thead>
    <tr>
    <th style="white-space:nowrap">Model</th>
    <th style="white-space:nowrap">Params</th>
    <th style="white-space:nowrap">MMMU</th>
    <th style="white-space:nowrap">MathVista</th>
    <th style="white-space:nowrap">DynaMath</th>
    <th style="white-space:nowrap">VLMsAreBlind</th>
    <th style="white-space:nowrap">MMBench(EN-DEV-v1.1)</th>
    <th style="white-space:nowrap">RealWorldQA</th>
    <th style="white-space:nowrap">MMStar</th>
    <th style="white-space:nowrap">SimpleVQA</th>
    <th style="white-space:nowrap">Hallusion</th>
    <th style="white-space:nowrap">AI2D</th>
    <th style="white-space:nowrap">OCRBench</th>
    <th style="white-space:nowrap">CC-OCR</th>
    <th style="white-space:nowrap">CharXiv(RQ)</th>
    <th style="white-space:nowrap">RefCOCO</th>
    <th style="white-space:nowrap">ERQA</th>
    <th style="white-space:nowrap">EmbSpatial</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="18" style="text-align:center"><em>Open-source VLM models</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiMo-VL-SFT</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">64.6</td>
    <td style="white-space:nowrap">81.8</td>
    <td style="white-space:nowrap">46.9</td>
    <td style="white-space:nowrap"><b>78.0</b></td>
    <td style="white-space:nowrap">84.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">83.2</td>
    <td style="white-space:nowrap">87.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">54.4</td>
    <td style="white-space:nowrap">85.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">SAIL-VL2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">55.4</td>
    <td style="white-space:nowrap">76.4</td>
    <td style="white-space:nowrap">17.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">76.3</td>
    <td style="white-space:nowrap">70.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">55.1</td>
    <td style="white-space:nowrap">87.7</td>
    <td style="white-space:nowrap"><b>91.3</b></td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">74.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Valley2.5</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">62.1</td>
    <td style="white-space:nowrap">74.4</td>
    <td style="white-space:nowrap">32.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">85.5</td>
    <td style="white-space:nowrap">70.5</td>
    <td style="white-space:nowrap">67.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">56.3</td>
    <td style="white-space:nowrap">84.4</td>
    <td style="white-space:nowrap">87.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">LLaVA-OneVision-2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">85.7</td>
    <td style="white-space:nowrap">69.7</td>
    <td style="white-space:nowrap">64.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">84.3</td>
    <td style="white-space:nowrap">78.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">43.3</td>
    <td style="white-space:nowrap">78.1</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InternVL3.5</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">66.6</td>
    <td style="white-space:nowrap">77.1</td>
    <td style="white-space:nowrap">35.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">80.3</td>
    <td style="white-space:nowrap">66.3</td>
    <td style="white-space:nowrap">65.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">44.8</td>
    <td style="white-space:nowrap">82.6</td>
    <td style="white-space:nowrap">82.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">39.6</td>
    <td style="white-space:nowrap">89.4</td>
    <td style="white-space:nowrap">38.5</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InternVL3.5</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap"><u>73.4</u></td>
    <td style="white-space:nowrap">78.4</td>
    <td style="white-space:nowrap">37.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">79.5</td>
    <td style="white-space:nowrap">67.5</td>
    <td style="white-space:nowrap">69.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">54.5</td>
    <td style="white-space:nowrap">84.0</td>
    <td style="white-space:nowrap">84.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">44.4</td>
    <td style="white-space:nowrap"><u>89.7</u></td>
    <td style="white-space:nowrap">41.0</td>
    <td style="white-space:nowrap">73.2</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-VL</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">67.4</td>
    <td style="white-space:nowrap">73.7</td>
    <td style="white-space:nowrap">65.3</td>
    <td style="white-space:nowrap">71.9</td>
    <td style="white-space:nowrap">83.9</td>
    <td style="white-space:nowrap">70.9</td>
    <td style="white-space:nowrap">69.8</td>
    <td style="white-space:nowrap">48.0</td>
    <td style="white-space:nowrap">57.6</td>
    <td style="white-space:nowrap">84.1</td>
    <td style="white-space:nowrap">88.1</td>
    <td style="white-space:nowrap">76.2</td>
    <td style="white-space:nowrap">39.7</td>
    <td style="white-space:nowrap">89.0</td>
    <td style="white-space:nowrap">41.3</td>
    <td style="white-space:nowrap"><u>79.6</u></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-VL</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">69.6</td>
    <td style="white-space:nowrap">77.2</td>
    <td style="white-space:nowrap">67.7</td>
    <td style="white-space:nowrap">74.0</td>
    <td style="white-space:nowrap">84.5</td>
    <td style="white-space:nowrap">71.5</td>
    <td style="white-space:nowrap">70.9</td>
    <td style="white-space:nowrap"><b>50.2</b></td>
    <td style="white-space:nowrap">61.1</td>
    <td style="white-space:nowrap">85.7</td>
    <td style="white-space:nowrap">89.6</td>
    <td style="white-space:nowrap">79.9</td>
    <td style="white-space:nowrap">46.4</td>
    <td style="white-space:nowrap">89.1</td>
    <td style="white-space:nowrap">45.8</td>
    <td style="white-space:nowrap">78.5</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3.5</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">72.1</td>
    <td style="white-space:nowrap">81.0</td>
    <td style="white-space:nowrap">69.6</td>
    <td style="white-space:nowrap">62.3</td>
    <td style="white-space:nowrap">86.3</td>
    <td style="white-space:nowrap">72.5</td>
    <td style="white-space:nowrap">74.8</td>
    <td style="white-space:nowrap">44.6</td>
    <td style="white-space:nowrap"><u>76.9</u></td>
    <td style="white-space:nowrap">87.1</td>
    <td style="white-space:nowrap">85.9</td>
    <td style="white-space:nowrap">71.1</td>
    <td style="white-space:nowrap">62.9</td>
    <td style="white-space:nowrap">87.6</td>
    <td style="white-space:nowrap">46.8</td>
    <td style="white-space:nowrap">76.6</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3.5</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap"><b>74.2</b></td>
    <td style="white-space:nowrap"><b>82.2</b></td>
    <td style="white-space:nowrap"><b>74.6</b></td>
    <td style="white-space:nowrap">71.8</td>
    <td style="white-space:nowrap"><u>87.7</u></td>
    <td style="white-space:nowrap">72.9</td>
    <td style="white-space:nowrap"><b>76.3</b></td>
    <td style="white-space:nowrap">48.9</td>
    <td style="white-space:nowrap">76.0</td>
    <td style="white-space:nowrap">88.0</td>
    <td style="white-space:nowrap">88.5</td>
    <td style="white-space:nowrap">73.4</td>
    <td style="white-space:nowrap"><b>67.5</b></td>
    <td style="white-space:nowrap"><b>90.0</b></td>
    <td style="white-space:nowrap"><u>47.3</u></td>
    <td style="white-space:nowrap">78.7</td>
    </tr>
    <tr>
      <td colspan="18" style="text-align:center"><em>Open-source Omni models</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InteractiveOmni</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">61.1</td>
    <td style="white-space:nowrap">61.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">78.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">62.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">52.2</td>
    <td style="white-space:nowrap">83.8</td>
    <td style="white-space:nowrap">80.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InteractiveOmni</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">66.9</td>
    <td style="white-space:nowrap">68.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">81.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">66.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">61.3</td>
    <td style="white-space:nowrap">84.3</td>
    <td style="white-space:nowrap">83.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">VITA-1.5</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">52.1</td>
    <td style="white-space:nowrap">66.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">76.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">59.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">44.9</td>
    <td style="white-space:nowrap">79.3</td>
    <td style="white-space:nowrap">73.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Valley3</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">69.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">55.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">OmniVinci</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap">49.7</td>
    <td style="white-space:nowrap">63.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">67.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Nemotron 3 Nano Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">55.2</td>
    <td style="white-space:nowrap">71.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap"><u>88.5</u></td>
    <td style="white-space:nowrap">88.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">49.1</td>
    <td style="white-space:nowrap">80.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Ming-Lite-Omni v1.5</td>
    <td style="white-space:nowrap">20B-A3B</td>
    <td style="white-space:nowrap">54.3</td>
    <td style="white-space:nowrap">72.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">65.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">54.6</td>
    <td style="white-space:nowrap">84.9</td>
    <td style="white-space:nowrap">88.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">87.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-o 2.6</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">50.4</td>
    <td style="white-space:nowrap">71.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">80.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">64.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">51.9</td>
    <td style="white-space:nowrap">85.8</td>
    <td style="white-space:nowrap">89.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-o 4.5</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap">67.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">87.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">73.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">63.2</td>
    <td style="white-space:nowrap">87.6</td>
    <td style="white-space:nowrap">87.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen2.5-Omni</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">59.2</td>
    <td style="white-space:nowrap">67.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">81.8</td>
    <td style="white-space:nowrap">70.3</td>
    <td style="white-space:nowrap">64.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">83.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">87.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">69.1</td>
    <td style="white-space:nowrap">75.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">68.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">59.7</td>
    <td style="white-space:nowrap">85.2</td>
    <td style="white-space:nowrap">86.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">61.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
      <td colspan="18" style="text-align:center"><em>Ours</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>4B</b></td>
    <td style="white-space:nowrap">70.9</td>
    <td style="white-space:nowrap">79.9</td>
    <td style="white-space:nowrap">72.5</td>
    <td style="white-space:nowrap">71.8</td>
    <td style="white-space:nowrap">87.0</td>
    <td style="white-space:nowrap"><b>77.7</b></td>
    <td style="white-space:nowrap">73.9</td>
    <td style="white-space:nowrap">47.6</td>
    <td style="white-space:nowrap"><b>77.7</b></td>
    <td style="white-space:nowrap">86.6</td>
    <td style="white-space:nowrap">86.6</td>
    <td style="white-space:nowrap"><u>80.5</u></td>
    <td style="white-space:nowrap">61.3</td>
    <td style="white-space:nowrap">87.4</td>
    <td style="white-space:nowrap">42.3</td>
    <td style="white-space:nowrap">79.3</td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>9B</b></td>
    <td style="white-space:nowrap"><u>73.4</u></td>
    <td style="white-space:nowrap"><u>81.9</u></td>
    <td style="white-space:nowrap"><u>73.3</u></td>
    <td style="white-space:nowrap"><u>75.5</u></td>
    <td style="white-space:nowrap"><b>88.9</b></td>
    <td style="white-space:nowrap"><u>76.6</u></td>
    <td style="white-space:nowrap"><u>75.1</u></td>
    <td style="white-space:nowrap"><u>50.0</u></td>
    <td style="white-space:nowrap">76.0</td>
    <td style="white-space:nowrap"><b>88.6</b></td>
    <td style="white-space:nowrap"><u>90.3</u></td>
    <td style="white-space:nowrap"><b>81.3</b></td>
    <td style="white-space:nowrap"><u>63.1</u></td>
    <td style="white-space:nowrap"><b>90.0</b></td>
    <td style="white-space:nowrap"><b>48.0</b></td>
    <td style="white-space:nowrap"><b>80.4</b></td>
    </tr>
  </tbody>
</table>

</details>

### General Benchmark: Video Understanding

<details>
<summary><b>Click to expand</b></summary>

<table>
  <thead>
    <tr>
    <th style="white-space:nowrap">Model</th>
    <th style="white-space:nowrap">Params</th>
    <th style="white-space:nowrap">MVBench</th>
    <th style="white-space:nowrap">MLVU</th>
    <th style="white-space:nowrap">Video-MME</th>
    <th style="white-space:nowrap">LongVideoBench</th>
    <th style="white-space:nowrap">LVBench</th>
    <th style="white-space:nowrap">MMVU</th>
    <th style="white-space:nowrap">VideoMMMU</th>
    <th style="white-space:nowrap">Charades-TL</th>
    <th style="white-space:nowrap">ActivityNet-TL</th>
    <th style="white-space:nowrap">QVHighlights-TL</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="12" style="text-align:center"><em>Open-source VLM models</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiMo-VL-SFT</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">66.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">53.1</td>
    <td style="white-space:nowrap">39.6</td>
    <td style="white-space:nowrap">35.5</td>
    <td style="white-space:nowrap">41.5</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">SAIL-VL2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">62.7</td>
    <td style="white-space:nowrap">58.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">LLaVA-OneVision-2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">66.2</td>
    <td style="white-space:nowrap">76.6</td>
    <td style="white-space:nowrap"><u>71.9</u></td>
    <td style="white-space:nowrap">66.9</td>
    <td style="white-space:nowrap">55.5</td>
    <td style="white-space:nowrap">56.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">53.5</td>
    <td style="white-space:nowrap">53.8</td>
    <td style="white-space:nowrap">66.4</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">LLaVA-Video</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">58.6</td>
    <td style="white-space:nowrap">70.8</td>
    <td style="white-space:nowrap">63.3</td>
    <td style="white-space:nowrap">58.2</td>
    <td style="white-space:nowrap">44.2</td>
    <td style="white-space:nowrap">47.1</td>
    <td style="white-space:nowrap">36.1</td>
    <td style="white-space:nowrap">15.2</td>
    <td style="white-space:nowrap">14.6</td>
    <td style="white-space:nowrap">10.4</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InternVL3.5</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">71.2</td>
    <td style="white-space:nowrap">70.4</td>
    <td style="white-space:nowrap">65.4</td>
    <td style="white-space:nowrap">60.8</td>
    <td style="white-space:nowrap">43.2</td>
    <td style="white-space:nowrap">47.6</td>
    <td style="white-space:nowrap">57.6</td>
    <td style="white-space:nowrap">16.0</td>
    <td style="white-space:nowrap">14.9</td>
    <td style="white-space:nowrap">17.7</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InternVL3.5</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">72.1</td>
    <td style="white-space:nowrap">70.2</td>
    <td style="white-space:nowrap">66.0</td>
    <td style="white-space:nowrap">62.1</td>
    <td style="white-space:nowrap">46.7</td>
    <td style="white-space:nowrap">60.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">27.8</td>
    <td style="white-space:nowrap">31.3</td>
    <td style="white-space:nowrap">31.3</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-V 4.5</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">75.1</td>
    <td style="white-space:nowrap">67.9</td>
    <td style="white-space:nowrap">63.9</td>
    <td style="white-space:nowrap">50.4</td>
    <td style="white-space:nowrap">58.9</td>
    <td style="white-space:nowrap">57.1</td>
    <td style="white-space:nowrap">31.9</td>
    <td style="white-space:nowrap">32.3</td>
    <td style="white-space:nowrap">46.1</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">LongVU</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">66.9</td>
    <td style="white-space:nowrap">65.4</td>
    <td style="white-space:nowrap">60.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">LongVILA</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">67.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">60.1</td>
    <td style="white-space:nowrap">57.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Mage-VL</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">65.1</td>
    <td style="white-space:nowrap">68.7</td>
    <td style="white-space:nowrap">64.0</td>
    <td style="white-space:nowrap">61.3</td>
    <td style="white-space:nowrap">41.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">50.7</td>
    <td style="white-space:nowrap">45.4</td>
    <td style="white-space:nowrap">57.4</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Molmo2</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">75.1</td>
    <td style="white-space:nowrap">63.0</td>
    <td style="white-space:nowrap">69.6</td>
    <td style="white-space:nowrap"><u>68.0</u></td>
    <td style="white-space:nowrap">53.9</td>
    <td style="white-space:nowrap">51.2</td>
    <td style="white-space:nowrap">50.7</td>
    <td style="white-space:nowrap">33.3</td>
    <td style="white-space:nowrap">39.8</td>
    <td style="white-space:nowrap">58.7</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Molmo2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap"><b>75.9</b></td>
    <td style="white-space:nowrap">60.2</td>
    <td style="white-space:nowrap">69.9</td>
    <td style="white-space:nowrap">67.5</td>
    <td style="white-space:nowrap">52.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">NVILA</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">68.1</td>
    <td style="white-space:nowrap">70.1</td>
    <td style="white-space:nowrap">64.2</td>
    <td style="white-space:nowrap">57.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Kangaroo</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">61.1</td>
    <td style="white-space:nowrap">61.0</td>
    <td style="white-space:nowrap">56.0</td>
    <td style="white-space:nowrap">54.8</td>
    <td style="white-space:nowrap">39.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Video-XL2</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">74.8</td>
    <td style="white-space:nowrap">66.6</td>
    <td style="white-space:nowrap">61.0</td>
    <td style="white-space:nowrap">48.4</td>
    <td style="white-space:nowrap">50.0</td>
    <td style="white-space:nowrap">39.9</td>
    <td style="white-space:nowrap">38.9</td>
    <td style="white-space:nowrap">30.0</td>
    <td style="white-space:nowrap">46.2</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">VideoChat3</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">70.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">56.7</td>
    <td style="white-space:nowrap">56.4</td>
    <td style="white-space:nowrap">57.4</td>
    <td style="white-space:nowrap">56.1</td>
    <td style="white-space:nowrap">54.6</td>
    <td style="white-space:nowrap"><u>67.0</u></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">VideoLLaMA 3</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">69.7</td>
    <td style="white-space:nowrap">73.0</td>
    <td style="white-space:nowrap">66.2</td>
    <td style="white-space:nowrap">59.8</td>
    <td style="white-space:nowrap">45.3</td>
    <td style="white-space:nowrap">44.1</td>
    <td style="white-space:nowrap">34.6</td>
    <td style="white-space:nowrap">39.8</td>
    <td style="white-space:nowrap">29.8</td>
    <td style="white-space:nowrap">36.9</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-VL</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">68.9</td>
    <td style="white-space:nowrap">75.3</td>
    <td style="white-space:nowrap">69.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">56.2</td>
    <td style="white-space:nowrap">50.5</td>
    <td style="white-space:nowrap">56.2</td>
    <td style="white-space:nowrap">46.4</td>
    <td style="white-space:nowrap">48.2</td>
    <td style="white-space:nowrap">58.7</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-VL</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">68.7</td>
    <td style="white-space:nowrap">78.1</td>
    <td style="white-space:nowrap">71.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">58.0</td>
    <td style="white-space:nowrap">58.7</td>
    <td style="white-space:nowrap">65.3</td>
    <td style="white-space:nowrap">48.3</td>
    <td style="white-space:nowrap">46.8</td>
    <td style="white-space:nowrap">59.4</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3.5</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">66.6</td>
    <td style="white-space:nowrap">75.1</td>
    <td style="white-space:nowrap">71.6</td>
    <td style="white-space:nowrap">65.1</td>
    <td style="white-space:nowrap">55.3</td>
    <td style="white-space:nowrap">57.8</td>
    <td style="white-space:nowrap">69.8</td>
    <td style="white-space:nowrap">48.7</td>
    <td style="white-space:nowrap">51.6</td>
    <td style="white-space:nowrap">55.0</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3.5</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap"><u>75.7</u></td>
    <td style="white-space:nowrap"><u>79.7</u></td>
    <td style="white-space:nowrap">66.9</td>
    <td style="white-space:nowrap">67.9</td>
    <td style="white-space:nowrap"><b>60.9</b></td>
    <td style="white-space:nowrap"><u>63.7</u></td>
    <td style="white-space:nowrap">70.3</td>
    <td style="white-space:nowrap">52.0</td>
    <td style="white-space:nowrap">54.0</td>
    <td style="white-space:nowrap">57.2</td>
    </tr>
    <tr>
      <td colspan="12" style="text-align:center"><em>Open-source Omni models</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InteractiveOmni</td>
    <td style="white-space:nowrap">4B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">68.0</td>
    <td style="white-space:nowrap">63.3</td>
    <td style="white-space:nowrap">57.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">InteractiveOmni</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">71.6</td>
    <td style="white-space:nowrap">66.0</td>
    <td style="white-space:nowrap">59.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">VITA-1.5</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">55.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">56.1</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Valley3</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">55.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">61.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">OmniVinci</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap">70.6</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">68.2</td>
    <td style="white-space:nowrap">61.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Nemotron 3 Nano Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">70.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Ming-Lite-Omni v1.5</td>
    <td style="white-space:nowrap">20B-A3B</td>
    <td style="white-space:nowrap">69.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">67.1</td>
    <td style="white-space:nowrap">59.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-o 2.6</td>
    <td style="white-space:nowrap">8B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">63.9</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-o 4.5</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">76.5</td>
    <td style="white-space:nowrap">70.4</td>
    <td style="white-space:nowrap">66.0</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen2.5-Omni</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">70.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">64.3</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">75.2</td>
    <td style="white-space:nowrap">70.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
      <td colspan="12" style="text-align:center"><em>Ours</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>4B</b></td>
    <td style="white-space:nowrap">69.0</td>
    <td style="white-space:nowrap">76.1</td>
    <td style="white-space:nowrap">71.3</td>
    <td style="white-space:nowrap">66.1</td>
    <td style="white-space:nowrap">57.1</td>
    <td style="white-space:nowrap">59.9</td>
    <td style="white-space:nowrap"><b>73.9</b></td>
    <td style="white-space:nowrap"><b>57.0</b></td>
    <td style="white-space:nowrap"><b>58.2</b></td>
    <td style="white-space:nowrap"><b>69.2</b></td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>9B</b></td>
    <td style="white-space:nowrap">72.5</td>
    <td style="white-space:nowrap"><b>80.9</b></td>
    <td style="white-space:nowrap"><b>75.6</b></td>
    <td style="white-space:nowrap"><b>69.9</b></td>
    <td style="white-space:nowrap"><u>60.8</u></td>
    <td style="white-space:nowrap"><b>67.1</b></td>
    <td style="white-space:nowrap"><u>72.8</u></td>
    <td style="white-space:nowrap"><u>56.3</u></td>
    <td style="white-space:nowrap"><u>55.4</u></td>
    <td style="white-space:nowrap">64.1</td>
    </tr>
  </tbody>
</table>

</details>

### General Benchmark: Omni Understanding

<details>
<summary><b>Click to expand</b></summary>

<table>
  <thead>
    <tr>
    <th style="white-space:nowrap">Model</th>
    <th style="white-space:nowrap">Params</th>
    <th style="white-space:nowrap">AVUT</th>
    <th style="white-space:nowrap">WorldSense</th>
    <th style="white-space:nowrap">VideoHolmes</th>
    <th style="white-space:nowrap">DailyOmni</th>
    <th style="white-space:nowrap">OmniVideoBench</th>
    <th style="white-space:nowrap">FutureOmni</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td colspan="8" style="text-align:center"><em>Open-source Omni models</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap">video-SALMONN 2+</td>
    <td style="white-space:nowrap">3B</td>
    <td style="white-space:nowrap">66.2</td>
    <td style="white-space:nowrap">48.3</td>
    <td style="white-space:nowrap">42.2</td>
    <td style="white-space:nowrap">67.7</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">video-SALMONN 2+</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">69.5</td>
    <td style="white-space:nowrap">50.9</td>
    <td style="white-space:nowrap">46.9</td>
    <td style="white-space:nowrap">71.8</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">OmniVinci</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">48.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">66.5</td>
    <td style="white-space:nowrap">36.7</td>
    <td style="white-space:nowrap">52.8</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Nemotron 3 Nano Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">55.2</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">74.5</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">—</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">MiniCPM-o 4.5</td>
    <td style="white-space:nowrap">9B</td>
    <td style="white-space:nowrap"><u>78.6</u></td>
    <td style="white-space:nowrap"><u>55.7</u></td>
    <td style="white-space:nowrap"><b>64.3</b></td>
    <td style="white-space:nowrap"><u>80.2</u></td>
    <td style="white-space:nowrap">41.1</td>
    <td style="white-space:nowrap">56.1</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen2.5-Omni</td>
    <td style="white-space:nowrap">7B</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">45.4</td>
    <td style="white-space:nowrap">—</td>
    <td style="white-space:nowrap">62.4</td>
    <td style="white-space:nowrap">36.5</td>
    <td style="white-space:nowrap">48.9</td>
    </tr>
    <tr>
    <td style="white-space:nowrap">Qwen3-Omni</td>
    <td style="white-space:nowrap">30B-A3B</td>
    <td style="white-space:nowrap">74.2</td>
    <td style="white-space:nowrap">54.0</td>
    <td style="white-space:nowrap">50.4</td>
    <td style="white-space:nowrap">71.9</td>
    <td style="white-space:nowrap"><b>43.8</b></td>
    <td style="white-space:nowrap">53.4</td>
    </tr>
    <tr>
      <td colspan="8" style="text-align:center"><em>Ours</em></td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>4B</b></td>
    <td style="white-space:nowrap"><u>78.6</u></td>
    <td style="white-space:nowrap">54.0</td>
    <td style="white-space:nowrap">57.5</td>
    <td style="white-space:nowrap">78.6</td>
    <td style="white-space:nowrap">41.6</td>
    <td style="white-space:nowrap"><u>57.2</u></td>
    </tr>
    <tr>
    <td style="white-space:nowrap"><b>TLive-Omni</b></td>
    <td style="white-space:nowrap"><b>9B</b></td>
    <td style="white-space:nowrap"><b>80.0</b></td>
    <td style="white-space:nowrap"><b>56.0</b></td>
    <td style="white-space:nowrap"><u>59.3</u></td>
    <td style="white-space:nowrap"><b>80.5</b></td>
    <td style="white-space:nowrap"><u>43.2</u></td>
    <td style="white-space:nowrap"><b>58.5</b></td>
    </tr>
  </tbody>
</table>

</details>

## ⚙️ Installation

This release targets Python 3.10 on Linux x86_64 with CUDA 12.8 and PyTorch 2.10.0.

```bash
conda create -n tlive python=3.10 -y
conda activate tlive
pip install -r https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/v1.0.0-rc1/environments/requirements.txt
```

The remote `environments/requirements.txt` includes custom wheels for the supported environment and model. If any wheel does not match your hardware, CUDA version, or Python version, replace it with a compatible build for your setup.

## 🚀 Quick Start

### Transformers inference

```python
import torch
from transformers import AutoModelForCausalLM, AutoProcessor

model_id = "TaoLiveAIGC/TLive-Omni-9B"

processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    trust_remote_code=True,
    dtype=torch.bfloat16,
    device_map="auto",
    attn_implementation="flash_attention_2",
).eval()


def generate(messages, *, use_audio_in_video=False, videos_kwargs=None, generation_kwargs=None):
    inputs = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True,
        return_dict=True,
        return_tensors="pt",
        enable_thinking=False,
        use_audio_in_video=use_audio_in_video,
        videos_kwargs=videos_kwargs or {},
    )
    prompt_length = inputs["input_ids"].shape[-1]
    inputs = inputs.to(model.device)

    generation_kwargs = generation_kwargs or {}
    with torch.inference_mode():
        generated_ids = model.generate(
            **inputs,
            do_sample=False,
            max_new_tokens=1024,
            **generation_kwargs,
        )

    answer_ids = generated_ids[:, prompt_length:]
    answer = processor.batch_decode(
        answer_ids,
        skip_special_tokens=True,
        clean_up_tokenization_spaces=False,
    )[0]
    return answer.strip()
```

Replace `messages` with one of the examples below for text, image, audio, or video inputs.

**Text**

```python
messages = [{
    "role": "user",
    "content": [{"type": "text", "text": "Briefly explain why multimodal context can improve an answer."}],
}]
print(generate(messages))
```

**Image**

```python
messages = [{
    "role": "user",
    "content": [
        {"type": "image", "path": "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/image.jpg"},
        {"type": "text", "text": "Describe this image."},
    ],
}]
print(generate(messages))
```

**Audio**

```python
messages = [{
    "role": "user",
    "content": [
        {"type": "audio", "path": "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/audio.mp3"},
        {"type": "text", "text": "Transcribe and summarize this audio."},
    ],
}]
print(generate(messages))
```

**Video with audio**

```python
messages = [{
    "role": "user",
    "content": [
        {"type": "video", "path": "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/vocal_video.mp4"},
        {"type": "text", "text": "Describe the video, including relevant speech and sounds."},
    ],
}]
print(generate(messages, use_audio_in_video=True, videos_kwargs={"fps": 1.0}))
```

**Video without audio**

```python
messages = [{
    "role": "user",
    "content": [
        {"type": "video", "path": "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/silence_video.mp4"},
        {"type": "text", "text": "Describe the visual events in this video."},
    ],
}]
print(generate(messages, use_audio_in_video=False, videos_kwargs={"fps": 1.0}))
```

For temporal localization outputs, we recommend the `MM:SS - MM:SS` interval format, for example `01:23 - 01:35`. For videos, set `use_audio_in_video=True` when the audio track should be used, and `False` for visual-only inference.

## ⚡ vLLM

### Installation

First install the pre-built wheel (**Python 3.10 + CUDA 12.8 + Linux x86_64**), built and tested on NVIDIA H20 GPUs (Hopper, `sm_90`):

```bash
pip install https://github.com/TaoLiveAIGC/TLive-Omni/releases/download/v1.0.0-rc1/vllm-0.19.0+cu128-cp310-cp310-linux_x86_64.whl
```

If your GPU, driver, or CUDA setup is not compatible with this wheel, build vLLM from source using the customized code in the `vllm/` directory of the [GitHub release](https://github.com/TaoLiveAIGC/TLive-Omni).

### Inference

```python
from transformers import AutoProcessor
from vllm import LLM, SamplingParams
from vllm.model_executor.models.tlive_omni_processing import process_audio_info

model_id = "TaoLiveAIGC/TLive-Omni-9B"
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)


def build_prompt(messages):
    return processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=False,
        enable_thinking=False,
    )


def generate(inputs, *, limit_mm_per_prompt=None, vllm_kwargs=None, sampling_kwargs=None):
    vllm_kwargs = vllm_kwargs or {}
    sampling_kwargs = sampling_kwargs or {}
    llm = LLM(
        model=model_id,
        trust_remote_code=True,
        dtype="bfloat16",
        max_model_len=32768,
        tensor_parallel_size=1,
        gpu_memory_utilization=0.9,
        max_num_seqs=4,
        max_num_batched_tokens=32768,
        seed=42,
        limit_mm_per_prompt=limit_mm_per_prompt,
        **vllm_kwargs,
    )
    outputs = llm.generate(
        inputs,
        sampling_params=SamplingParams(
            temperature=0.0,
            max_tokens=1024,
            **sampling_kwargs,
        ),
    )
    return outputs[0].outputs[0].text.strip()
```

Replace `messages` with one of the examples below for text, image, audio, or video inputs.

**Text**

```python
messages = [{
    "role": "user",
    "content": [{"type": "text", "text": "Briefly explain why multimodal context can improve an answer."}],
}]
inputs = {"prompt": build_prompt(messages)}
print(generate(inputs))
```

**Image**

```python
image_path = "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/image.jpg"
messages = [{
    "role": "user",
    "content": [
        {"type": "image", "path": image_path},
        {"type": "text", "text": "Describe this image."},
    ],
}]
inputs = {
    "prompt": build_prompt(messages),
    "multi_modal_data": {"image": [image_path]},
}
print(generate(inputs, limit_mm_per_prompt={"image": 1}))
```

**Audio**

```python
audio_path = "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/audio.mp3"
messages = [{
    "role": "user",
    "content": [
        {"type": "audio", "audio": audio_path},
        {"type": "text", "text": "Transcribe and summarize this audio."},
    ],
}]
inputs = {
    "prompt": build_prompt(messages),
    "multi_modal_data": {"audio": process_audio_info(messages, use_audio_in_video=False)},
}
print(generate(inputs, limit_mm_per_prompt={"audio": 1}))
```

**Video with audio**

```python
video_path = "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/vocal_video.mp4"
messages = [{
    "role": "user",
    "content": [
        {"type": "video", "video": video_path},
        {"type": "text", "text": "Describe the video, including relevant speech and sounds."},
    ],
}]
inputs = {
    "prompt": build_prompt(messages),
    "multi_modal_data": {
        "video": [video_path],
        "audio": process_audio_info(messages, use_audio_in_video=True),
    },
    "mm_processor_kwargs": {"videos_kwargs": {"fps": 1.0, "use_audio_in_video": True, "return_metadata": True}},
}
print(generate(inputs, limit_mm_per_prompt={"video": 1, "audio": 1}))
```

**Video without audio**

```python
video_path = "https://raw.githubusercontent.com/TaoLiveAIGC/TLive-Omni/main/data/silence_video.mp4"
messages = [{
    "role": "user",
    "content": [
        {"type": "video", "video": video_path},
        {"type": "text", "text": "Describe the visual events in this video."},
    ],
}]
inputs = {
    "prompt": build_prompt(messages),
    "multi_modal_data": {"video": [video_path]},
    "mm_processor_kwargs": {"videos_kwargs": {"fps": 1.0, "use_audio_in_video": False, "return_metadata": True}},
}
print(generate(inputs, limit_mm_per_prompt={"video": 1}))
```


## 📖 Citation

If you find our work helpful, please consider citing our paper:

```bibtex
@article{hu2026tliveomni,
  title={TLive-Omni: An Omni-Modal Understanding Model for E-Commerce Live Streaming},
  author={Hu, Yibo and Qian, Yu and Gu, Mao and Tao, Yingfan and Chen, Yuhao and Luo, Yongdong and Liu, Zhuoqun and Jin, Meiguang and Ma, Junfeng},
  journal={arXiv preprint arXiv:2608.20958},
  year={2026}
}
```

## 📄 License

This project is released under the [Apache License 2.0](LICENSE).
