Docs

Choose your model.

On NaN, switching models means changing one word. They are all called the same way, through the same endpoint and with the same request format: the only thing that changes is the value of the model field.

{
  "model": "deepseek-v4-flash",
  "messages": [{ "role": "user", "content": "Hello" }]
}

That value is the model id, and it has to be spelled exactly. One dot too many or one hyphen too few and the API answers 404 with model_not_found. This page is the good list.

Start here

If you do not know which one to pick, look for what you want to do in the first column.

I want toAsk forWhy
Chat or reason about something, plainlydeepseek-v4-flashIt is the best general-purpose model on the cluster, and it reads images
Drive a coding agent through long sessionsglm5.3It is built for that. Needs the premium tier
The same, but without the premium tierglm5.3-flashSame 1M context and a generous quota
Get an answer fastqwen3.8-flashLess depth, much less waiting
Hand the model an audio file directlymimo-v2.5It is the only one that hears
Describe or analyze an imagedeepseek-v4-flashAny of them except glm5.3 will do; this is the best
Try things without spending quotagemma4It has no token counter
Build a search engine or a RAGqwen3-embedding and then rerankFirst you retrieve by similarity, then you reorder by relevance
Turn text into audiokokoro67 voices, two of them Spanish
Transcribe audiowhisperMore than 99 languages, with automatic detection
Generate or edit an imageflux-2-kleinText to image and image to image

Every model

idWhat forContextAcceptsQuota
deepseek-v4-flashGeneral chat and reasoning1Mtext · image3B tokens/month
glm5.3Coding agents and long tasks1Mtext3B tokens/billing period
glm5.3-flashCoding agents, without premium1Mtext · image2B tokens/month
qwen3.8-flashFast answers262Ktext · image500M tokens/month
mimo-v2.5Audio input, omnimodal1Mtext · image · audio1.0B tokens/month
gemma4Short tasks and testing262Ktext · imageno counter
qwen3.6Previous generation262Ktext · imageno counter
qwen3-embedding4096-dimension vectors-textno counter
rerankReorder by relevance-textno counter
kokoroText to speech-textno counter
whisperSpeech to text-audiono counter
flux-2-kleinGenerate and edit images-text · image100 requests/month

The full spec sheets, with parameters, licenses and reasoning modes, are in Models.

glm5.3 is the only one the normal subscription does not cover It needs a key on the premium tier. If you ask for it without one, the answer is a 401, not a 403: “This API key does not have access to the requested model”. It reads like a broken key and it is not, so check the tier before you go rotating credentials. It does not show up in GET /v1/models either. Every other model can be called by any member.

How to read the ids

  • The id is not the commercial name. The model its makers call “GLM 5.3 Flash” is glm5.3-flash here, lowercase, no spaces, and with the version dot.
  • -flash means fast, not small or worse: these are variants optimized for latency.
  • The version dot counts. qwen3.6 and qwen3.8-flash are different models, and mimo-v2.5 carries its dot where it carries it.
  • Ids do not change meaning. When we serve a new variant of a model we keep its id if the API is the same. deepseek-v4-flash, for instance, started reading images without changing its name.
  • Old ids are not switched off overnight. qwen3.6 still answers so that configurations already naming it do not break, but it is not what you want if you are starting today.

What the quota means

The quota column counts three different things:

  • /month is a token counter that goes back to zero with the calendar month.
  • /billing period goes back to zero when your period starts in Stripe, which is almost never the 1st. Only glm5.3 works that way, and it also has a separate token cap for each rolling 4-hour window, which is the one an intensive agent session hits first.
  • no counter means there is no token counter attached, not that it is infinite: the requests-per-minute limits apply to all of them just the same.

When you exhaust a quota, the API answers 402 or 429 and retrying does not fix it. The current limit figures are at the end of Models.

The list your key can use

This page is written by hand and the cluster moves. The definitive answer, filtered by what your key can actually call, comes from the API itself:

curl https://api.nan.builders/v1/models \
  -H "Authorization: Bearer $NAN_API_KEY"

If an id shows up there, it works. If it does not, you do not have it available, whatever you read somewhere else.

Next steps

  • Set up your agent: where to put the id in Cursor, Claude Code, Codex, Cline, OpenCode or Zed.
  • Examples: one complete call for each kind of model.
  • Models: the spec sheets, model by model.
nan.builders © 2026
Copied to clipboard