MiniCPM-V README

The project's README from github.com/OpenBMB/MiniCPM-V. As one markdown file: README.md.

A Pocket-Sized MLLM for Ultra-Efficient Image and Video Understanding on Your Phone

中文 | English

feishu Feishu (Lark)  |   Discord Discord  |   📚 MiniCPM Wiki

MiniCPM-V 4.6 🤗 🤖 📱 | MiniCPM-o 4.5 🤗 📞 🤖 | 📄 Technical Report | 🍳 Cookbook | 🌐 API

MiniCPM-V and MiniCPM-o are multimodal LLM series designed for strong performance and efficient deployment on devices. MiniCPM-V focuses on efficient vision-language understanding across image, video and text inputs. MiniCPM-o extends the family toward real-time end-to-end omnimodal interaction with streaming video and audio inputs plus text and speech outputs. The most notable models in the series currently include:

News


Click to view more news.
  • [2026.05.07] 📢📢📢 We release the MiniCPM-o 4.5 technical report, introducing the key techniques behind its real-time full-duplex omni-modal interaction. Read it here.

  • [2026.02.05] 📢📢📢 We note the web demo may experience latency issues due to network conditions. We are working actively to provide a Docker image for local deployment of the real-time interactive Demo as soon as possible. Please stay tuned!

  • [2025.09.18] 📢📢📢 MiniCPM-V 4.5 technical report is now released! See here.

  • [2025.09.01] ⭐️⭐️⭐️ MiniCPM-V 4.5 has been officially supported by llama.cpp, vLLM, and LLaMA-Factory. You are welcome to use it directly through these official channels! Support for additional frameworks such as Ollama and SGLang is actively in progress.

  • [2025.08.02] 🚀🚀🚀 We open-source MiniCPM-V 4.0, which outperforms GPT-4.1-mini-20250414 in image understanding. It advances popular features of MiniCPM-V 2.6, and largely improves the efficiency. We also open-source the iOS App on iPhone and iPad. Try it now!

  • [2025.06.20] ⭐️⭐️⭐️ Our official Ollama repository is released. Try our latest models with one click!

  • [2025.01.24] 📢📢📢 MiniCPM-o 2.6 technical report is released! See here.

  • [2025.01.23] 💡💡💡 MiniCPM-o 2.6 is now supported by Align-Anything, a framework by PKU-Alignment Team for aligning any-to-any modality large models with human intentions. It supports DPO and SFT fine-tuning on both vision and audio. Try it now!

  • [2025.01.19] 📢 ATTENTION! We are currently working on merging MiniCPM-o 2.6 into the official repositories of llama.cpp, Ollama, and vllm. Until the merge is complete, please USE OUR LOCAL FORKS of llama.cpp, Ollama, and vllm. Using the official repositories before the merge may lead to unexpected issues.

  • [2025.01.17] We have updated the usage of MiniCPM-o 2.6 int4 quantization version and resolved the model initialization error. Click here and try it now!

  • [2025.01.13] 🔥🔥🔥 We open-source MiniCPM-o 2.6, which matches GPT-4o-202405 on vision, speech and multimodal live streaming. It advances popular capabilities of MiniCPM-V 2.6, and supports various new fun features. Try it now!

  • [2024.08.15] We now also support multi-image SFT. For more details, please refer to the document.

  • [2024.08.14] MiniCPM-V 2.6 now also supports fine-tuning with the SWIFT framework!

  • [2024.08.17] 🚀🚀🚀 MiniCPM-V 2.6 is now fully supported by official llama.cpp! GGUF models of various sizes are available here.

  • [2024.08.10] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 is now fully supported by official llama.cpp! GGUF models of various sizes are available here.

  • [2024.08.06] 🔥🔥🔥 We open-source MiniCPM-V 2.6, which outperforms GPT-4V on single image, multi-image and video understanding. It advances popular features of MiniCPM-Llama3-V 2.5, and can support real-time video understanding on iPad. Try it now!

  • [2024.08.03] MiniCPM-Llama3-V 2.5 technical report is released! See here.

  • [2024.07.19] MiniCPM-Llama3-V 2.5 supports vLLM now! See here.

  • [2024.06.03] Now, you can run MiniCPM-Llama3-V 2.5 on multiple low VRAM GPUs(12 GB or 16 GB) by distributing the model's layers across multiple GPUs. For more details, check this link.

  • [2024.05.28] 🚀🚀🚀 MiniCPM-Llama3-V 2.5 now fully supports its feature in llama.cpp and Ollama! Please pull the latest code of our provided forks (llama.cpp, Ollama). GGUF models in various sizes are available here. MiniCPM-Llama3-V 2.5 series is not supported by the official repositories yet, and we are working hard to merge PRs. Please stay tuned!

  • [2024.05.28] 💫 We now support LoRA fine-tuning for MiniCPM-Llama3-V 2.5, using only 2 V100 GPUs! See more statistics here.

  • [2024.05.25] MiniCPM-Llama3-V 2.5 now supports streaming outputs and customized system prompts. Try it here!

  • [2024.05.24] We release the MiniCPM-Llama3-V 2.5 gguf, which supports llama.cpp inference and provides a 6~8 token/s smooth decoding on mobile phones. Try it now!

  • [2024.05.23] 🔍 We've released a comprehensive comparison between Phi-3-vision-128k-instruct and MiniCPM-Llama3-V 2.5, including benchmark evaluations, multilingual capabilities, and inference efficiency 🌟📊🌍🚀. Click here to view more details.

  • [2024.05.20] We open-soure MiniCPM-Llama3-V 2.5, it has improved OCR capability and supports 30+ languages, representing the first end-side MLLM achieving GPT-4V level performance! We provide efficient inference and simple fine-tuning. Try it now!

  • [2024.04.23] MiniCPM-V-2.0 supports vLLM now! Click here to view more details.

  • [2024.04.18] We create a HuggingFace Space to host the demo of MiniCPM-V 2.0 at here!

  • [2024.04.17] MiniCPM-V-2.0 supports deploying WebUI Demo now!

  • [2024.04.15] MiniCPM-V-2.0 now also supports fine-tuning with the SWIFT framework, with streaming inference enabled!

  • [2024.04.12] We open-source MiniCPM-V 2.0, which achieves comparable performance with Gemini Pro in understanding scene text and outperforms strong Qwen-VL-Chat 9.6B and Yi-VL 34B on OpenCompass, a comprehensive evaluation over 11 popular benchmarks. Click here to view the MiniCPM-V 2.0 technical blog.

  • [2024.03.14] MiniCPM-V now supports fine-tuning with the SWIFT framework. Thanks to Jintao for the contribution!

  • [2024.03.01] MiniCPM-V can now be deployed on Mac!

  • [2024.02.01] We open-source MiniCPM-V and OmniLMM-12B, which support efficient end-side deployment and powerful multimodal capabilities correspondingly.

Contents

MiniCPM-V 4.6

MiniCPM-V 4.6 is our most edge-deployment-friendly model to date. The model is built based on SigLIP2-400M and the Qwen3.5-0.8B LLM. It inherits the strong single-image, multi-image, and video understanding capabilities of MiniCPM-V family, while significantly improving computation efficiency. It also introduces mixed 4x/16x visual token compression. Notable features of MiniCPM-V 4.6 include:

Evaluation

Overall Performance (Instruct)

Click to view MiniCPM-V 4.6-Thinking performance.


MiniCPM-V 4.6 Inference Efficiency

High-Concurrency Throughput Single Request TTFT (ms)

Examples

MiniCPM-V 4.6 can be deployed across three mainstream end-side platforms — iOS, Android and HarmonyOS. The clips below are raw screen recordings on phone devices without edition.

iPhone
iPhone 17 Pro Max
Android
Redmi K70
HarmonyOS
HUAWEI nova 14

Usages

Inference with Transformers

Click to show inference examples with Transformers.
Installation
pip install "transformers[torch]>=5.7.0" torchvision torchcodec

Note on CUDA compatibility: torchcodec (used for video decoding) may have compatibility issues with certain CUDA versions. For example, torch>=2.11 bundles CUDA 13.1 by default, while environments with CUDA 12.x may encounter errors such as RuntimeError: Could not load libtorchcodec. Two workarounds:

  1. Replace torchcodec with PyAV — supports both image and video inference without CUDA version constraints:
    pip install "transformers[torch]>=5.7.0" torchvision av
    
  2. Pin the CUDA version when installing torch to match your environment (e.g. CUDA 12.8):
    pip install "transformers>=5.7.0" torchvision torchcodec --index-url https://download.pytorch.org/whl/cu128
    
Load Model
from transformers import AutoModelForImageTextToText, AutoProcessor

model_id = "openbmb/MiniCPM-V-4.6"

processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
    model_id, torch_dtype="auto", device_map="auto"
)

# Flash Attention 2 is recommended for better acceleration and memory saving,
# especially in multi-image and video scenarios.
# model = AutoModelForImageTextToText.from_pretrained(
#     model_id,
#     torch_dtype=torch.bfloat16,
#     attn_implementation="flash_attention_2",
#     device_map="auto",
# )
Image Inference
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/openbmb/DemoCase/resolve/main/refract.png"},
            {"type": "text

MiniCPM-V (OpenBMB/MiniCPM-V)

Searching Database…

26.8K ·GitHub
Что это такое?Семейство компактных мультимодальных ИИ-моделей от OpenBMB (MiniCPM-V и MiniCPM-o), созданных для работы на локальных устройствах, даже на телефонах: они понимают изображения, видео и текст, а в серии o — ещё и речь.
Это приложение, модель или сервис?Это открытые модели плюс код для запуска на Python, а не готовое приложение для пользователя: их можно запускать через Ollama, llama.cpp, vLLM или Transformers либо обращаться к облачному API. Есть также открытые iOS-приложение и веб-демо с работой в реальном времени.
Как его запустить?Быстрее всего — скачать MiniCPM-V 4.6 из официального каталога моделей Ollama. Иначе можно загрузить её через Transformers, запускать GGUF-сборки в llama.cpp или использовать API; типовые сценарии разобраны в Cookbook и на сайте документации.
Есть ли подводные камни при установке, о которых стоит знать?Декодирование видео через torchcodec конфликтует с некоторыми версиями CUDA (torch>=2.11 несёт CUDA 13.1); замените его на PyAV или зафиксируйте свою версию CUDA. Веб-демо в реальном времени может также подтормаживать при плохой сети.
На каких устройствах и в каких системах он реально работает?На всех трёх массовых мобильных ОС — iOS, Android и HarmonyOS — причём код адаптации для мобильных устройств открыт, плюс есть открытое iOS-приложение для iPhone и iPad. На компьютерах модель запускается через Ollama или llama.cpp.
Если он работает на моём устройстве, мои данные остаются на нём?Да — развёртывание локальное, поэтому изображения, видео и звук, которые вы подаёте на вход, остаются на вашем телефоне или компьютере. Как альтернатива есть облачный API-сервис, если не хочется ничего запускать у себя.
Мой ноутбук или телефон это потянет или нужен мощный GPU?Для MiniCPM-V 4.6 мощный не нужен: при 1,3 млрд параметров она рассчитана на телефоны и мобильные устройства, а дообучение работает на обычных потребительских видеокартах. 9B-версия MiniCPM-o 4.5 заметно тяжелее, а демо в реальном времени требует Mac или GPU.
Чем MiniCPM-o отличается от MiniCPM-V?MiniCPM-V эффективно понимает изображения, видео и текст. MiniCPM-o идёт дальше: она принимает видео и аудио потоком в реальном времени и выдаёт текст и речь, поддерживая полнодуплексный живой разговор — модель может одновременно видеть, слышать и говорить.
Насколько хороша может быть модель на 1,3B параметров?MiniCPM-V 4.6 набирает 13 баллов в Artificial Analysis Intelligence Index против 10 у Qwen3.5-0.8B, тратя заметно меньше токенов на ответ, и обходит более крупную Ministral 3 3B. MiniCPM-o 4.5 приближается к Gemini 2.5 Flash по зрению и речи.
Что полнодуплексность означает на практике?Исходящие потоки (речь и текст) и входящие потоки в реальном времени (видео и аудио) не блокируют друг друга, поэтому модель может одновременно смотреть, слушать и говорить, а также действовать по своей инициативе — например, сама напомнить вам о чём-то.
Можно ли дообучить её на своих данных?Да — она встраивается в экосистемы дообучения вроде SWIFT и LLaMA-Factory, а Align-Anything поддерживает DPO и SFT как по изображениям, так и по аудио. Квантизованные варианты поставляются в форматах GGUF, BNB, AWQ и GPTQ.
What are similar projects?VoxCPM, InternVL, MiniCPM, Qwen3-VL, unsloth, MOSS-TTS, decider, Qwen3
Creator
OpenBMB
Size
796.2 MB
Stars
26.8K
Age
2y
Commits · 90 Days