Документация API
AIIN — единый шлюз к десяткам моделей через OpenAI- и Anthropic-совместимый API. Меняете base_url на https://api.aiin.by — и используете привычные SDK. Оплата помодельно за токены, кредиты 1:1 к BYN.
Ссылки и Swagger
Полная документация по разделам и интерактивные Swagger UI для всех API-сервисов.
Базовый URL и аутентификация
Базовый URL: https://api.aiin.by. Каждый запрос требует заголовок Authorization: Bearer <token>. В качестве токена можно использовать API-ключ из кабинета (AIIN_API_KEY) или OAuth access-token. Список моделей и цен публичный, без токена.
export AIIN_API_KEY="sk-..." # создайте в кабинете → Ключи API
curl https://api.aiin.by/v1/models
OpenAI-совместимый API
Chat Completions, Completions и Embeddings — в формате OpenAI. С SDK достаточно подменить base_url и ключ.
Chat Completions — curl
curl https://api.aiin.by/v1/chat/completions \
-H "Authorization: Bearer $AIIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Привет!"}]
}'
Python (openai)
from openai import OpenAI
client = OpenAI(base_url="https://api.aiin.by/v1", api_key="sk-...")
r = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Привет!"}],
)
print(r.choices[0].message.content)
Embeddings
curl https://api.aiin.by/v1/embeddings \
-H "Authorization: Bearer $AIIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "openai/text-embedding-3-small", "input": "hello world"}'
Anthropic-совместимый API
Messages API в формате Anthropic. Поле max_tokens обязательно. SDK: base_url=https://api.aiin.by (SDK сам добавит /v1/messages).
Messages — curl
curl https://api.aiin.by/v1/messages \
-H "Authorization: Bearer $AIIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-3.5-sonnet",
"max_tokens": 256,
"messages": [{"role": "user", "content": "Привет!"}]
}'
Python (anthropic)
import anthropic
client = anthropic.Anthropic(base_url="https://api.aiin.by", api_key="sk-...")
m = client.messages.create(
model="anthropic/claude-3.5-sonnet",
max_tokens=256,
messages=[{"role": "user", "content": "Привет!"}],
)
print(m.content[0].text)
AI-агенты для кодинга
Claude Code, OpenCode и pi умеют работать через OpenAI-/Anthropic-совместимые endpoint'ы — достаточно указать базовый URL AIIN и API-ключ из кабинета. Списание идёт с кредитного баланса AIIN (1 кредит = 1 BYN), без VPN и зарубежных карт.
Claude Code
Добавьте блок env в ~/.claude/settings.json (или экспортируйте те же переменные в shell). Используйте именно ANTHROPIC_AUTH_TOKEN (заголовок Authorization: Bearer), а не ANTHROPIC_API_KEY.
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aiin.by",
"ANTHROPIC_AUTH_TOKEN": "sk-...",
"ANTHROPIC_MODEL": "anthropic/claude-3.5-sonnet",
"ANTHROPIC_SMALL_FAST_MODEL": "openai/gpt-4o-mini"
}
}
Если ранее был выполнен вход по подписке (claude /login), сначала сделайте claude /logout — сохранённый логин перекрывает переменные окружения. Проверка подключения: команда /status внутри Claude Code.
OpenCode
Провайдер настраивается в ~/.config/opencode/opencode.json; ключ можно подставить из переменной окружения.
export AIIN_API_KEY="sk-..."
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aiin": {
"npm": "@ai-sdk/openai-compatible",
"name": "AIIN",
"options": {
"baseURL": "https://api.aiin.by/v1",
"apiKey": "{env:AIIN_API_KEY}"
},
"models": {
"openai/gpt-4o-mini": { "name": "GPT-4o mini" },
"anthropic/claude-3.5-sonnet": { "name": "Claude 3.5 Sonnet" },
"google/gemini-2.5-flash": { "name": "Gemini 2.5 Flash" }
}
}
}
}
Перезапустите opencode и выберите модель через /models (aiin/…). В секцию models можно добавить любые модели из каталога AIIN — имена должны совпадать с GET /v1/models.
pi
pi (pi.dev) читает кастомные провайдеры из ~/.pi/agent/models.json.
{
"providers": {
"aiin": {
"api": "openai-completions",
"baseUrl": "https://api.aiin.by/v1",
"apiKey": "sk-...",
"models": [
{ "id": "openai/gpt-4o-mini", "name": "GPT-4o mini" },
{ "id": "anthropic/claude-3.5-sonnet", "name": "Claude 3.5 Sonnet" }
]
}
}
}
Запуск: pi --provider aiin --model openai/gpt-4o-mini — или выбор модели внутри pi через /model (Ctrl+L). Вместо самого ключа в apiKey можно указать имя переменной окружения.
Модели
Используйте реальные имена моделей в поле model: openai/gpt-4o-mini, anthropic/claude-3.5-sonnet, google/gemini-2.5-flash и сотни других. Актуальный список с ценами — на странице Модели или через GET /v1/models.
Цены и кредиты
1 кредит = 1 BYN: оплаченная сумма зачисляется на баланс аккаунта, списание — за фактически использованные токены (prompt + completion). Цены за 1M токенов — в GET /v1/models и на странице Модели. Баланс кредитов — в кабинете и через GET /v1/balance. Пополнение — картой через WebPay или ЕРИП.
Ошибки
| HTTP | Значение |
|---|---|
401 | нет или неверный токен |
402 | недостаточно средств на балансе |
400 | неизвестная модель / неверный запрос |
502 | апстрим недоступен (списание не производится) |
В ответах чата добавляются заголовки X-AIIN-Balance и X-AIIN-Charged-BYN с текущим балансом и стоимостью запроса.
Частые вопросы
Поддерживается ли стриминг ответов?
Да — передайте "stream": true в /v1/chat/completions. Ответ придёт SSE-чанками; финальный чанк содержит usage при stream_options.include_usage. Стриминг работает для текстовых моделей.
Нужен ли отдельный SDK для AIIN?
Нет. Используйте официальные SDK OpenAI или Anthropic — меняется только base_url (https://api.aiin.by/v1) и ключ.
Где видно списание за конкретный запрос?
В заголовках ответа X-AIIN-Balance и X-AIIN-Charged-BYN, а также в истории транзакций кабинета.
Можно ли подключить Claude Code, OpenCode или pi к AIIN?
Да. Claude Code: ANTHROPIC_BASE_URL=https://api.aiin.by + ANTHROPIC_AUTH_TOKEN=ключ. OpenCode: провайдер @ai-sdk/openai-compatible с baseURL https://api.aiin.by/v1. pi: провайдер в ~/.pi/agent/models.json. Подробнее — в разделе «AI-агенты для кодинга».