Документация · API-шлюз TundraLabs API 🔥

Обзор TundraLabs API 🔥

Облачный API-шлюз к Claude, GPT и десяткам моделей. Один ключ — Anthropic и OpenAI совместимость. Запросы идут в формате, который вы уже знаете — без VPN и сложных настроек.

Base URL · Anthropic
https://api.tundralabs.ru
Claude Code · anthropic SDK
Base URL · OpenAI
https://api.tundralabs.ru/v1
Cursor · Cline · openai SDK
API Key
sk_tundra_••••••••
x-api-key или Bearer
Статус API
Все системы в норме
запросов сегодня: — · отклик: — мс

Что такое TundraLabs API #

Шлюз принимает запросы в нативном Anthropic-формате (/v1/messages) или OpenAI-формате (/v1/chat/completions) и проксирует их к провайдеру, списывая токены с баланса вашего ключа. Вы получаете один ключ и работаете из любого совместимого клиента.

Базовые адреса #

Используйте Anthropic Base URL для Claude Code, anthropic SDK и Goose. OpenAI Base URL — для Cursor, Cline, openai SDK и LangChain.

ФорматBase URLКлиенты
Anthropichttps://api.tundralabs.ruClaude Code, anthropic SDK, Goose
OpenAIhttps://api.tundralabs.ru/v1Cursor, Cline, openai SDK, LangChain

Авторизация #

Ключ передаётся в заголовке x-api-key или Authorization: Bearer — оба варианта работают на обоих эндпоинтах.

headersHTTP
# Anthropic-стиль
x-api-key: sk_tundra_ВАШ_КЛЮЧ

# OpenAI-стиль
Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ

Какую модель выбрать #

Быстрый выбор по сценариям. Полный каталог с описанием — в разделе Модели.

СценарийМодельПочему
Код и агентные задачиclaude-sonnet-5универсальная, баланс цена/качество
Тяжёлые миграции, длинные документыclaude-fable-5максимум reasoning, 200K контекст
Экономия и массовые запросыclaude-haiku-4-5дёшево, очень быстро
Универсальный продакшнgpt-5.4дёшево, стабильно, без сюрпризов

TUNDRA Autopilot — не выбирать модель вручную #

Вместо конкретной модели укажите tundra-auto — шлюз сам определит сложность запроса по его форме (длина, есть ли код, вызовы инструментов, просьба «подумай») и отправит в подходящую по силе модель: простое уйдёт в дешёвую, сложное — в сильную. Пакет расходуется медленнее, счёт остаётся честным — списывается ровно то, что реально стоила выбранная модель.

chat/completionsOpenAI
curl https://api.tundralabs.ru/v1/chat/completions \
  -H "Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"model":"tundra-auto",
       "messages":[{"role":"user","content":"Привет!"}]}'

Ответ приходит с заголовками прозрачности — видно, что реально отработало:

ЗаголовокЗначение
X-Tundra-Autopilot-Modelкакая модель реально ответила
X-Tundra-Autopilot-Tierкласс задачи: light / standard / code / heavy
X-Tundra-Autopilot-Failover-Fromесть только если первая модель отказала и запрос ушёл в резервную
Явно названную модель Autopilot не подменяет никогда — маршрутизация включается только на tundra-auto. Если у ключа задан список разрешённых моделей, выбор идёт строго внутри него. Экономию по своему ключу видно в кабинете (панель «TUNDRA Autopilot»).

TUNDRA Shield — запрос не падает из-за поставщика #

Модели живут не у нас, а у провайдера, и любая из них может лечь на час-другой: отвечать таймаутом, отдавать 502 или 524. Обычный шлюз в этот момент возвращает ошибку — агент в Claude Code или Cursor обрывает сессию посреди работы. Shield включён по умолчанию для всех ключей и работает так:

  1. Ошибка поставщика (5xx, таймаут, перегруз) — запрос повторяется той же моделью один раз.
  2. Если модель всё ещё не отвечает — запрос уходит в ближайшую живую модель того же класса.
  3. В стриме подмена происходит до первого байта: обрывков и склеенных ответов не бывает.

Ответ приходит с заголовками, по которым видно, что произошло:

ЗаголовокЗначение
X-Tundra-Shield1 — запрос был спасён (при обычном ответе заголовка нет)
X-Tundra-Shield-Modelмодель, которая реально ответила
X-Tundra-Shield-Failover-Fromисходная модель, если была подмена
X-Tundra-Shield-Retried1, если помог повтор той же моделью
Три правила, которые Shield не нарушает. Первое: подмена никогда не бывает дороже — модель с коэффициентом выше запрошенной в замену не берётся, так что пакет от спасения запроса не худеет. Второе: ошибки вашего запроса (400, 401, 403) не повторяются — другая модель ответит тем же, а вы получите настоящий код ошибки с объяснением, что поправить. Третье: оплачивается один ответ. Неудачные попытки не списываются с пакета никогда.

Если вам нужно строго одну модель и никаких подмен — отправьте заголовок X-Tundra-Shield: off, и запрос пойдёт ровно в неё, а ошибка поставщика придёт как есть.

отключить Shield для запроса
curl https://api.tundralabs.ru/v1/chat/completions \
  -H "Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ" \
  -H "X-Tundra-Shield: off" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5",
       "messages":[{"role":"user","content":"Привет!"}]}'

Возврат за неиспользованный ключ #

Если ключ не подошёл и вы им ни разу не воспользовались — напишите в чат заказа на FunPay команду /refund. Бот покажет условия и сумму, а после вашего подтверждения (/refund yes) запустит проверку.

  1. Ключ сразу замораживается — чтобы во время проверки по нему не прошло ни одного запроса.
  2. Система дожидается завершения уже начатых запросов и запускает внеочередную сверку с поставщиком.
  3. Если подтверждено, что расхода не было, — деньги возвращаются через FunPay, а ключ отключается навсегда.
Это не безусловный возврат. Автоматически деньги возвращаются только при полностью подтверждённом отсутствии использования. Если найдётся хотя бы один запрос, незакрытая операция или сверка с поставщиком окажется неактуальной — автовозврат не выполняется, и вопрос передаётся продавцу. В таком случае напишите /operator.

Команда работает только в чате того заказа, который вы оплатили, и только по токеновым пакетам. Повторный запрос по тому же заказу ничего не дублирует: возврат по заказу может произойти один раз.

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

1 минута · готовый конфиг под вашу программу и ОС

Вставьте ключ, выберите ОС и программу — получите готовый файл или одну команду с уже подставленным ключом. То же самое доступно в кабинете на /start (там ключ подставляется автоматически, если вы уже вошли).

Ручной способ через curl (для опытных)
  1. Проверьте ключ. Запросите баланс — убедитесь, что ключ валидный и на нём есть токены.
    key/infocURL
    curl https://api.tundralabs.ru/v1/key/info -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ"

    В ответе — JSON с балансом, расходом и лимитом. 401 — ключ неверный или отозван, см. Ошибки.

  2. Сделайте первый запрос. Один вызов /v1/messages:
    messagesAnthropic
    curl https://api.tundralabs.ru/v1/messages \
      -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ" \
      -H "content-type: application/json" \
      -d '{"model":"claude-opus-4-8","max_tokens":256,
           "messages":[{"role":"user","content":"Привет!"}]}'
  3. Подключите клиент. Готовые конфиги под вашу среду:
Windows: при ошибке str is not valid UTF-8 выполните chcp 65001 перед запросом — переключит консоль на UTF-8.

API-эндпоинты

Шлюз выставляет три совместимых формата: Anthropic Messages, OpenAI Chat Completions и современный OpenAI Responses для Codex CLI. Все эндпоинты — на https://api.tundralabs.ru.

Список #

МетодПутьОписание
POST/v1/messagesAnthropic-формат, поддерживает stream:true
POST/v1/chat/completionsOpenAI-совместимый слой, поддерживает stream:true
POST/v1/responsesOpenAI Responses для Codex CLI: stream и function tool calls
GET/v1/modelsСписок доступных моделей (нужен ключ)
GET/v1/key/infoБаланс и расход текущего ключа
GET/v1/key/usageРасход в «наших» токенах + статус

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

Ключ sk_tundra_… передаётся в одном из двух заголовков — оба работают везде.

headersHTTP
x-api-key: sk_tundra_ВАШ_КЛЮЧ              # Anthropic-стиль
Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ  # OpenAI-стиль

Стриминг #

Передайте "stream": true в теле запроса — получите Server-Sent Events выбранного протокола. Anthropic отдаёт message_start/content_block_delta, Chat Completions — data: choices, Responses — response.output_text.delta и response.completed.

streamAnthropic
curl https://api.tundralabs.ru/v1/messages \
  -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":512,"stream":true,
       "messages":[{"role":"user","content":"Объясни рекурсию"}]}'

Коды ответов #

КодПричинаДействие
200OK
401Ключ отсутствует, неверный или отозваношибка 401
402Баланс токенов исчерпаношибка 402
403Ключ отключёнНаписать в поддержку
429Превышен лимит 60 запросов/минутуошибка 429
500Временная ошибка шлюзаошибка 500

Модели

Все текстовые model ID · статусы из реального API

В поле model указывайте один из идентификаторов ниже. Модели сгруппированы по сценариям, у каждой — для чего подходит, скорость, расход и кнопка копировать ID. Состояние справа у каждой карточки приходит из /api/models/state — того же источника, что у сайта, кабинета, AI Hub и админки.

01Рекомендуемые · для большинства задач
Claude Sonnet 5
Anthropic
универсальная
Новый основной Sonnet для кода, документов и агентных задач. Сильный баланс качества и цены.
200K контексткодсредне-быстро×1 токенов
claude-sonnet-5
Claude Opus 4.8
Anthropic
сложные задачи
Максимум рассуждений для сложного кода, миграций и архитектурных решений.
200K контексткодмедленно×1.6 токенов
claude-opus-4-8
02Тяжёлые · для длинных и сложных задач
Claude Fable 5
Anthropic
reasoning
Тяжёлая Claude-модель для крупных миграций, длинных документов и сложного reasoning.
200K контекстмиграциимедленно×4 токенов
claude-fable-5
Claude Opus 4.7
Anthropic
стабильно
Предыдущий Opus — стабильный для сложных задач, где Fable 5 избыточен.
200K контекстархитектурамедленно×1.6 токенов
claude-opus-4-7
03Быстрые · для чата и массовых запросов
GPT-5.4
OpenAI
продакшн
Быстрый и универсальный GPT для продакшена: дёшево, стабильно, без сюрпризов.
200K контекстуниверсальнобыстро×0.3 токенов
gpt-5.4
GPT-5.5
OpenAI
рассуждения
Максимум возможностей GPT: рассуждения, анализ, мультиязычные тексты.
200K контекстанализсредне×0.6 токенов
gpt-5.5
04Дешёвые · для экономии и масштаба
Claude Haiku 4.5
Anthropic
экономия
Самая дешёвая Claude. Подходит для классификации, суммаризации, простых ответов.
200K контекстклассификацияочень быстро×0.5 токенов
claude-haiku-4-5
DeepSeek V4 Flash
DeepSeek
масштаб
Ультра-дешёвая модель для массовых задач и пайплайнов.
контекстпайплайныочень быстро×0.05 токенов
deepseek-v4-flash
05Для кода · агентные IDE и code-задачи
Claude Sonnet 4.6
Anthropic
стабильно
Проверенный стабильный Sonnet для повседневной разработки, чата и длинных задач.
200K контексткодсредне×1 токенов
claude-sonnet-4-6
Kimi K2.7 Code
Moonshot
длинный контекст
Заточена под код и длинный контекст. Хорошо работает в Cline и автодополнении.
длинный контексткодбыстро×0.55–0.9
kimi-k2.7-code
06Длинный контекст и рассуждения
Qwen 3.7 Max
Alibaba
мультиязык
Длинный контекст, мультиязычные задачи. Хорошо держит большие документы.
длинный контекстreasoningсредне×0.65–1.0
qwen3.7-max
GLM 5.2
Zhipu
баланс
Универсальная китайская модель с рассуждениями. Хороший баланс цена/качество.
reasoningуниверсальносредне×0.9–1.25
glm-5.2

Полный список model ID #

Все доступные модели — одной сеткой. У каждой: провайдер, назначение, скорость/расход и кнопка скопировать ID.

Состояние моделей — живое. Подпись справа у каждой карточки приходит из /api/models/state: один источник на все интерфейсы TundraLabs. Модель, помеченную как недоступную, шлюз не примет для нового запроса — так вы не потратите токены впустую.

Cursor AID / ma-алиасы #

Если клиент просит именно Cursor AID, можно указать ma-алиасы из каталога:

ma-claude-sonnet-5
ma-claude-opus-4-8
ma-gpt-5.5
Image и Video модели — скоро. Модели генерации изображений и видео доступны у провайдера, но через TUNDRA API пока не продаются как токеновый доступ. Следите за обновлениями.

Image модели #

Генерация изображений — отдельный тип тарификации (не токенами). Скоро будут доступны через API.

Video модели #

Генерация видео — отдельный тип тарификации. Скоро будут доступны через API.

Пример генерации изображения #

Когда image-модели будут включены, запрос будет выглядеть так:

images/generationsOpenAI
curl -X POST https://api.tundralabs.ru/v1/images/generations \
  -H "Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-image-2","prompt":"Cozy product photo","size":"1024x1024","quality":"low","n":1}'
Ссылки на сгенерированные изображения/видео — приватные, живут 24 часа у провайдера.

Рассуждения

Параметр reasoning_effort · глубина размышлений

Современные модели (claude-fable-5, claude-opus-4-8, gpt-5.5) умеют «думать» перед ответом. Глубину задаёте вы — параметром reasoning_effort прямо в теле запроса.

Уровни #

ЗначениеПоведениеКогда использовать
minimalпочти без размышленийсамый быстрый и дешёвый
lowлёгкие рассуждениякороткие ответы
mediumсбалансированнопо умолчанию
highглубокооптимум цена/качество для сложных задач
xhighочень глубокоархитектура, большие миграции
maxмаксимальная глубинанаибольший расход токенов

Пример #

messagesAnthropic
curl https://api.tundralabs.ru/v1/messages \
  -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"model":"claude-fable-5","max_tokens":1024,
       "reasoning_effort":"high",
       "messages":[{"role":"user","content":"Реши: 17*23"}]}'

В OpenAI-формате (/v1/chat/completions, Cursor / SDK) параметр называется так же — добавьте "reasoning_effort":"high" в тело.

Расход: чем выше уровень, тем больше токенов уходит на размышления. На max расход заметно выше — для баланса цена/качество берите high. Ставьте max_tokens с запасом.
Совместимость: параметр действует только на моделях с рассуждениями. Если модель не поддерживает — он безопасно игнорируется, запрос не падает.

Claude Code

Средне · 5 минут · нужен npm

claude-code — терминал-агент от Anthropic. Работает с любым Anthropic-совместимым эндпоинтом через переменные окружения. Наш шлюз выступает этим эндпоинтом.

Про OAuth: Claude Code при обычном старте предпочитает OAuth (/login) над ANTHROPIC_API_KEY. Чтобы форсить работу через наш ключ — задайте CLAUDE_CODE_SIMPLE=1.

Установка #

PowerShellShell
npm install -g @anthropic-ai/claude-code

Настройка — settings.json (рекомендуется) #

Откройте %USERPROFILE%\.claude\settings.json (или ~/.claude/settings.json) и добавьте блок env:

settings.jsonJSON
{
  "env": {
    "CLAUDE_CODE_SIMPLE": "1",
    "ANTHROPIC_BASE_URL": "https://api.tundralabs.ru",
    "ANTHROPIC_API_KEY": "sk_tundra_ВАШ_КЛЮЧ",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-8",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5"
  }
}

Альтернатива — переменные окружения (cmd) #

cmdShell
set CLAUDE_CODE_SIMPLE=1
set ANTHROPIC_BASE_URL=https://api.tundralabs.ru
set ANTHROPIC_API_KEY=sk_tundra_ВАШ_КЛЮЧ
claude

Какие модели указывать #

Чаще всего достаточно Sonnet 5. Для тяжёлой задачи — Opus или Fable, для экономии — Haiku.

claude-sonnet-5
claude-fable-5
claude-opus-4-8
claude-sonnet-4-6
claude-haiku-4-5
gpt-5.5

Codex CLI

Средне · 5 минут · Responses API

Codex CLI подключается через пользовательского model provider. TundraLabs поддерживает требуемый /v1/responses, включая streaming и function tool calls.

Установка #

PowerShellShell
npm install -g @openai/codex

Конфигурация #

Добавьте провайдера в %USERPROFILE%\.codex\config.toml (Windows) или ~/.codex/config.toml (macOS/Linux):

config.tomlResponses
model = "claude-sonnet-5"
model_provider = "tundralabs"

[model_providers.tundralabs]
name = "TundraLabs API"
base_url = "https://api.tundralabs.ru/v1"
env_key = "TUNDRA_API_KEY"
wire_api = "responses"

Перед запуском задайте ключ только в текущем терминале:

PowerShellShell
$env:TUNDRA_API_KEY="sk_tundra_ВАШ_КЛЮЧ"
codex
Ключ не записывайте прямо в config.toml: env_key безопаснее и позволяет менять ключ без правки конфигурации.

Cursor

Легко · 2 минуты · одна настройка в Settings

Cursor — IDE со встроенным AI-чатом. Принимает любой OpenAI-совместимый эндпоинт.

Настройка #

  1. Откройте Settings → Models.
  2. В разделе OpenAI API Key включите Custom API Endpoint / Override Base URL.
  3. Заполните поля ниже и нажмите Verify.
Cursor SettingsOpenAI
API Key:    sk_tundra_ВАШ_КЛЮЧ
Base URL:   https://api.tundralabs.ru/v1
Model:      claude-sonnet-5

Зелёная галка на Verify — настройка готова.

Cursor не переключает модели внутри одной сессии — для Sonnet 5, Fable 5, Opus и Haiku заведите отдельные записи или меняйте Model в настройках.

Какие модели указывать #

claude-sonnet-5
claude-fable-5
claude-opus-4-8
claude-haiku-4-5
gpt-5.5
qwen3.7-max

Cline / OpenClaw

Легко · 3 минуты · плагин для VS Code

Cline — плагин для VS Code с AI-агентом, умеющим читать/писать файлы и выполнять команды. OpenClaw и другие форки Claude Code настраиваются так же. Работает через OpenAI-совместимый API.

Настройка #

  1. Откройте Cline → настройки провайдера (шестерёнка).
  2. API Provider: OpenAI Compatible.
  3. Заполните поля и нажмите Save.
Cline settingsOpenAI
Base URL:   https://api.tundralabs.ru/v1
API Key:    sk_tundra_ВАШ_КЛЮЧ
Model ID:   claude-sonnet-5

Сменить модель — впишите другую в Model ID.

Какие модели указывать #

claude-sonnet-5
claude-fable-5
claude-opus-4-8
claude-haiku-4-5
deepseek-v4-pro
kimi-k2.7-code

OpenCode

Средне · 5 минут · терминальный AI-агент

OpenCode — открытый AI-агент для терминала (аналог Claude Code). Подключается к TUNDRA как к OpenAI-совместимому провайдеру через конфиг.

Настройка через конфиг #

  1. Установите OpenCode (инструкция на opencode.ai).
  2. Откройте или создайте конфиг opencode.json — глобальный (~/.config/opencode/opencode.json) или в корне проекта.
  3. Добавьте TUNDRA как провайдера и сохраните.
opencode.jsonOpenAI
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "tundra": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "TundraLabs API",
      "options": {
        "baseURL": "https://api.tundralabs.ru/v1",
        "apiKey": "sk_tundra_ВАШ_КЛЮЧ"
      },
      "models": {
        "claude-sonnet-5": { "name": "Claude Sonnet 5" },
        "claude-fable-5": { "name": "Claude Fable 5" },
        "gpt-5.5": { "name": "GPT-5.5" }
      }
    }
  }
}

Запустите opencode, откройте выбор модели (/models) и выберите модель из провайдера TundraLabs API.

Совет: в список models можно добавить любую модель каталога — идентификаторы смотрите в разделе «Модели» или через GET /v1/models.

Какие модели указывать #

claude-sonnet-5
claude-fable-5
gpt-5.5
claude-haiku-4-5
deepseek-v4-pro
kimi-k2.7-code

Python SDK

Легко · 2 минуты · pip install + 3 строки

Если у вас уже есть код на OpenAI или Anthropic SDK — достаточно подменить base_url и api_key. Остальное не меняется.

Через Anthropic SDK #

pip install anthropicPython
from anthropic import Anthropic

client = Anthropic(base_url="https://api.tundralabs.ru", api_key="sk_tundra_ВАШ_КЛЮЧ")
msg = client.messages.create(
    model="claude-opus-4-8", max_tokens=256,
    messages=[{"role":"user","content":"Привет!"}],
)
print(msg.content[0].text)

Через OpenAI SDK #

pip install openaiPython
from openai import OpenAI

client = OpenAI(base_url="https://api.tundralabs.ru/v1", api_key="sk_tundra_ВАШ_КЛЮЧ")
r = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role":"user","content":"Привет!"}],
)
print(r.choices[0].message.content)
Стриминг: передайте stream=True в create() — получите итератор чанков, формат идентичен оригинальному SDK.

Node.js SDK

Легко · 2 минуты · npm install + 3 строки

Через Anthropic SDK #

npm i @anthropic-ai/sdkNode.js
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  baseURL: "https://api.tundralabs.ru",
  apiKey: "sk_tundra_ВАШ_КЛЮЧ",
});
const r = await client.messages.create({
  model: "claude-opus-4-8", max_tokens: 256,
  messages: [{ role: "user", content: "Привет" }],
});
console.log(r.content[0].type === "text" ? r.content[0].text : "");

Через OpenAI SDK #

npm i openaiNode.js
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.tundralabs.ru/v1",
  apiKey: "sk_tundra_ВАШ_КЛЮЧ",
});

cURL

Легко · 30 секунд · одна команда

POST /v1/messages (Anthropic) #

messagesAnthropic
curl https://api.tundralabs.ru/v1/messages \
  -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"model":"claude-opus-4-8","max_tokens":256,"messages":[{"role":"user","content":"Hi"}]}'

POST /v1/chat/completions (OpenAI) #

chat/completionsOpenAI
curl https://api.tundralabs.ru/v1/chat/completions \
  -H "Authorization: Bearer sk_tundra_ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"model":"gpt-5.5","messages":[{"role":"user","content":"Hi"}]}'
Кириллица в cmd.exe: Windows-консоль по умолчанию в cp866. Перед запросом с русским текстом выполните chcp 65001.

Другие клиенты

Шлюз совместим с любым инструментом, который умеет Anthropic- или OpenAI-формат и позволяет задать свой Base URL.

ИнструментФорматBase URL
Codex CLIOpenAI Responseshttps://api.tundralabs.ru/v1
OpenClaude / OpenClaw / ClawCode (форки Claude Code)Anthropichttps://api.tundralabs.ru
OpenCode (терминальный агент)OpenAIhttps://api.tundralabs.ru/v1
Goose (desktop-агент)Anthropic (API Host)https://api.tundralabs.ru
LangChain / LlamaIndexOpenAIhttps://api.tundralabs.ru/v1
Своё приложениелюбойhttps://api.tundralabs.ru
Правило простое: ключ sk_tundra_… в x-api-key или Authorization: Bearer, Base URL — https://api.tundralabs.ru для Anthropic-клиентов и https://api.tundralabs.ru/v1 для OpenAI-клиентов.

Ошибки и что делать

Каждая ошибка — что значит, почему произошла, что проверить и что написать в поддержку. Большинство вопросов закрывается через этот раздел.

401Ключ неверный или отозван

API не принял ключ. Чаще всего — опечатка при копировании, лишний пробел или ключ был отозван.

Что проверить
  • Ключ начинается с sk_tundra_ и скопирован целиком
  • В заголовке x-api-key или Authorization: Bearer — без пробелов и кавычек
  • Ключ актуальный (старый после перевыдачи не работает)
Быстрая проверка: запросите /v1/key/info с ключом
key/infocURL
curl https://api.tundralabs.ru/v1/key/info -H "x-api-key: sk_tundra_ВАШ_КЛЮЧ"
В поддержку: «401 на ключе sk_tundra_XXXX (маска)» — перевыдадим.
402Баланс исчерпан / модель недоступна

Токены на ключе закончились, либо выбранная модель временно отключена администратором.

Что проверить
  • Остаток в кабинете или через /v1/key/info
  • Если баланс есть, а 402 на одной модели — она недоступна, попробуйте другую из каталога
Купить новый пакет — токены добавятся в существующий ключ

Continuity: проверенным повторным покупателям, у кого баланс кончился прямо во время работы, мы иногда автоматически даём небольшой бесплатный запас, чтобы Claude Code/Cursor не оборвались посреди сессии — придёт сообщение в чат FunPay. Это не гарантия на каждый случай (ограничено по сумме и частоте), а не замена пополнения.

В поддержку: «402, ключ sk_tundra_XXXX, модель Y» — проверим расход и подскажем пакет.
429Слишком много запросов

Превышен лимит 60 запросов/минуту на ключ. Это мягкий лимит — через минуту сбрасывается.

Что проверить
  • Нет ли цикла с retry без backoff
  • Cursor/Cline иногда шлют пачки запросов при автодополнении — снизьте агрессивность
Подождите 1 минуту или снизьте частоту запросов
Нужен больший RPM — напишите, поднимем индивидуально.
500Временная ошибка шлюза

Внутренняя ошибка шлюза или провайдера. Обычно проходит за несколько секунд.

Что сделать
  • Повторите запрос через 5 секунд
  • Если повторяется >2 минут — проверьте страницу статуса
Повторите запрос через 5 секунд
В поддержку: «500 на /v1/messages, модель Y, время Z».
CFCloudflare Tunnel error · проблема соединения

Тоннель до сервера временно недоступен. Сервис на нашей стороне жив, но запрос не доходит. Обычно чинится автоматически за 30–60 секунд.

Что сделать
  • Подождите 1 минуту и повторите
  • Если не прошло — проверьте страницу статуса, мы уже знаем
  • Клиент (Cursor/Claude Code) обычно сам ретраит — можно просто подождать
Подождите 60 секунд — тоннель поднимется сам
В поддержку: «Cloudflare error, время Z» — поможем понять, на нашей стороне или у CF.

Специфичные ошибки клиентов

Claude Code: «Not logged in · Please run /login»
Claude Code игнорирует ANTHROPIC_API_KEY и идёт в OAuth Max-подписку. Решение — CLAUDE_CODE_SIMPLE=1 в env или settings.json (см. Claude Code).
str is not valid UTF-8
Windows-консоль в cp866 отправляет кириллицу битыми байтами. Перед запросом выполните chcp 65001.
Неуспешные запросы не списывают токены. За 5xx, timeouts провайдера и сетевые ошибки токены не списываются. Если списание всё же прошло — напишите в поддержку, вернём.
Поддержка токенового заказа

AI-помощник в чате FunPay

После подтверждённой оплаты разрешённого токенового лота AI-помощник выдаёт ключ при первой покупке, пополняет его при следующих покупках, помогает подключиться и проверяет факт первого успешного запроса.

Помощник всегда представляется как AI. Он использует состояние именно вашего заказа, не показывает чужие данные и не просит присылать полный API-ключ.

Команды покупателя

чат заказа FunPayHELP
/help  /get  /order  /setup
/setup opencode  /setup claude  /setup cursor  /setup vscode
/models  /balance  /limits  /status  /test
/error ТЕКСТ_ОШИБКИ  /reissue  /docs
/support  /operator  /refund

Можно писать и по-русски: «помощь», «получить ключ», «мой заказ», «настрой Cursor», «модели», «баланс», «лимиты», «ошибка …», «оператор» или «возврат».

Что происходит безопасно

  • /get повторно отправляет уже созданный доступ в чат этого же заказа — без второго начисления.
  • /balance, /limits и /status используют живое состояние вашего ключа.
  • /setup даёт точную инструкцию для выбранной программы; /error помогает с известными 401/403/404/429 и timeout.
  • Первая покупка создаёт API-ключ; следующие оплаченные заказы того же подтверждённого покупателя пополняют этот ключ ровно на объём пакета.

Когда подключается владелец

/refund не возвращает деньги автоматически. Команды /refund, /reissue, /operator, спорные платежи и неизвестные ошибки создают обращение владельцу. Финансовое или необратимое действие выполняется только после проверки.

Не отправляйте в чат полный API-ключ, cookie, пароль, данные карты или другие секреты. Для диагностики достаточно маски ключа, времени, программы, Base URL и текста ошибки.

FAQ

Короткие ответы на частые вопросы. Если вашего вопроса нет — напишите в чат заказа на FunPay.

Что значит «баланс исчерпан» (402)?

Это лимит вашего конкретного ключа. Остаток виден в кабинете. Чтобы продолжить — купите новый пакет: после подтверждения заказа токены добавятся в существующий ключ.

Что будет, если токены закончатся посреди задачи в Claude Code?

Ключ проверенного повторного покупателя может автоматически получить небольшой бесплатный запас прямо в момент запроса — чтобы агент не оборвался посреди рефакторинга. Мы напишем об этом в чат заказа на FunPay. Это ограниченная по сумме и частоте подстраховка, а не безлимит — для стабильной работы держите баланс с запасом.

Claude называет себя «Sonnet 3.5» — это баг?

Нет. Модели иногда ошибаются в самоидентификации — так они обучены. Реальная модель приходит в поле model в ответе API, ей и доверяйте.

Какие модели доступны?

Полный каталог — в разделе Модели. Кратко: Sonnet 5 для большинства задач, Fable 5 / Opus 4.8 для тяжёлых, Haiku 4.5 для экономии, GPT-5.4/5.5 для быстрого продакшна.

Можно ли пользоваться ключом в нескольких клиентах?

Да, ключ один — баланс общий. Расход складывается по всем клиентам. Можно одновременно сидеть в Claude Code, Cursor и Cline.

Расход у Opus выше — почему?

Более мощные модели стоят дороже за токен, поэтому баланс на Fable и Opus тратится быстрее, чем на Sonnet/Haiku. Коэффициенты видны в карточках моделей.

Можно ли вернуть токены за неудачный запрос?

За неуспешные запросы (5xx, timeouts провайдера) токены не списываются. Если списание всё же прошло — напишите в поддержку, вернём.

Политика конфиденциальности

Обновлено: 26 июля 2026

Документ описывает, какие персональные данные обрабатывает сервис TundraLabs API (далее — «сервис»), с какими целями, на каком правовом основании и сколько они хранятся. Мы собираем только данные, необходимые для работы, безопасности и учёта сервиса. Там, где требуется согласие, сервис запрашивает его отдельным действием.

Оператор

Оператор обработки персональных данных — владелец сервиса TundraLabs API (домен tundralabs.ru). По любым вопросам о ваших данных, а также для реализации ваших прав — напишите в чат поддержки на сайте или в личных сообщениях на FunPay.

Какие данные мы обрабатываем

  • API-ключи (sk_tundra_*) — чтобы сопоставить запрос с балансом и лимитами.
  • Метаданные запросов — время, модель, HTTP-статус, число входных/выходных токенов, хэш IP и User-Agent. Они нужны для учёта расхода, показа баланса и защиты от злоупотреблений. Текст обычного API-запроса в журнал не записывается.
  • Веб-кабинет (Hub). Если вы пользуетесь чатом в кабинете, ваши переписки, вложения и настройки сохраняются в вашем аккаунте — чтобы вы могли к ним вернуться. Это ваша история: любой чат и все данные можно удалить.
  • Генерация изображений. Текст запроса (промпт) сохраняется в вашей истории генераций.
  • Аналитика сайта — хэш IP, User-Agent, открытые страницы, источник перехода, размер экрана. Обезличенно, для статистики и безопасности. Сторонних рекламных трекеров и внешних систем аналитики нет.
  • Поддержка. Переписка с поддержкой сохраняется, чтобы решить ваш вопрос. Персональные данные в тексте (почта, телефон, номера карт, ключи) автоматически обезличиваются перед сохранением, переписка хранится не дольше 30 дней.

Что мы НЕ храним

  • Содержимое обычных API-запросов. Тело /v1/messages и /v1/chat/completions проходит транзитом к провайдеру и обратно; на нашей стороне не записывается — остаются только метаданные из списка выше.
  • Пароли и платёжные данные. Оплата идёт через FunPay — мы не видим и не храним реквизиты карт.

Цели и правовые основания

  • Предоставление доступа к API и учёт токенов — исполнение договора (ст. 6 ч. 1 п. 5 152-ФЗ).
  • Учёт расчётов и обязательные записи по сделкам.
  • Безопасность сервиса и защита от злоупотреблений — законный интерес оператора.

Перед первым входом AI Hub отдельно просит принять эту политику и подтвердить сохранение истории и передачу содержимого запроса провайдеру модели. Факт принятия фиксируется вместе с версией политики и временем. Согласие можно отозвать: удалить данные в настройках Hub и прекратить использование кабинета либо обратиться в поддержку.

Трансграничная передача

Чтобы выполнить запрос, его содержимое передаётся провайдеру моделей, серверы которого могут находиться за пределами РФ — без этого ответ модели невозможен. В поддержке персональные данные перед такой передачей обезличиваются. Для обычных API-запросов содержимым управляете вы: не отправляйте в модель персональные данные без законного основания и не передавайте лишние сведения.

Передача третьим сторонам

Кроме провайдера моделей (для исполнения запроса) и FunPay (оплата), мы никому ваши данные не передаём, не продаём и не отдаём рекламным сетям.

Сроки хранения

  • Детальные данные веб-аналитики — не более 90 дней.
  • Хэши IP и User-Agent в техническом журнале запросов — не более 90 дней; после этого обезличиваются, а расчётные итоги сохраняются для учёта.
  • Чаты, сохранённые промпты, генерации и файлы в кабинете — до удаления пользователем, но не более 365 дней.
  • Переписка с поддержкой — до 30 дней.
  • Записи о согласии и расчётные документы могут храниться дольше в пределах срока, необходимого для подтверждения законности обработки и исполнения требований законодательства.

Ваши права

  • Узнать, какие данные привязаны к вашему ключу.
  • Исправить или удалить их: чаты и файлы — прямо в кабинете; остальное — по запросу в поддержку.
  • Отозвать согласие и ключ в любой момент. Если закон или действующий договор не требуют продолжить хранение, данные удаляются в срок не более 30 дней.

Защита данных

Доступ к административной части ограничен аутентификацией и защищён от межсайтовых запросов; сессии передаются в защищённых HttpOnly-cookie. API-ключи не публикуются, загружаемые файлы проверяются по типу и принадлежат только их владельцу. Резервные копии имеют ограниченный доступ.

Условия использования

Обновлено: 14 августа 2026

Используя TundraLabs API, вы соглашаетесь с этими условиями. Если что-то не подходит — не используйте сервис.

Что такое TundraLabs API

Облачный API-шлюз к моделям Claude и GPT. Мы принимаем запросы в формате Anthropic или OpenAI и проксируем их к провайдеру, списывая токены с вашего баланса. Сервис независим и не аффилирован с Anthropic или OpenAI; названия моделей принадлежат их правообладателям.

Аккаунт и ключи

  • Ваш ключ sk_tundra_* — идентификатор доступа. Храните в секрете; при компрометации сразу сообщите, мы отзовём и выдадим новый.
  • Все действия, совершённые с использованием вашего ключа, считаются совершёнными вами — до момента, когда вы сообщите о компрометации и мы отзовём ключ.
  • Один ключ — для вас. Не перепродавайте доступ третьим лицам от своего имени без согласования.
  • Мы вправе отозвать ключ при злоупотреблении, атаках или нарушении этих условий.

Допустимое использование

Запрещено использовать сервис для:

  • генерации незаконного контента (экстремизм, CSAM, подстрекательство к насилию и т.п.);
  • автоматизированных атак (bruteforce, DDoS, парсинг чужих данных в обход ToS);
  • попыток получить доступ к чужим ключам или данным;
  • действий, нарушающих политику допустимого использования провайдера моделей — все запросы в итоге идут туда, их правила распространяются и на вас.

Ответственность и гарантии

  • Мы выступаем технологическим посредником (прокси) к моделям сторонних провайдеров и не гарантируем их бесперебойную работу — за перебои, изменения или прекращение работы конкретной модели на стороне провайдера мы ответственности не несём. Актуальный статус доступности — на странице статуса.
  • Мы не несём ответственности за содержание ответов, сгенерированных ИИ-моделями, а также за решения, которые вы принимаете на основе такого содержания.

Оплата и баланс

  • Заказы и оплата — через FunPay. Баланс ключа — количество доступных токенов; запрос списывает токены по факту.
  • При нулевом балансе API возвращает 402. Чтобы продолжить — докупите пакет.
  • Перед покупкой убедитесь, что сервис вам подходит: сделайте тестовый запрос и проверьте совместимость клиента.

Продавец и контакты

  • Сервис TundraLabs API, домен tundralabs.ru. Продажа доступа (пакетов токенов) ведётся через площадку FunPay.
  • Поддержка и связь по заказам — чат на сайте или личные сообщения на FunPay.

Возврат средств

  • Товар цифровой — токены для доступа к API. За неуспешные запросы (ошибки 5xx, таймауты провайдера) токены не списываются; если списание всё же прошло — напишите в поддержку, вернём токены.
  • Если пакет не активировался или доступ не работает по нашей вине — вернём токены либо оплату через FunPay.
  • Возврат за уже израсходованные токены не производится — услуга по ним оказана.
  • Спорные ситуации по оплате решаются в том числе через арбитраж FunPay.

Безопасность

Обновлено: 30 июня 2026

Шифрование канала

  • Все публичные эндпоинты доступны только по HTTPS, с актуальным TLS-сертификатом. HTTP принудительно редиректится на HTTPS.
  • Запросы к провайдеру идут по защищённому каналу с серверной авторизацией. Учётные данные доступа не покидают нашу инфраструктуру.

Хранение ключей

  • Ваши ключи sk_tundra_* лежат в закрытой БД, недоступной извне.
  • Служебные креды доступа к провайдеру хранятся отдельно и наружу не отдаются.

Изоляция запросов

  • Данные каждого ключа изолированы — через один ключ нельзя увидеть или повлиять на трафик другого.
  • Лимиты применяются индивидуально по ключу: злоупотребление одного клиента не влияет на других.

Что делать при компрометации

  • Сразу напишите в поддержку — отзовём скомпрометированный ключ.
  • Выдадим новый ключ — обновите его в своих клиентах.