---
url: https://docs.freetheai.org/concepts/models.md
description: >-
  How FreeTheAI model IDs work, where to find the live list, and which free
  model to pick for roleplay, coding, chat, images, and quick answers.
---

# 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](https://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`](/api/models)**: the models your key can use, for code and for apps with a model picker.

::: warning 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](/getting-started/account#key-settings) 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](/concepts/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](/concepts/images) |
| Tool calls | Listed by `/v1/models` on a key with **Tool-capable models only** | [Tool calls](/concepts/tool-calls) |
| Thinking | The model reasons before answering; can be turned off | [Thinking and reasoning](/concepts/reasoning) |
| Web search | `fta/dog/` and `fta/lion/` models search on their own | [Web search](/concepts/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](https://freetheai.org/status) shows which models are up, busy, or paused.
