Models.
- STATUS
- Testnet
- CRATE
- tenzro-model
- STABILITY
- Stable
- TYPE
- Reference
Language catalog
Qwen 3 / 3-Next / 3-VL / 3.5 / 3.6 / 3.8 / AgentWorld
Gemma 3 / 4 (MTP-enabled targets) / DiffusionGemma
DeepSeek V3 / V4 Kimi K2 / K3
GLM 4 / 5 / 6 MiniMax M / H
Nemotron Nano / Ultra / Lightning GPT-OSS 20B / 120B
Mistral 7B / Nemo / Small / Ministral
Phi 4 mini / reasoning Granite 4
Ornith · Inkling · Laguna · SmolLM · Muse Glimmer · Cosmos-ReasonDense and mixture-of-experts alike, from sub-billion-parameter edge models to frontier MoE. Each entry declares its quantization, context window, weights size, and RAM floor, so a node can decide what it can actually hold before it fetches anything.
Every other modality
Media gen FLUX2, Qwen-Image, Z-Image (text2image, image2image)
LTX2, Wan 2.1/2.2, MiniMax-H3 (text2video, image2video)
Hunyuan3D, Trellis2 (image23d)
MiniMax-Music (text2audio)
Vision CLIP, SigLIP2, DINOv3
Speech in Moonshine, Distil-Whisper, Whisper-v3-turbo,
Parakeet-TDT, Canary
Speech out Qwen3-TTS (preset voices + cloning)
Text embed Qwen3-Embedding, EmbeddingGemma, BGE-M3, ModernBERT
Segmentation SAM 2, SAM 3 (open-vocabulary), EdgeSAM, MobileSAM
Detection RF-DETR, D-FINE
Forecasting Chronos-2, TimesFM 2.5, TiRexMedia generation is job-based rather than request-response: post a job, a worker claims it, and the output is published against a receipt. The remaining modalities run as ONNX runtimes behind the same modality-aware inference router.
License tiers
Each entry carries a license tier: Permissive, Attribution, CommercialCustom, NonCommercial. Tiered admission is enforced centrally in ModelRegistry::register_model().
Multi-Token Prediction (MTP)
Every HfModelEntry in the language catalog declares an optional speculative-decoding pairing:drafter_id (catalog ID of a vocab-matched drafter GGUF), mtp_kind(None | Generic | DraftMtp), andmtp_default_draft_n (recommended --spec-draft-n-max, 1..=6).
- Generic — classical two-model speculative decoding. Any vocab-matched smaller model can be paired as a drafter (e.g. Qwen 3 32B target + Qwen 3 0.6B drafter). llama.cpp flag:
--spec-type draft. - DraftMtp — jointly-trained Multi-Token-Prediction head. The drafter is a small auxiliary head trained on the target's hidden state, shipped by Unsloth as a sibling GGUF (e.g.
unsloth/gemma-4-12b-it-GGUF/MTP/mtp-gemma-4-12B-it.gguf). Higher accept rates than generic speculative decoding because the drafter mirrors the target's distribution. Unsloth measures 1.5–2.2× throughput on Gemma 4. llama.cpp flag:--spec-type draft-mtp.
Gemma 4 E2B / 12B / 31B all declare DraftMtp with draft_n: 2 as a starting point. Set draft_n in your tenzro_chat request to opt in — the in-process runtime runs real speculative decoding: the drafter proposes a block of candidate tokens, the target verifies them in one batched decode, and the accepted prefix advances the stream. Serving a model auto-loads its paired drafter: tenzro_serveModel reads the catalog drafter_id, loads the drafter from disk or downloads it in the background, and reports the outcome in the serve response's mtp field (drafter_loaded, drafter_downloading, inline for single-file MTP models, or disabled when the caller passes "load_drafter": false). A drafter problem never fails the serve. MtpUnavailable is returned only when draft_n is requested for a target with no drafter loaded.
List
tenzro model list
tenzro model info gemma4-12b
tenzro chat gemma4-12b --draft-n 2Over JSON-RPC the catalog is one call per modality:tenzro_listModels for language,tenzro_mediaGen_listCatalog for generation, andtenzro_list{Vision,Detection,Audio,TextEmbedding,Forecast,Segmentation,Tts,TextSegmentation}Catalog for the rest. The list*Models methods are narrower — they report what a given node has loaded right now, not what the registry carries.
Content-addressed download + verify
Weights are content-addressed. A node fetch is peer-first: it consults connected iroh peers for the BLAKE3 before reaching HuggingFace Hub, transfers over QUIC with every block BLAKE3-verified, and opportunistically publishes a successful HF fetch back into the local blob store so later fetchers skip the round trip. Every model carries a canonical hash record — the BLAKE3 root, the SHA-256, and a per-file manifest hash — recorded first-recorder-wins. Downloaded weights are checked against that record before load; a mismatch refuses the load.
tenzro model download timesfm-2.5 --rpc http://127.0.0.1:8545
tenzro model get-hash timesfm-2.5 --rpc http://127.0.0.1:8545
tenzro model list-hashes --rpc http://127.0.0.1:8545The record is read by model_id via tenzro_getModelHash, enumerated via tenzro_listModelHashes, and written first-recorder-wins via tenzro_recordModelHash. Any artifact resolved this way is reachable through the unified scheme — tenzro://blob/<blake3-hex>.