NezhaGateNezhaGate
POST https://nezhagate.com/v1/chat/completions

Gemini 4 Argon Beta поддерживает текстовый диалог, потоковый вывод и уровни рассуждения Low / Medium / High; по умолчанию Low. Используйте SDK OpenAI. Токены рассуждения оплачиваются как вывод.

Попробовать в песочнице →

Быстрый старт

Два шага: отправить запрос, а затем получить ответ в потоковом режиме. Замените YOUR_API_KEY своим ключом, и команды ниже заработают как есть. Эндпоинт совместим с OpenAI Chat Completions, поэтому в готовом коде для OpenAI достаточно поменять base_url и model.

Шаг 1 · Отправка запроса

curl
curl https://nezhagate.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-4-argon", "messages": [{"role": "user", "content": "Объясни одним предложением, что такое фотосинтез"}]}'

Ответ (HTTP 200)

JSON
{
  "id": "chatcmpl-7f3c9a1e2b4d6f8a",
  "object": "chat.completion",
  "created": 1791281400,
  "model": "gemini-4-argon",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Фотосинтез — это процесс, в котором растения с помощью солнечного света превращают углекислый газ и воду в сахар и выделяют кислород.",
        "reasoning_content": "..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 18,
    "completion_tokens": 186,
    "total_tokens": 204,
    "prompt_tokens_details": {"cached_tokens": 0},
    "completion_tokens_details": {"reasoning_tokens": 144}
  }
}

message.content — это ответ, message.reasoning_content — размышления. В usage — токены, по которым оплачивается этот запрос: токены размышлений входят в completion_tokens и оплачиваются по цене выхода.

Шаг 2 · Потоковый вывод (рекомендуется)

curl
curl -N https://nezhagate.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gemini-4-argon", "stream": true, "messages": [{"role": "user", "content": "Объясни одним предложением, что такое фотосинтез"}]}'

Поток — это стандартный SSE: каждый фрагмент несёт текст в choices[0].delta.content, последний фрагмент содержит usage, а завершается поток строкой data: [DONE]. Для длинных ответов и моделей с размышлениями используйте потоковый вывод: непотоковый запрос обрывается примерно через 10 минут.

Python (OpenAI SDK)

Python
from openai import OpenAI

client = OpenAI(base_url="https://nezhagate.com/v1", api_key="YOUR_API_KEY")

# 1. Один запрос — один ответ
resp = client.chat.completions.create(
    model="gemini-4-argon",
    messages=[{"role": "user", "content": "Объясни одним предложением, что такое фотосинтез"}],
)
print(resp.choices[0].message.content)

# 2. Потоковый вывод
stream = client.chat.completions.create(
    model="gemini-4-argon",
    messages=[{"role": "user", "content": "Объясни одним предложением, что такое фотосинтез"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Аутентификация

Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Чтобы начать, создайте API-ключ в консоли.

Основные характеристики

Контекст, общий для ввода и выводаОколо 1 млн токенов
Входные данныеТекст
РазмышленияВыберите low / medium / high; по умолчанию low. Тарифы за токен одинаковы на всех уровнях.
Вызов инструментовНе гарантируется: параметр tools может быть проигнорирован, и модель ответит сразу
Веб-поискПоддерживается (web_search: true; сам поиск бесплатный)
Эндпоинты/v1/chat/completions
Потоковый выводПоддерживается (stream: true, SSE)
ОплатаЗа токены: у входа, выхода (включая размышления) и попаданий в кэш — свои цены; неудачные запросы бесплатны

Параметры запроса

JSON-тело запроса POST /v1/chat/completions — такое же, как в OpenAI Chat Completions. Основные параметры и то, как каждый из них работает у этой модели:

ПараметрТипОбязательныйОписание
modelstringДаID модели: gemini-4-argon.
messagesarrayДаДиалог: у каждого сообщения есть role (system, user, assistant или tool) и content. Чтобы продолжить диалог, передавайте всю историю сообщений по порядку.
streambooleanНетtrue — ответ приходит потоком SSE, а usage — в последнем фрагменте. По умолчанию false.
max_tokensintegerНетЗапрошенная длина вывода, включая рассуждение. Эта Beta не гарантирует строгий предел. Для контроля затрат задавайте длину в запросе и делите работу.
temperature / top_pnumberНетПараметры сэмплирования можно передать; их влияние в этой Beta отдельно не проверено.
reasoning_effortstringНетВыберите low / medium / high; по умолчанию low. Тарифы за токен одинаковы на всех уровнях.
web_searchbooleanНетtrue — сначала выполняется веб-поиск, и его результаты передаются модели как справочные материалы; подробнее — ниже.

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

Цена

Оплата за токены по актуальным ценам ниже (за миллион токенов). Оплачиваются только успешные запросы и только по фактическому расходу: неудачные, прерванные по таймауту и отклонённые запросы бесплатны. 1 кредит = $0.005.

ТипUSD за 1 млн токеновКредитов за 1 млн токенов
Вход$0.50100
Выход (включая размышления)$3.00600
Попадание в кэш$0.0510

Например, запрос с 2000 входных токенов и 1000 выходных (включая размышления) стоит около $0.004.

Размышления

Задайте reasoning_effort как low, medium или high; если параметр опущен, используется low.

Видимое рассуждение возвращается в reasoning_content. usage.completion_tokens включает рассуждение и ответ; не прибавляйте токены рассуждения повторно.

Тарифы одинаковы на всех уровнях. Более глубокое рассуждение может увеличить число выходных токенов.

Токены размышлений входят в usage.completion_tokens и оплачиваются по цене выхода (некоторые модели ещё и указывают их отдельно в completion_tokens_details.reasoning_tokens).

JSON · reasoning_effort
{
  "model": "gemini-4-argon",
  "messages": [{"role": "user", "content": "Объясни одним предложением, что такое фотосинтез"}],
  "reasoning_effort": "medium"
}

Кэширование промптов

Поддерживается автоматический неявный кэш. Повтор длинного ввода может дать попадание; фактические попадания стоят одну десятую обычного ввода. Попадание при каждом повторе не гарантируется, создание явного кэша не предоставляется.

usage.prompt_tokens — весь ввод. usage.prompt_tokens_details.cached_tokens — кэшированная часть этого ввода. Тариф кэша применяется только к фактическим попаданиям.

Ограничения Beta

  • Проверены текстовый диалог, потоковый вывод и три уровня рассуждения. Инструменты, мультимодальный ввод и режим JSON ещё не проверены.
  • Официальный контекст — около миллиона токенов, общих для ввода и вывода. Поиск в длинном вводе проверен; полное окно и вывод на миллион токенов не проверялись.
  • Делите длинные задачи. max_tokens не является проверенным строгим пределом бюджета. Неудачные запросы не оплачиваются; прерванный запрос с выводом рассчитывается по фактическому расходу.

Ошибки и возвраты

Ошибки возвращаются объектом error (message, type, code, param); ориентируйтесь на HTTP-статус и code, а не на текст message. Неудачные запросы не оплачиваются; полный список — в разделе Коды ошибок.

HTTPcodeПричинаЧто делать
400invalid_messages / invalid_role / invalid_max_tokensВ запросе к чату поле messages отсутствует, пустое или имеет неверный формат, у role недопустимое значение либо max_tokens — не положительное целое число. Поле указано в param.Исправьте поле, указанное в param.
400model_not_foundID модели написан с ошибкой, model не передан или модель нельзя использовать на этом эндпоинте (например, чат-модель на эндпоинте изображений).Берите ID модели из GET /v1/models или из справочника API.
400max_tokens_too_smallМодель с размышлениями потратила весь max_tokens на размышления и не написала ответ (непотоковый чат).Увеличьте max_tokens и повторите.
4xxinvalid_requestПоставщик модели отклонил запрос (например, из-за слишком длинного контекста или неподдерживаемого параметра); статус и message передаются в том виде, в каком их прислал поставщик, а в code — его значение.Измените запрос согласно message.
401invalid_api_keyКлюч не существует, удалён или отключён, либо отключён аккаунт.Проверьте ключ на странице API Keys в консоли.
402insufficient_quotaБаланса не хватает, чтобы зарезервировать стоимость этого запроса. Шлюз сначала резервирует максимально возможную стоимость запроса, поэтому ошибка может возникнуть и при всплеске одновременных вызовов.Если был всплеск запросов, подождите несколько секунд и повторите; в остальных случаях пополните баланс.
403permission_deniedМодели нет в списке разрешённых моделей ключа.Используйте модель из списка разрешённых или измените список в консоли.
429rate_limit_exceededПревышен лимит запросов в минуту, заданный для этого ключа (считается за последние 60 секунд). Заголовка Retry-After нет.Подождите несколько секунд и повторите или увеличьте лимит ключа в консоли.
429rate_limit_exceededВсе линии этой модели заняты, и запрос не был отправлен. Бывает только на эндпоинтах чата: задачи изображений и видео не отклоняются, а встают в очередь. OpenAI-совместимые эндпоинты добавляют Retry-After.Подождите столько секунд, сколько указано в Retry-After, и повторите.
502upstream_timeoutЛиния не уложилась в таймаут, в том числе слишком долго не отправляла первый токен.Повторите; для длинных ответов используйте stream: true.
502upstream_unavailableЛиния дала сбой или временно недоступна.Повторите чуть позже.
502upstream_busyПоставщик модели ограничивает частоту запросов. Его 429 никогда не передаётся вам как 429 — вместо этого вы получаете этот 502.Повторите чуть позже.
502empty_completionПоставщик модели вернул пустой ответ. Это не оценка вашего контента.Повторите.
503model_maintenanceМодель на обслуживании и не принимает запросы; пока идёт обслуживание, другая модель вместо неё не ответит.Повторите, когда обслуживание закончится; ход работ — на странице статуса.

Если поток дал сбой уже после начала передачи, код статуса не меняется: ошибка приходит строкой данных с error, или поток просто заканчивается (без data: [DONE]). Считайте такой поток оборванным.