> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Что такое max_tokens? Что произойдет, если не задавать?

> Узнайте о параметре max_tokens, эволюции именования параметров у OpenAI, поведении по умолчанию, если параметр не задан, и максимальных лимитах выходных token для популярных моделей.

## Краткий ответ

`max_tokens` управляет максимальным количеством tokens, которые модель может сгенерировать в одном ответе. **APIYI не накладывает никаких дополнительных ограничений на max\_tokens** — параметр передается напрямую во внешнюю модель. Вы можете задать его самостоятельно; если он не задан, применяется значение по умолчанию модели.

<Info>
  **Подход APIYI**: Мы не устанавливаем никаких ограничений на max\_tokens. У вас полный контроль. Если значение не задано, каждая модель использует собственное поведение вывода по умолчанию.
</Info>

## Что делает max\_tokens

`max_tokens` (maximum output tokens) — один из самых распространенных параметров при вызове LLM API. Он говорит модели: **сгенерируйте в ответе не больше этого количества tokens**.

* Установите значение **слишком низким**: модель может оборвать ответ на середине (возвращает `finish_reason: "length"`)
* Установите значение **слишком высоким**: модель не будет обязана генерировать столько tokens, но вы можете столкнуться с более высокими затратами (некоторые модели взимают плату за каждый output token)
* **Не задано**: используется значение по умолчанию для модели (зависит от провайдера — см. таблицу ниже)

<Tip>
  **token ≠ символ**. В английском примерно 1 слово ≈ 1-1.5 tokens. В китайском примерно 1 символ ≈ 1-2 tokens. 4,096 tokens — это примерно 3,000 английских слов.
</Tip>

## Эволюция именования параметров OpenAI

OpenAI использует разные имена параметров в разных API и в разные периоды, что может вызывать путаницу:

| Тип API              | Имя параметра           | Применимые модели                  | Введено                   |
| -------------------- | ----------------------- | ---------------------------------- | ------------------------- |
| Chat Completions API | `max_tokens`            | GPT-3.5, GPT-4, GPT-4o и т. д.     | Оригинальная версия       |
| Chat Completions API | `max_completion_tokens` | модели рассуждения o1, o3, o4-mini | Сентябрь 2024 (запуск o1) |
| Responses API        | `max_output_tokens`     | GPT-4o, GPT-5.4, o3, все модели    | 2025                      |

### Почему произошло переименование?

Когда OpenAI выпустила модель рассуждения o1 в сентябре 2024 года, она представила «скрытые токены рассуждения» — модель генерирует обширные внутренние токены рассуждения, которые **не отображаются в вашем ответе**.

Первоначальный `max_tokens` означал и «токены, которые сгенерированы», и «токены, которые вы получаете», но у моделей рассуждения эти значения больше не совпадают. Поэтому OpenAI ввела `max_completion_tokens`, чтобы явно обозначить «**лимит на токены, которые вы получаете в ответе**».

Позже Responses API перешел на более интуитивное название `max_output_tokens`.

<Warning>
  **Важно**: При использовании моделей рассуждения серии o от OpenAI (например, o3, o4-mini) с Chat Completions API вы **обязательно должны использовать `max_completion_tokens`** вместо `max_tokens`, иначе получите ошибку.
</Warning>

## Что происходит, если max\_tokens не задан?

Разные провайдеры обрабатывают это по-разному:

| Провайдер               | Поведение по умолчанию, если не задано                               | Примечания                                                             |
| ----------------------- | -------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| **OpenAI**              | Без лимита (выводит ответ, пока не будет исчерпано контекстное окно) | Модель естественным образом определяет длину вывода                    |
| **Anthropic Claude**    | ❌ **Обязательный параметр — ошибка, если не задан**                  | Claude API требует явного `max_tokens`                                 |
| **Google Gemini**       | По умолчанию 8,192 tokens                                            | Даже если модель поддерживает больше, возвращается только 8,192 tokens |
| **DeepSeek (chat)**     | По умолчанию 4,000 tokens                                            | Можно вручную увеличить до 8,000                                       |
| **DeepSeek (reasoner)** | По умолчанию 32,000 tokens                                           | Включает вывод chain-of-thought, максимум 64,000                       |

<Warning>
  **Особая примечание**: `max_tokens` в Claude API — это **обязательный параметр**. Если вы его не укажете, API вернет ошибку. Всегда задавайте его при использовании моделей Claude.
</Warning>

## Справочник по максимальному числу output tokens

Ниже приведены максимальные лимиты output tokens для популярных моделей. **Всегда проверяйте официальную документацию, чтобы получить самые актуальные значения**, поскольку модели часто обновляются.

| Модель            | ID модели            | Максимум output tokens | Контекстное окно |
| ----------------- | -------------------- | ---------------------- | ---------------- |
| GPT-5.4           | `gpt-5.4-2026-03-05` | 128,000                | 1,047,576        |
| GPT-4o            | `gpt-4o`             | 16,384                 | 128,000          |
| o3                | `o3`                 | 100,000                | 200,000          |
| Claude Opus 4.6   | `claude-opus-4-6`    | 128,000                | 1,000,000        |
| Claude Sonnet 4.6 | `claude-sonnet-4-6`  | 64,000                 | 1,000,000        |
| Gemini 3.1 Pro    | `gemini-3.1-pro`     | 65,536                 | 2,000,000        |
| DeepSeek V3       | `deepseek-chat`      | 8,000                  | 64,000           |
| DeepSeek R1       | `deepseek-reasoner`  | 64,000                 | 64,000           |

<Info>
  **Официальная документация** (для актуальных значений):

  * OpenAI: `platform.openai.com/docs/models`
  * Anthropic Claude: `docs.anthropic.com/en/docs/about-claude/models`
  * Google Gemini: `ai.google.dev/gemini-api/docs/models`
  * DeepSeek: `api-docs.deepseek.com/api/create-chat-completion`
</Info>

## Рекомендации

<Tip>
  **Лучшая практика**: Мы рекомендуем **явно задавать `max_tokens`** в каждом вызове API, потому что:

  * У разных моделей/провайдеров разные значения по умолчанию, что может привести к неожиданному усечению
  * Ограничивает длину ответа и предотвращает ненужное расходование token
  * Claude API требует этого — выработка единой привычки снижает количество ошибок
  * Типичные настройки: обычный чат `2048-4096`, генерация длинных текстов `8192-16384`, генерация кода `4096-8192`
</Tip>

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Ограничивает ли APIYI значение max_tokens?">
    **Нет**. APIYI передает параметр `max_tokens` напрямую вышестоящей модели без каких-либо дополнительных ограничений. Какое значение вы зададите, такое и получит вышестоящая модель. Единственное ограничение — собственный максимальный лимит output token у модели.
  </Accordion>

  <Accordion title="Что будет, если я задам max_tokens больше, чем максимум модели?">
    Ошибки не будет — модель просто сгенерирует вывод в пределах своего собственного максимума. Например, у GPT-4o максимальный output составляет 16,384 token; даже если вы зададите `max_tokens: 100000`, она выведет не более 16,384 token.
  </Accordion>

  <Accordion title="В чем разница между max_tokens и max_completion_tokens?">
    Они служат одной и той же цели — ограничению количества token. Разница только в названии:

    * `max_tokens`: исходное имя параметра OpenAI, используемое для не-reasoning моделей серии GPT
    * `max_completion_tokens`: С сентября 2024 года используется для reasoning-моделей o-серии OpenAI
    * `max_output_tokens`: Единое имя параметра в OpenAI Responses API

    При вызове через APIYI используйте подходящее имя параметра в зависимости от модели и формата API, который вы используете.
  </Accordion>

  <Accordion title="Вывод был обрезан (finish_reason is 'length') — как исправить?">
    Это означает, что вывод модели достиг лимита `max_tokens`. Решения:

    1. Увеличьте значение `max_tokens`
    2. Оптимизируйте prompt, чтобы получать более краткие ответы
    3. Проверьте, что вы используете правильное имя параметра (модели o-серии требуют `max_completion_tokens`)
  </Accordion>
</AccordionGroup>

## Похожие документы

<CardGroup cols={2}>
  <Card title="Как выбрать правильную AI-модель?" icon="compass" href="/ru/faq/model-selection-guide">
    Выберите лучшую модель для вашего сценария использования
  </Card>

  <Card title="Лимиты параллельных запросов API" icon="gauge" href="/ru/faq/api-concurrency">
    Узнайте о лимитах параллельных запросов для разных моделей
  </Card>

  <Card title="Руководство по настройке Base URL" icon="settings" href="/ru/faq/base-url-config">
    Как настроить Base URL APIYI в различных инструментах
  </Card>

  <Card title="Управление токенами APIYI" icon="key" href="https://api.apiyi.com/token">
    Управляйте API-ключами, проверяйте использование и баланс
  </Card>
</CardGroup>
