ДОКУМЕНТАЦИЯ ДЛЯ РАЗРАБОТЧИКОВ

Документация AI-HOST API

Один адрес, один ключ, формат запросов как у OpenAI. Если ваш код уже работает с OpenAI SDK — меняются две строки, и ничего больше.

ЧТО ЕСТЬ В API
МетодПутьЧто делаетКлюч
POST/v1/auth/registerРегистрация по логину и паролю без emailнет
POST/v1/auth/loginВход и выдача API-ключа для приложенийнет
POST/v1/chat/completionsЗапрос к модели (совместим с OpenAI)нужен
POST/v1/messagesAnthropic Messages API — для Claude Codeнужен
POST/v1/responsesOpenAI Responses API — для Codex CLIнужен
GET/v1/modelsМодели, доступные вашему тарифунужен
GET/v1/catalogПубличный каталог всех моделейнет
GET/v1/metrics/modelsЗамеры скорости и качества моделейнет
GET/v1/site-configКурс валюты и настройки витринынет
GET/v1/meБаланс, токены в пакетах, расходнужен
GET/v1/planТариф и остаток квотынужен
GET/v1/keysСписок ключей аккаунтанужен
POST/v1/keysСоздать новый ключнужен
DELETE/v1/keys/{id}Отозвать ключнужен
GET/v1/usageРасход по дням, моделям и ключамнужен
POST/v1/promoПрименить промокоднужен
GET/v1/referralРеферальный код и приглашённыенужен
С ЧЕГО НАЧАТЬ

Три шага до первого ответа

  1. Войдите в кабинет

    На странице регистрации одно нажатие создаёт аккаунт и выдаёт API-ключ для подключения приложений. Вход в кабинет — по логину и паролю.sk-ai-host-… Сохраните API-ключ: второй раз полный ключ не показывается.

  2. Положите ключ в переменную окружения

    Не вставляйте ключ в исходный код — он попадёт в git и утечёт.

    export AI_HOST_KEY="sk-ai-host-..."
  3. Отправьте запрос

    Модель выберите в каталоге: скорость, контекст и качество рядом.

ИНТЕГРАЦИИ

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

Один адрес — разные протоколы. Codex, Claude Code, редакторы и свой код подключаются по-разному, поэтому ниже готовые конфиги: скопировали, подставили ключ, заработало.

ПротоколOpenAI Responses→ наш /v1/responses переводит в Chat Completions
Файл ~/.codex/config.toml
model = "fast-chat"
model_provider = "aihost"

[model_providers.aihost]
name = "AI-HOST"
base_url = "https://ai-host.xyz/v1"
env_key = "AI_HOST_KEY"
wire_api = "responses"

wire_api = "responses" обязателен: Codex не умеет Chat Completions. Конвертацию делает наш шлюз.

Ключ в переменную окружения
export AI_HOST_KEY="sk-ai-host-..."

Имя переменной должно совпадать с env_key в конфиге.

Запуск
codex "объясни этот проект"
АВТОРИЗАЦИЯ

Ключ в заголовке

Все защищённые методы принимают ключ в Authorization. Ключ действует, пока вы его не отзовёте: срок жизни не ограничен.

Authorization: Bearer sk-ai-host-...
Мы храним только хэш ключа. Если ключ утечёт — отзовите его в кабинете и создайте новый: старый перестанет работать мгновенно.
ПРИМЕРЫ

Запрос к модели

Поддерживается всё, что вы ждёте от OpenAI-совместимого API: stream, tools,temperature, response_format.

curl https://ai-host.xyz/v1/chat/completions \
  -H "Authorization: Bearer sk-ai-host-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "fast-chat",
    "messages": [{"role": "user", "content": "Привет!"}],
    "max_tokens": 200
  }'
ПАРАМЕТРЫ ЗАПРОСА

Тело запроса

ПолеТипОписание
modelstringОбязательно. id модели из /v1/models
messagesarrayОбязательно. История: role (system/user/assistant/tool), content
max_tokensintegerПотолок ответа. Влияет на предварительную проверку баланса
temperaturenumber0 — предсказуемо, 1+ — разнообразно. По умолчанию у модели
top_pnumberОтсечение хвоста вероятностей. Меняйте либо это, либо temperature
streambooleanОтдавать ответ чанками по SSE
tools / tool_choicearray / objectВызов функций. Работает у моделей с флагом «инструменты»
response_formatobject{"type":"json_object"} — ответ строгим JSON
reasoning_effortstringГлубина рассуждения у reasoning-моделей
ДЕНЬГИ И ПОВТОРЫ

Как считается стоимость

Списываются токены запроса и ответа — отдельно, по своей цене за миллион. Списание идёт сначала с пакетов токенов (они оплачены заранее), затем с баланса. Перед запросом мы проверяем, хватит ли средств на самый дорогой вариант (max_tokens включён): запрос на 2 ₽ при балансе в 1 ₽ вернёт 402, а не уведёт счёт в минус.

Повторы без двойной оплаты

Если приложение повторяет запрос при таймауте — передайте заголовок Idempotency-Key с уникальным значением (UUID). Повтор с тем же значением вернёт сохранённый ответ и не спишет деньги второй раз.

curl https://ai-host.xyz/v1/chat/completions \
  -H "Authorization: Bearer sk-ai-host-..." \
  -H "Idempotency-Key: 8f14e45f-ceea-467f-a4b5-1c2d3e4f5a6b" \
  -H "Content-Type: application/json" \
  -d '{"model":"fast-chat","messages":[{"role":"user","content":"Привет"}]}'
СТРИМИНГ

Ответ по частям

С stream: true ответ приходит как Server-Sent Events: строки data: {...} и завершающая data: [DONE]. Так пользователь видит текст с первого токена, а не ждёт весь ответ.

stream = client.chat.completions.create(
    model="fast-chat",
    messages=[{"role": "user", "content": "Расскажи про Python"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
ОШИБКИ

Что значит код ответа

КодПричинаЧто делать
401Ключ неверный или отозванСоздайте новый ключ в кабинете
402Недостаточно средств на этот запросУменьшите max_tokens или пополните баланс
403Модель не входит в ваш тарифСмените тариф или выберите другую модель
404Модель не найденаСверьте id со списком /v1/models
429Превышена частота или лимит тарифаПодождите либо продлите тариф
502Провайдер модели не ответилПовторите запрос с Idempotency-Key

Тело ошибки всегда JSON вида {"error":{"message":"…","type":"…","code":"…"}} — можно показывать пользователю message и не разбирать текст.

ЛИМИТЫ

Частота и квота

  • Частота — запросов в минуту. Считается с резервированием слота: параллельные запросы не пробивают лимит.
  • Квота тарифа — токенов за период. Видна в кабинете полоской.
  • Суточный лимит — если включён, токены за календарные сутки.
Когда квота тарифа кончилась, доступ не отключается: запросы идут за счёт пакетов токенов или баланса. Ответом на исчерпанную квоту будет 429, а не 402 — это значит «ждите или продлите», а не «нет денег».
ГОТОВЫ?

Личный кабинет за минуту

Регистрация без email: создайте логин и пароль, а API-ключ получите отдельно для подключения приложения.

AI-HOST — доступ к AI-моделям через один API