документация

Подключение за минуту

TUNDRA NEO — обычный OpenAI-совместимый API. Если приложение работает с OpenAI, оно заработает с нами.

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

Всё, что нужно — адрес шлюза и ваш ключ. Регистрация и SDK не требуются.

Base URL
https://api.tundraneo.ru/v1
Авторизация
Authorization: Bearer tn_your_key
Формат
OpenAI Chat Completions
Streaming
поддерживается (stream: true)
1
Пополни баланс

Платишь рублями, на ключ зачисляются доллары API-баланса. Пакеты

2
Получи ключ

Выдаётся через одобренный канал оплаты, вида tn_…

3
Впиши адрес и ключ

В настройках IDE или в коде — вместо ключа OpenAI.

4
Работай

Расход виден в кабинете.

первый запрос
curl https://api.tundraneo.ru/v1/chat/completions \
  -H "Authorization: Bearer tn_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-5",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Настройка IDE

Вставь ключ один раз — он сам подставится во все конфиги ниже. Выбери клиент — получи готовую настройку.

Если клиент умеет запрашивать список моделей — он подтянется сам через /v1/models.

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

Поддерживаем стандартные поля OpenAI.

полетипописание

Эндпоинты

методпутьчто делает

Примеры кода

Официальные SDK OpenAI работают без изменений — меняется только base_url.

Python · openai
from openai import OpenAI

client = OpenAI(
    base_url="https://api.tundraneo.ru/v1",
    api_key="tn_your_key",
)
r = client.chat.completions.create(
    model="claude-opus-5",
    messages=[{"role": "user", "content": "Hello"}],
)
print(r.choices[0].message.content)

Модели

Цена за 1 000 000 токенов. Вход и выход считаются отдельно.

модельдля чего вход выход контекст

Как считаются деньги

Баланс в долларах, списание по факту после успешного ответа.

формула
// списание за запрос
charge = (prompt_tokens × input_price + completion_tokens × output_price) / 1_000_000
Сбой не оплачивается. Если модель не ответила — списания не происходит.
Баланс не сгорает. У ключа нет срока действия и абонентской платы.

Ошибки

Формат ответа совпадает с OpenAI, поэтому SDK разбирают их сами.

кодчто значитчто делать
формат ошибки
{
  "error": {
    "code": "insufficient_balance",
    "message": "...",
    "type": "invalid_request_error"
  }
}