Attributed compile + one small offline run on my box
Primary source: moonshotai/Kimi-K3.1-Pro model card +LICENSEby Moonshot AI, weights public on Hugging Face as of our 2026-11-05 preflight (launch promise was “by Nov 4, 2026”).
Secondary: vLLM recipe — moonshotai/Kimi-K3.1-Pro; vLLM Day-0 blog; OpenRouter —moonshotai/kimi-k3.1-pro(models API + endpoints JSON); HN — “Kimi K3.1 Pro model weights are out” (579 points / ~165 comments in our scrape). Local copies:/workspace/reputation/runs/34-kimi-k3-1-pro-weights/.
Blocked / unused: r/LocalLLaMA search JSON — TLS failure then HTTP 403; not a source of record.
Numbers below from the HF card, LICENSE, vLLM recipe, or OpenRouter JSON are vendor / third-party dashboard unless marked otherwise. This box did not call chat completions, download weight shards, or use an API key. Offline preflight = public HTTP scrapes + HF tree/API + OpenRouter/api/v1/models+ endpoints JSON only. This post is the weights-day follow-up to our earlier API migration / effort / cache note (series #26) — do not treat them as the same checklist.
Moonshot’s “full weights by Nov 4” line is no longer a calendar promise. On 2026-11-05 the Hugging Face repo moonshotai/Kimi-K3.1-Pro was public and ungated in our preflight: 96 safetensors shards, a real LICENSE file, tokenizer / processor code, and a model card that finally names the custom Kimi K3.1-Pro License. HN flipped hard the same window (579 pts). The useful builder question is not “is it open?” It is four concrete checks: (1) what the license actually gates at ~$20M MaaS revenue, (2) what ~1.56 TB on disk and ~1,874 GB recipe VRAM mean for self-host, (3) which hosted routes already bill you today, and (4) when a builder should stay on API, wait for community recipes, or skip the download theater entirely.
What landed on Hugging Face
Card summary (label as vendor card):
| Field | Value |
|---|---|
| Architecture | MoE — 2.8T total / 104B activated |
| Experts | 896 routed, 16 selected / token + 2 shared |
| Layers | 93 (69 KDA + 24 Gated DSA) |
| Context | 1,048,576 |
| Quantization (card) | MXFP4 weights / MXFP8 activations (QAT) |
| Vision | MoonViT-V2 (401M); modality on card: Text, Image |
| License tag |
other / kimi-k3.1-pro (not Apache/MIT) |
Our HF tree/API scrape: gated: false, 96 weight shards totaling 1,561,293,160,568 bytes (~1.561 TB / ~1,454 GiB), plus a ~60 MB model.safetensors.index.json. Downloads / likes in the API snapshot were moving targets (~11.6k / 775 when we looked) — cite only as “alive,” not as a quality signal.
Recommended engines named on the card: vLLM, SGLang, TokenSpeed, with day-0 recipe links. Official API remains kimi-k3.1-pro on platform.kimi.ai (OpenAI- and Anthropic-compatible).
Card vs OpenRouter modality note. The HF card lists Text, Image. OpenRouter’s models API for moonshotai/kimi-k3.1-pro reports modality text+image+video→text. For weights trust the card; for a hosted route, pin whatever that provider’s schema actually accepts.
License cliffs (verified on the LICENSE file)
We fetched the raw LICENSE (HTTP 200). Plain-language summary — not legal advice; read the file before you ship:
- Broad grant. Use, copy, modify, merge, publish, distribute, sublicense, sell; run, deploy, fine-tune, create derivatives — with notice retained.
- MaaS + $20M / 12 months. If you (or affiliates) operate a Model as a Service business — third parties get meaningful control over inputs / parameters / training via API-style access — and aggregate revenue exceeds USD 20 million over any consecutive 12 months, you need a separate agreement with Moonshot before commercial use of the Software or derivatives. Embedded end-user features and mere request-relaying are carved out of the MaaS definition.
- Brand display. Commercial products/services with >100M monthly active users or >USD 20M monthly revenue must display “Kimi K3.1-Pro” prominently in the UI.
- Exemptions. Sections 2–3 do not apply to internal use (no third-party exposure of the model/outputs/capabilities) or use through Moonshot official products / certified inference partners.
So: a Toronto indie product that embeds the model inside a feature is not automatically the $20M MaaS case. A growing inference reseller that crosses the revenue line is. “Open weights” ≠ “Apache for every commercial topology.” HN commenters spent a lot of oxygen on enforceability; treat that as community chatter, not counsel.
Hardware reality (self-host is not a laptop story)
vLLM’s day-0 recipe (HTTP 200) is blunt: baseline is TP8 on two GB300 trays, one B300 node, or one MI355X node for the MXFP4 checkpoint. Recipe variant line: MXFP4 ≈ 1,874 GB total VRAM. Routed experts are MXFP4 on disk (~1.56 TB); attention, shared experts, and the vision tower stay BF16.
That matches the HN top-of-thread instinct: this release targets labs with racks, inference providers, and enterprises already renting H100/B300/MI355X class gear — not a 24 GB gaming box. Community GGUF / deep RAM-offload paths may appear later; our preflight did not find a consumer-ready GGUF on the official repo, and we did not download shards to measure load times.
Practical self-host checklist if you still want the download:
- Confirm legal path (internal vs MaaS; certified partner vs raw weights).
- Budget disk ≥ ~1.6 TB free before KV / scratch.
- Follow the vLLM 0.34.0+ /
vllm/vllm-openai:kimi-k31(or SGLang / TokenSpeed) recipe — do not invent a single-GPU config. - Treat long-context knobs (DCP, NVFP4 KV, draft models) as recipe features, not defaults you cargo-cult from a blog screenshot.
- Run your golden eval before you retire the hosted model string.
Access matrix (what we actually opened)
| Route | Preflight | Note |
|---|---|---|
HF moonshotai/Kimi-K3.1-Pro
|
HTTP 200, ungated | Weights + LICENSE + card |
Moonshot API kimi-k3.1-pro
|
Named on card | Not authenticated here |
OpenRouter moonshotai/kimi-k3.1-pro
|
models + endpoints JSON 200 | Many third-party hosts live |
| vLLM recipe / Day-0 blog | HTTP 200 | Hardware baseline above |
| SGLang cookbook / TokenSpeed | Linked from card | Not opened in depth |
| r/LocalLLaMA search API | 403 / TLS fail | Unused |
Hosted economics (OpenRouter snapshot)
Prefer OpenRouter JSON for callable numbers. Models API list-style pricing for moonshotai/kimi-k3.1-pro in our snapshot:
| $/M tokens | |
|---|---|
| Input | $2.00 |
| Output | $10.00 |
| Cache read | $0.20 |
Context card 1,048,576; top_provider.max_completion_tokens 943,718 (very different from the Hy4-style 65K max-out cliff — still pin max_tokens deliberately). Supported params in the JSON include reasoning / reasoning_effort, tools, structured outputs.
Endpoints JSON showed 21 provider rows in our scrape — Moonshot AI (incl. highspeed at $4/$20), Together, Modal, Fireworks, DeepInfra, Parasail, Nebius, Phala, InferenceNet, Wafer, Relace, and others. Quant tags varied (mxfp4, fp4, fp8, bf16, unknown). Some third-party input rates sat below the $2 list (e.g. Relace ~$0.38 / $7.92 in the snapshot) with the same $0.20-class cache read on several routes. Pin provider + quant + uptime before you budget; these are dashboard snapshots, not our latency benches.
Cache math still dominates agent loops (same mechanism as #26, new surface): at ~95% cache hit on the $2 / $0.20 schedule, weighted input ≈ 0.05×2 + 0.95×0.20 = $0.29 / M, while output still bills at $10 / M. Hosted is how most builders should evaluate quality this week.
What a builder should do this week
Stay hosted (default). Call Moonshot or OpenRouter, keep reasoning_effort explicit, preserve full assistant messages (including reasoning) on multi-turn / tools as the card shows, and score your own tasks. You get weight-backed providers without buying a B300 node.
Self-host only if you already have the rack (or a cloud quote that survives finance review), your counsel is fine with the LICENSE topology, and you need air-gap / weight-level customization that API cannot give. Start from the vLLM/SGLang day-0 path; do not wait for a mythical single-GPU GGUF to make the headline true.
Wait / don’t bother if you needed a laptop-local 3T-class MoE, or if your only goal was “download the flagship tonight.” The weights being public is still a big ecosystem win — providers can compete, researchers can inspect, fine-tunes can exist — without every indie repo cloning 1.56 TB on day one.
Skip rehashing #26. Effort defaults, rejected K2.x sampling fields, and cache-write TTL math are already covered. Today’s delta is LICENSE + disk/VRAM + multi-host OR matrix.
Vendor benches (map, not certificate)
The HF card publishes a large comparison table at reasoning_effort=max (Terminal-Bench, SWE Marathon, HLE, BrowseComp, cyber suites, internal Kimi benches, etc.). Those are vendor figures with long footnotes about harnesses and judge models. We invent no independent scores here and we did not re-run any row. Use the table as a shortlist for your golden eval after the hosted path is wired.
What this box actually did
preflight 2026-11-05 ~09:05–09:10 America/Toronto
NO API KEY / NO CHAT COMPLETION / NO WEIGHT DOWNLOAD
HTTP 200: HF card HTML, raw LICENSE, raw README,
HF API model + recursive tree, OpenRouter page,
OpenRouter /api/v1/models + .../endpoints,
vLLM recipe, vLLM Day-0 blog, HN item 50366999
HTTP 403 / TLS fail: Reddit LocalLLaMA search JSON
Parsed: 96 shards → ~1.561 TB; LICENSE $20M MaaS line;
OR list $2/$10/$0.20; 21 endpoint rows; HN 579 pts
NOT tested: chat completion; Moonshot auth; weight download;
vLLM/SGLang/TokenSpeed serve; golden eval; GGUF paths;
any latency/tok-s measurement
Weights day is real: the repo is ungated, the LICENSE names the $20M MaaS cliff and the brand-display rule, the disk math is ~1.56 TB, and the vLLM baseline is still an 8× data-center GPU story. For most product teams the rational move on 2026-11-05 is hosted eval first, self-host only with rack + counsel, and no theater downloads “because HN is on fire.”
— YongBo Yu · Toronto AI engineer · yongbo-yu.vercel.app · GitHub @YongBoYu1
Top comments (0)