GPT Image 2.5 is live — OpenAI's newest image model, targeted edits that leave the rest of the frame alone
GPT-6 Luna API и temperature: почему приходит 400 и что отправлять
2026/10/07

GPT-6 Luna API и temperature: почему приходит 400 и что отправлять

Как задать temperature в GPT-6 Luna API? Почему GPT-6 Luna и Sol отвечают 400 на temperature и top_p, точный ID модели и исправленный запрос.

Если вы попробуете задать temperature в GPT-6 Luna API, обычно получите HTTP 400, а не более сдержанный ответ. Руководство OpenAI по переходу на GPT-6 предписывает убирать temperature, top_p и top_logprobs, если reasoning effort отличен от none, а в Chat Completions — ещё и logprobs[1]. По умолчанию GPT-6 Luna работает с effort medium[2], поэтому запрос, в который добавили temperature: 0.2 и не тронули effort, оказывается по неправильную сторону этого правила.

В статье разберём, что именно говорит правило, какие точные тексты ошибок разработчики публиковали из Amazon Bedrock, Azure и клиентов OpenAI, какой ID модели правильный, и покажем запрос к эндпоинту Chat Completions в reAPI до и после исправления. Те же правила действуют и для GPT-6 Sol.

Коротко

  • Уберите temperature и top_p. Руководство OpenAI требует убирать их, а также top_logprobs, когда reasoning effort не равен none[1]. Effort по умолчанию у Luna — medium[2].
  • В reAPI правило проще: temperature, top_p, frequency_penalty и presence_penalty возвращают 400 и на gpt-6-luna, и на gpt-6-sol. Не передавайте их ни в одном запросе[3][4].
  • Даже temperature: 1 может не пройти. В баг-репорте Langflow выяснилось, что Converse API в Amazon Bedrock отклоняет это поле при любом значении, включая 1[5].
  • Рычаг, который у вас остаётся, — reasoning_effort: none, low, medium, high, xhigh или max[2]. Значения auto нет.
  • ID модели — gpt-6-luna (и gpt-6-sol), ровно в таком написании[2][3].
  • Первый результат с Microsoft Q&A — про другой баг. Он о том, что Azure AI Foundry отклоняет reasoning.effort, а не о temperature[6].

Почему GPT-6 Luna отклоняет temperature

GPT-6 Luna — reasoning-модель. На странице модели OpenAI указаны "Reasoning token support" и шесть уровней effort, по умолчанию medium[2]. В чек-листе "Update API and model parameters" из руководства OpenAI по GPT-6 параметры сэмплирования вынесены под отдельный заголовок[1]:

Unsupported parameters: When reasoning effort is not none, remove temperature, top_p, and top_logprobs. For Chat Completions, also remove logprobs.

Обратите внимание на условие. Руководство привязывает удаление к reasoning effort, а не к названию модели. Там же отмечено, что GPT-6 Sol и GPT-6 Luna поддерживают none, а GPT-6 Astra и GPT-6.1 Sol — нет[1]. На практике большинство запросов идёт на medium по умолчанию, поэтому большинство запросов с temperature завершается ошибкой.

В документации reAPI зафиксирован более строгий результат. Таблица параметров для gpt-6-luna, измеренная на эндпоинте 2026-09-24, помечает temperature, top_p, frequency_penalty и presence_penalty как "Not supported by this model — sending any of them returns 400. Leave them out of the request."[3] На странице gpt-6-sol та же строка[4]. Исключения для effort none документация не описывает, так что не стройте на нём расчёт: просто вырезайте эти поля.

Какие ошибки 400 разработчики получают на самом деле

В выдаче по этой проблеме перемешаны несколько разных ошибок. Ниже — строки, которые люди публиковали открыто, откуда каждая взялась и что её исправляет.

Текст ошибки, как в отчётеГдеИсправление
"Only the default (1) value is supported."OpenAI-совместимый эндпоинт Bedrock, Langflow отправляет temperature 0.1[5]Уберите temperature
"This model doesn't support the temperature field. Remove temperature and try again."Bedrock Converse, из Langflow (по умолчанию 0.7) и Phoenix (по умолчанию 1)[5][7]Уберите temperature, затем top_p — Converse отклоняет его так же[5]
"Unsupported parameter: 'reasoning.effort' is not supported with this model."Агенты Azure AI Foundry и project-эндпоинт Foundry[6][8]Дело не в temperature; см. ответ про Azure в FAQ
"Function tools with reasoning_effort are not supported for gpt-6-luna in /v1/chat/completions. To use function tools, use /v1/responses or set reasoning_effort to 'none'."OpenAI Chat Completions, Ruby-клиент с tools[9]Используйте Responses API или effort none, как указано на странице модели OpenAI[2]
"Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22"Определение агента в Foundry[10]Сообщено для Azure; дело не в temperature

Два из этих отчётов показывают, что поле попадает в запрос без чьего-либо решения. Playground Phoenix для AWS начинает каждый запуск с temperature: 1 из конфигурации по умолчанию, и очистить его слайдер нельзя[7]. Компонент Bedrock в Langflow по умолчанию отправляет Temperature 0.7 и Top P 0.9[5]. Так что если в вашем коде temperature не упоминается, а ошибка всё равно есть, проверьте значения по умолчанию во фреймворке.

Как задать temperature в GPT-6 Luna API на reAPI: до и после

reAPI отдаёт GPT-6 Luna через POST https://reapi.ai/api/v1/chat/completions, ключ reAPI передаётся как bearer-токен[3]. Этот запрос несёт привычки от старых чат-моделей и будет отклонён:

# Rejected: temperature and top_p return 400 on gpt-6-luna
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "temperature": 0.2,
    "top_p": 0.9
  }'

Исправленная версия убирает оба поля и задаёт те параметры, которые модель действительно учитывает. reasoning_effort в reAPI принимает все шесть уровней, а max_completion_tokens применяется вплоть до 128,000[3]:

# Accepted: no sampling fields, explicit effort and output cap
curl https://reapi.ai/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "messages": [
      { "role": "user", "content": "Classify this ticket as billing, bug or account access: I was charged twice." }
    ],
    "reasoning_effort": "low",
    "max_completion_tokens": 1000
  }'

Reasoning-токены входят в max_completion_tokens и тарифицируются как выходные, поэтому лимит, рассчитанный только на видимый ответ, может обрезать ответ на более сложный промпт[3]. Актуальные тарифы за токен — на странице модели GPT-6 Luna.

Остальные параметры в reAPI, как они задокументированы для обеих моделей GPT-6[3][4]:

ПолеРезультат на gpt-6-luna и gpt-6-sol
temperature, top_p, frequency_penalty, presence_penalty400, не передавайте
seed, stop, logprobs, verbosityПринимаются (200), но ни на что не влияют
nТолько 1; большее значение возвращает 400
reasoning_effortnone, low, medium, high, xhigh, max; medium, если не указан
response_formatПрименяется, включая json_schema со strict
tools, tool_choicetool_calls возвращаются как при effort medium, так и при none

Строка tools расходится с собственным правилом OpenAI для Chat Completions, где function calling разрешён только при reasoning_effort: "none"[2]. На эндпоинте reAPI при замере 2026-09-24 tools возвращали tool_calls на medium[3].

Чем заменить temperature

Temperature управляла случайностью при сэмплировании. Прямой замены в GPT-6 Luna нет, поэтому выбирайте параметр под ту задачу, ради которой вы ставили temperature.

Нужен стабильный, разбираемый вывод. Используйте response_format с JSON-схемой и strict: true. reAPI применяет его на обеих моделях GPT-6[3], а строгая схема фиксирует форму ответа — именно этого и добивались многие настройки temperature: 0.

Нужны более быстрые или дешёвые ответы. Понизьте reasoning_effort. Руководство OpenAI по reasoning описывает none для задач, критичных к задержке, вроде классификации и быстрого поиска, а low — для работы с инструментами, сценариев поддержки и черновиков[11]. Меньше reasoning-токенов — меньше и оплачиваемых выходных токенов[3].

Нужны разнообразные ответы. Ни seed, ни n в reAPI здесь не помогут. seed принимается без эффекта, а n ограничен 1[3]. Отправляйте отдельные запросы или просите несколько вариантов в одном промпте.

Нужен другой стиль. Скажите об этом в system- или developer-сообщении. Параметры сэмплирования всегда были грубым инструментом для управления тоном, и инструкции — единственный оставшийся рычаг.

Как вырезать эти поля в Python

Если общий хелпер или конфиг подставляет значения сэмплирования по умолчанию, удаляйте их перед вызовом, а не правьте каждое место вызова. Здесь используется официальный OpenAI SDK, направленный на reAPI, как в Python-примере reAPI[3]:

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://reapi.ai/api/v1")

REJECTED = {"temperature", "top_p", "frequency_penalty", "presence_penalty"}

def gpt6_params(params: dict) -> dict:
    """Drop fields that gpt-6-luna and gpt-6-sol answer with 400."""
    return {k: v for k, v in params.items() if k not in REJECTED}

params = {"temperature": 0.2, "top_p": 0.9, "max_completion_tokens": 1000}

resp = client.chat.completions.create(
    model="gpt-6-luna",
    messages=[{"role": "user", "content": "Summarize this refund policy in two sentences."}],
    reasoning_effort="low",
    **gpt6_params(params),
)
print(resp.choices[0].message.content)

Если непонятно, откуда берётся поле, во время тестов логируйте ключи итогового сериализованного тела запроса. Отчёты Phoenix и Langflow выше — как раз случаи значения по умолчанию, которое вызывающий код никогда не писал[5][7].

FAQ

GPT-6 Luna API: как задать temperature — обсуждения на GitHub

Issues на GitHub по этой теме в основном про баги в инструментах, которые отправляют temperature по умолчанию. Компонент Bedrock в Langflow отправляет 0.7 и 0.9 для temperature и top_p[5], а playground Phoenix для AWS отправляет temperature: 1 при каждом запуске[7]. В обоих отчётах запрос начинает работать, как только поля убраны. В вашем коде исправление то же: не отправляйте temperature и top_p в GPT-6 Luna.

GPT-6 Luna API: как задать temperature в Python

Никак. Не передавайте temperature и top_p в client.chat.completions.create(...), вместо них передайте reasoning_effort. В reAPI оба поля возвращают 400[3]. Хелпер на Python выше отфильтрует их, если они приходят из общего конфига.

GPT-6 Luna API: пример запроса вместо temperature

Пример — исправленный cURL-запрос выше: model со значением gpt-6-luna, массив messages, reasoning_effort: "low" и max_completion_tokens: 1000, без temperature и top_p. Он соответствует правилам для полей из документации reAPI по GPT-6 Luna[3].

Как называется модель в GPT-6 Luna API

ID модели в API — gpt-6-luna. OpenAI указывает его и как ID модели, и как единственный snapshot, с инструкцией "Use gpt-6-luna in your API requests."[2] reAPI использует ту же строку и считает её моделью, отличной от gpt-5.6-luna и gpt-6-sol[3]. В сообщениях об ошибках Azure упоминается и версия модели, gpt-6-luna-2026-09-22[10].

Есть ли reasoning auto в GPT-6 Luna API

Значения reasoning effort auto нет. Для GPT-6 Luna OpenAI перечисляет none, low, medium, high, xhigh и max, по умолчанию medium[2]. Чтобы получить значение модели по умолчанию, просто не указывайте reasoning_effort. В руководстве OpenAI по reasoning auto встречается, но для других настроек: reasoning summaries и поля reasoning.context[11].

GPT-6 Luna в Azure

Самая цитируемая проблема в Azure — не temperature. В посте на Microsoft Q&A от 29 сентября 2026 года описано, что агенты Foundry падают с ошибкой "Unsupported parameter: 'reasoning.effort' is not supported with this model"[6]. Issue на GitHub воспроизводит её на project-эндпоинте Foundry: обычные вызовы там возвращают 500, а с effort — 400, тогда как resource-эндпоинт работает с reasoning effort. Обходной путь автора — вызывать resource-эндпоинт; на момент нашей проверки 7 октября 2026 года issue оставался открытым[8].

Какой effort выбрать для GPT-6 Sol

GPT-6 Sol принимает те же шесть значений, что и Luna, по умолчанию medium[4][12]. Общая рекомендация OpenAI: none для задач, критичных к задержке, low для работы с инструментами и черновиков, medium для большинства нагрузок, high для сложной отладки и планирования, а xhigh — только если evals оправдывают дополнительные задержку и стоимость[11]. В reAPI Sol отклоняет temperature и top_p точно так же, как Luna[4].

Запросы к GPT-6 Luna, которые проходят с первого раза

Чистый запрос к GPT-6 Luna содержит model со значением gpt-6-luna, массив messages, осознанно выбранный reasoning_effort и лимит вывода с запасом на рассуждения. В нём нет temperature, top_p и полей штрафов. Если вы пришли сюда, чтобы задать temperature в GPT-6 Luna API, ответ такой: перестаньте её задавать. Стоимостью и задержкой управляйте через effort, формой ответа — через строгую JSON-схему, и проверьте, что ваш фреймворк добавляет по умолчанию. Та же структура запроса работает и для GPT-6 Sol. Параметры — в документации GPT-6 Luna и документации GPT-6 Sol, актуальные тарифы — на страницах моделей GPT-6 Luna и GPT-6 Sol.

References

  1. OpenAI. Using GPT-6. Дата обращения: октябрь 2026, developers.openai.com/api/docs/guides/latest-model
  2. OpenAI. GPT-6 Luna model page. Дата обращения: октябрь 2026, developers.openai.com/api/docs/models/gpt-6-luna
  3. reAPI. gpt-6-luna API documentation. Дата обращения: октябрь 2026, reapi.ai/docs/gpt-6-luna
  4. reAPI. gpt-6-sol API documentation. Дата обращения: октябрь 2026, reapi.ai/docs/gpt-6-sol
  5. Langflow on GitHub. Amazon Bedrock Converse: OpenAI GPT-6 Sol/Luna/Astra calls fail with 400 because Temperature and Top P are sent by default (#15349). Дата обращения: октябрь 2026, github.com/langflow-ai/langflow/issues/15349
  6. Microsoft Q&A. GPT-6-Luna agents fail with Unsupported parameter: 'reasoning.effort' error. Дата обращения: октябрь 2026, learn.microsoft.com/en-us/answers/questions/6018360
  7. Arize Phoenix on GitHub. Playground can't run OpenAI GPT-6 Sol/Luna/Astra on AWS Bedrock: default temperature=1 is always sent and rejected with 400 (#16430). Дата обращения: октябрь 2026, github.com/Arize-ai/phoenix/issues/16430
  8. Azure SDK for Python on GitHub. azure-ai-projects: gpt-6-luna returns 500 on project endpoint, works on resource endpoint (#49169). Дата обращения: октябрь 2026, github.com/Azure/azure-sdk-for-python/issues/49169
  9. redmine_ai_helper on GitHub. Chat fails with gpt-6 models (gpt-6-luna, gpt-6-sol): "Function tools with reasoning_effort are not supported" (#480). Дата обращения: октябрь 2026, github.com/haru/redmine_ai_helper/issues/480
  10. Microsoft Agent Framework on GitHub. Invalid parameter: 'text.format' of type 'json_schema' is not supported with model version gpt-6-luna-2026-09-22 (#8718). Дата обращения: октябрь 2026, github.com/microsoft/agent-framework/issues/8718
  11. OpenAI. Reasoning models. Дата обращения: октябрь 2026, developers.openai.com/api/docs/guides/reasoning
  12. OpenAI. GPT-6 Sol model page. Дата обращения: октябрь 2026, developers.openai.com/api/docs/models/gpt-6-sol

Что почитать дальше