Kimi-K3.1-Pro
by moonshotai
2.8T-parameter open-weight multimodal MoE with 104B active parameters and a 1M-token context
moonshotai/Kimi-K3.1-ProDeploy Kimi-K3.1-Pro
Single-tenantMixpeek has no managed extractor for this model. On a single-tenant deployment you upload the weights and a custom plugin serves them next to the rest of your pipeline.
Overview
Kimi K3.1 Pro is Moonshot AI's open-weight multimodal model, published on Hugging Face on 2 November 2026 under the Kimi K3.1 Pro License. It reads text and images, holds a 1-million-token context, and is post-trained from Kimi K3 with reinforcement learning aimed at coding and agent work. It is the successor to Kimi-K2.6 and is much larger: 2.8 trillion total parameters with 104 billion active per token.
For search over images and documents it is a captioning and reading model: it turns a chart, a slide or a scanned page into text, and a text embedding model makes that text searchable. On Moonshot's model card it scores 84.1 on MMMU-Pro (Claude Opus 5.5 87.7, GPT-6 Astra 86.9), 89.0 on CharXiv reasoning questions and 68.3 on PerceptionBench (GPT-6 Astra 77.6, Claude Fable 5.1 63.0), and it is ahead of DeepSeek-V4.1-Flash-1017 on all three. The scores, including the other models', are Moonshot's own runs.
Architecture
Mixture-of-Experts with 2.8T total and 104B activated parameters: 93 layers (1 dense), 896 experts with 16 selected per token plus 2 shared, 160K vocabulary. Attention mixes 69 Kimi Delta Attention layers with 24 gated DeepSeek Sparse Attention layers, which replace K3's full-attention layers for long context. Vision encoder MoonViT-V2 (401M parameters). Weights are MXFP4 with MXFP8 activations from quantization-aware training. Runs on vLLM, SGLang or TokenSpeed; reasoning effort is set per request (low, high or max).
Mixpeek SDK Integration
# No Mixpeek extractor takes a Hugging Face model id, so Kimi K3.1 Pro runs on your
# side (here behind vLLM's OpenAI-compatible server) and its description of each
# image is upserted into a collection whose text vector index makes it searchable.
from openai import OpenAI
import requests
kimi = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
image_url = "https://example.com/q3-revenue-chart.png"
caption = kimi.chat.completions.create(
model="moonshotai/Kimi-K3.1-Pro",
reasoning_effort="low",
messages=[{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": image_url}},
{"type": "text", "text": "Describe this chart: title, axes, series and the main numbers."},
]}],
).choices[0].message.content
requests.post(
"https://api.mixpeek.com/v1/namespaces/ns_your_namespace/documents/upsert",
headers={"Authorization": "Bearer API_KEY"},
json={"collection_id": "col_your_collection",
"documents": [{"document_id": "q3-revenue-chart",
"vectors": {"text-embedding": your_embedding_of(caption)},
"payload": {"caption": caption, "source_url": image_url}}]},
)Capabilities
- Image and document understanding: charts, slides, scanned pages, screenshots
- 1,048,576-token context window
- Agentic coding and tool use, with reasoning effort low, high or max
- OpenAI- and Anthropic-compatible API on platform.kimi.ai (model kimi-k3.1-pro)
- Open weights for self-hosting on multi-GPU servers
Use Cases on Mixpeek
Benchmarks
| Dataset | Metric | Score | Source |
|---|---|---|---|
| MMMU-Pro | Accuracy | 84.1 | Moonshot AI model card, 2026 (reasoning effort max) |
| CharXiv (reasoning questions) | Accuracy | 89.0 | Moonshot AI model card, 2026 (reasoning effort max) |
| PerceptionBench | Accuracy | 68.3 | Moonshot AI model card, 2026 (reasoning effort max) |
| MMMU-Pro with Python | Accuracy | 90.0 | Moonshot AI model card, 2026 (reasoning effort max) |
Common Pipeline Companions
Specification
Build a pipeline with Kimi-K3.1-Pro
Add this model to a processing pipeline alongside other extractors. Combine with retrieval stages for end-to-end search.
Run it on your own data, free