OpenAI-compatible chat completions backed by GPT-5.6 Terra, the balanced everyday agentic coding model, with streaming and reasoning_effort control. Set model to gpt-5.6-terra. This model also returns a reasoning summary: choices[].message.reasoning_content when non-streaming, choices[].delta.reasoning_content when streaming. The answer itself stays in content and is never mixed with the reasoning, so clients that only read content need no changes. When reasoning_effort is omitted the gateway requests the medium tier (the model's own default) and the summary comes back all the same. Billing: thinking tokens are charged at the output rate and are included in usage.completion_tokens; usage.completion_tokens_details.reasoning_tokens breaks out how many were reasoning -- those tokens are billed whether or not you read the field. Note that OpenAI exposes only a summary of the reasoning, never the raw chain of thought, so this field is usually short. Note: this model is served over a ChatGPT-subscription upstream that does not accept temperature / top_p / max_tokens / max_completion_tokens / frequency_penalty / presence_penalty -- sending them is silently ignored (no error). Use reasoning_effort for thinking depth and prompt wording for length. For image input use a base64 data: URI; a public image URL may time out upstream.
📥 Контекстное окно (максимум ввода):~272K токенов (контекстное окно семейства GPT-5; расходы на системный промпт также учитываются в этом лимите).
Попробовать в песочнице →Аутентификация
Authorization: Bearer YOUR_API_KEY Content-Type: application/json
Чтобы начать, создайте API-ключ в консоли.
Тело запроса
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| model | string | Да | Model ID, here gpt-5.6-terra. |
| messages | array | Да | Массив сообщений; у каждого есть role (system/user/assistant) и content. content может быть строкой или массивом частей {type:text} и {type:image_url} для распознавания изображений (мультимодальность/зрение). |
| stream | boolean | Нет | Возвращать ответ потоково через SSE. По умолчанию false. |
| web_search | boolean | Нет | Установите true, чтобы включить веб-поиск: шлюз дополняет промпт актуальными результатами (со ссылками на источники) перед тем, как модель формирует ответ. Также можно включить через элемент tools вида {"type":"web_search"}. |
| reasoning_effort | string | Нет | Уровень усилий на рассуждение: low / medium / high / xhigh — разменивает глубину рассуждений на скорость (только для GPT-5.x). Чем ниже уровень, тем быстрее ответ. Если не указано, шлюз запрашивает medium — собственное значение модели по умолчанию. |
| tools | array | Нет | Вызов функций. Передайте стандартный массив tools, как в OpenAI; когда модель решает вызвать функцию, она возвращает finish_reason=tool_calls вместе с tool_calls. Используйте вместе с tool_choice, чтобы принудительно указать конкретный инструмент. |
| response_format | object | Нет | Структурированный вывод. Передайте {"type":"json_object"}, чтобы модель возвращала только корректный JSON. |
Пример запроса
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "gpt-5.6-terra", "messages": [{"role": "user", "content": "Hello"}], "stream": false}'Ответ
{
"id": "chatcmpl_xxx",
"object": "chat.completion",
"model": "gpt-5.6-terra",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"reasoning_content": "**Weighing the options** ... (a summary of how the model reasoned)",
"content": "Hello!"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 11,
"completion_tokens": 105,
"total_tokens": 116,
"completion_tokens_details": {"reasoning_tokens": 43}
}
}Ввод изображений (Vision)
Поместите изображение в массив content сообщения, и модель проанализирует его (визуальные вопрос-ответ, распознавание текста / OCR, …). Поле image_url принимает публичную ссылку на изображение или встроенный base64 data URL (data:image/png;base64,...). Доступно для мультимодальных моделей (gpt-5.5, серия gemini, …).
curl https://nezhagate.com/v1/chat/completions -H "Authorization: Bearer YOUR_API_KEY" -H "Content-Type: application/json" -d '{"model": "gpt-5.6-terra", "messages": [{"role": "user", "content": [{"type": "text", "text": "Что изображено на этой картинке?"}, {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}]}]}'Коды ошибок
Каждое тело ошибки содержит error.message / error.type / error.code / error.param — ветвите логику по code; полный список — в руководстве по интеграции.
| HTTP | code | Описание |
|---|---|---|
| 401 | invalid_api_key | API-ключ отсутствует или недействителен |
| 402 | insufficient_quota | Недостаточно средств на балансе или превышена квота ключа |
| 400 | invalid_request | Неподдерживаемая модель или параметр |
| 429 | rate_limit_exceeded | Лимит запросов у провайдера |
| 502 | upstream_error | Все маршруты к провайдерам не сработали |