Эти поля похожи по смыслу, но не являются универсальными синонимами.
Chat Completions#
max_tokens — старое и широко распространённое имя предела ответа. Оно подходит многим GPT-4-подобным и совместимым моделям.
max_completion_tokens — современный предел для Chat Completions. У reasoning-моделей он может включать и видимый ответ, и внутренние reasoning tokens. Для новых GPT-5-подобных и некоторых других моделей используйте его, если это указано на странице модели.
Некоторые модели принимают только одно из этих полей. Не отправляйте оба одновременно без явного подтверждения.
Anthropic Messages#
max_tokens задаёт максимальную генерацию и должен передаваться явно.
Если включено thinking, его токены тоже занимают выходной бюджет. При ручном budget_tokens оставляйте место для финального ответа; бюджет thinking должен быть меньше max_tokens.
Responses#
max_output_tokens ограничивает весь генерируемый выход Responses, включая reasoning и видимый текст. Если лимит закончился во время reasoning, ответ может получить статус incomplete ещё до появления видимого текста.
Контекстное окно — другой лимит#
Контекстное окно включает:
системные инструкции;
текущий ввод;
историю диалога;
схемы tools;
изображения и другие входы;
место для reasoning и ответа.
Большой предел ответа не увеличивает контекстное окно.
Безопасный выбор#
Сначала выполните запрос без явного предела, если endpoint это допускает.
Найдите рекомендуемое поле на странице модели.
Задайте реалистичный предел для вашего сценария.
Проверьте
finish_reason,stop_reasonилиstatus.Логируйте usage отдельно для входа, reasoning и выхода, если эти поля есть.
Ошибка length, max_tokens или max_output_tokens означает, что ответ мог быть частичным. Не обрабатывайте его как гарантированно завершённый.