Models and IDs
Every FreeTheAI model has an ID that starts with fta/, for example fta/zai/glm-5.3. Send that ID exactly, including the fta/.../ part, as the model of every request.
Where the list lives
The model list changes as models are added and retired, so this page does not repeat it. Use one of these:
- freetheai.org/models: every model with its context size, output limit, the endpoints it supports, and what it is good for. Filter by company, endpoint, or use (for example Roleplay under Good for).
GET /v1/models: the models your key can use, for code and for apps with a model picker.
Old IDs no longer work
IDs from freetheai.xyz and IDs without the fta/ prefix answer 404 with model "..." was not found. Copy a current ID from the Models page.
Reading an ID
An ID has the form fta/<family>/<model>. The middle part groups related models, for example fta/zai/ for GLM and fta/kimi/ for Kimi. Treat the whole ID as an opaque name: copy it, don't build it.
Which model to pick
These are good starting points among the free models. Check the Models page for the current list and limits.
| Model ID | Good for | Notes |
|---|---|---|
fta/zai/glm-5.3 | All-round chat, roleplay, and coding | Strong at tool calls. Text only. A 1M-token context. The default in every guide. |
fta/zai/glm-5.3-flash | Quick answers, background tasks, images | Reads images. A lighter, faster GLM. |
fta/kimi/k3 | Careful reasoning, hard coding problems, consistent long roleplay | Thinks before answering, so the first words take longer. |
fta/mmx/minimax-m3 | Long documents and long chats | A different voice when a chat feels repetitive. |
fta/olf/gpt-oss:120b | An open-weight reasoning model | 131K context. |
For roleplay
Start with fta/zai/glm-5.3: vivid, detailed replies that follow character cards well. Try fta/kimi/k3 for more deliberate replies (turn on streaming, since it thinks first) and fta/mmx/minimax-m3 when a story needs a different voice. On the Models page, pick Roleplay under Good for to see the models that suit roleplay, ranked by what roleplay apps use most.
For coding agents
Start with fta/zai/glm-5.3. Use fta/kimi/k3 for harder reasoning and fta/zai/glm-5.3-flash for small, quick tasks such as titles and summaries. Coding agents need tool calls; the Tool-capable models only key setting hides every model that cannot make them.
The dog/ and lion/ models
The fta/dog/ and fta/lion/ models are for everyday work that is not roleplay or coding: questions, writing and editing, summaries, research, translation, and reading images you attach. They reply in plain text only.
- They do not play characters, so roleplay apps usually get a content filter error:
Content filtered: dog/ models are for general questions, writing, and images. - They cannot make tool or function calls, so coding agents and tool-based apps do not work with them.
- They can search the web on their own: see Web search.
For roleplay or coding, pick a GLM, Kimi, or MiniMax model instead.
Context and output length
Each model's page lists its context window (how much text it reads at once) and its maximum output. A chat longer than the context answers 400 with the conversation is too long for this model: lower your app's context size or start a new chat.
To get the model's full output length, send a large max_tokens, or 0 in apps whose max tokens field accepts it. Replies that stop mid-sentence usually mean max tokens is set too low.
Capabilities
| Capability | How to tell | More |
|---|---|---|
| Images (vision) | Marked for images on the Models page | Images |
| Tool calls | Listed by /v1/models on a key with Tool-capable models only | Tool calls |
| Thinking | The model reasons before answering; can be turned off | Thinking and reasoning |
| Web search | fta/dog/ and fta/lion/ models search on their own | Web search |
Some models accept only fixed sampling values (for example Kimi K3 sets its own temperature and top_p). FreeTheAI applies those values for you, so moving the sliders in your app changes nothing and causes no error. A value a model refuses outright answers 400 with the model rejected one of the request's settings; reset your app's generation settings to their defaults.
Busy and paused models
Free models can get busy at peak times. A busy model answers 503 and the refusal does not count against your limits; retry in a minute or switch models. Some models share one daily limit across everyone and pause until it resets. The status page shows which models are up, busy, or paused.

