Zen

Zen is the open-weight model family from Zoo Labs Foundation, for two jobs: agentic coding that runs on your own machine, and marketing work — campaign copy in your brand's voice and the images and speech that go with it.

After this page you know which Zen model does which job, how to call it, where its weights are, and which generation is current.

Zen is the open-weight family of Zen LM, from Zoo Labs Foundation, a 501(c)(3) non-profit, and served on api.hanzo.ai. It is chosen for two jobs.

Agentic coding that runs locally. zen6 is a 27B dense model that reads 262,144 tokens natively and 1,048,576 with YaRN, and ships a speculative drafter for faster decoding; its card reports 141 tokens a second on code completion on one DGX Spark. zen6-flash is the same generation in ternary weights, 5.95 GB, for an Apple Silicon laptop or one GPU. Hosted, both ids take a 1,000,000-token context.

Marketing work. POST /v1/content/generate drafts campaigns and social posts from a brief, with the brand-voice guidance you pass and the Zen model you name, and files each one in the CMS as a draft. zen6 reads images and video beside the brief, and zen-vl reads images, documents and charts. The Zen 3 weights make the images (zen3-image) and speech (zen3-tts) that go with the copy.

Weights are published under huggingface.co/zenlm; each model card states its license, base and serving instructions. The same ids answer hosted on api.hanzo.ai.

Generations

GenerationModelsWhereStatus
Zen 7—no weights; no id to callresearch preview · Request access · succeeds Satori
Zen 6zen6, and zen6-flash, its ternary buildhosted; weights at zenlm/zen6 and zenlm/zen6-flashavailable now
Zen 5zen5, zen5-coder, zen5-flash, zen5-mini, zen5-pro, zen5-evo, zen5-sparkhosted; GGUF builds on Hugging Face (zen5-gguf, zen5-coder-gguf, …)earlier
Zen 3speech (zen3-asr, zen3-tts), image (zen3-image), zen3-vl, zen3-omni, zen3-nano, zen3-guardweights on Hugging Faceshipped

Task lines sit beside the generations: zen-embedding and zen-reranker (0.6B, 4B, 8B) for retrieval, zen-guard for safety, zen-vl for vision. zen-embedding-2 embeds text in 768 dimensions and takes dimensions of 512, 256 or 128 for shorter vectors; a query prefix (task: search result | query: ) and a document prefix (title: none | text: ) belong in the text. Its vectors are not zen-embedding's, so an index is built with one of the two. zen-free and hanzo/zen answer on the gateway too. zen-router is a classifier, not a generator; the gateway also accepts its name as an alias for auto.

Zen 6 weights

zenlm/zen6zenlm/zen6-flash
Weights27.3B dense, NVFP4 MLP and LM head, FP8 attentionternary: 1.77 bits per weight packed (5.95 GB), 2.14 in 2-bit slots (7.21 GB)
Layers64: 48 linear-attention, 16 full-attentionthe same 27B
Attention24 query heads, 4 key/value, head size 256
Vocabulary248,320 tokens
Context262,144 native; 1,048,576 with YaRN262,144
Inputstext, images, videotext, images
Drafterbundled, block-diffusionbundled, 2.06 GB
Runs onSGLang, NVIDIA Blackwellllama.cpp, Metal or one GPU
ArchitectureQwen3_5ForConditionalGeneration (qwen3_5)GGUF qwen35

Call one

curl https://api.hanzo.ai/v1/chat/completions \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "zen6",
    "messages": [{"role": "user", "content": "Write a binary search in Rust."}]
  }'

Every hosted Zen id, with its context window and rate, is one request away and needs no key:

curl -s https://api.hanzo.ai/v1/models \
  | jq -r '.data[] | select(.owned_by == "zenlm") | "\(.id)\t\(.context_window)\t\(.pricing.input_per_million)/\(.pricing.output_per_million)"'

The gateway is the source of truth for ids, windows and rates. If this page and that command disagree, believe the command.

Run one yourself

hf download zenlm/zen6 --local-dir zen6
hf download zenlm/zen6-flash --local-dir zen6-flash

Each card carries the serving command its model was built for: SGLang for zen6, llama.cpp for zen6-flash and the GGUF builds. A server that speaks /v1/chat/completions takes the same request as above with its own base URL.

Where Zen sits

Zen is the model that writes. It is not the model that picks which model writes — that is Enso — and it is not asked bounded questions a typed answer settles — that is Kai. An agent built on all three spends generative compute only where generation is the work.

Specifications: HIP-0039 for the family; HIP-0904 records what each zenlm/zen6* repository on Hugging Face holds.

License & attribution

Each repository's own license governs its files; the model card names it.

  • zenlm/zen6: Apache-2.0. Built from Qwen3.8-27B by the Qwen team (Apache-2.0); NVFP4 quantization RadixArk/Qwen3.8-27B-NVFP4, drafter incoai/Qwen3.8-27B-DFlash2.
  • zenlm/zen6-flash: Apache-2.0. Ternary Bonsai 2 27B by prism-ml (prism-ml/Ternary-Bonsai-2-27B-gguf), built from Qwen3.8-27B; drafter ProCreations/Ternary-Bonsai-2-27B-DFlash2.
  • zen-embedding-2: Apache-2.0. EmbeddingGemma 2 by Google DeepMind (google/embeddinggemma-2), served unchanged.
Was this page useful?
Last updated Oct 9, 2026