API

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

AIIN — единый шлюз к десяткам моделей через OpenAI- и Anthropic-совместимый API. Меняете base_url на https://api.aiin.by — и используете привычные SDK. Оплата помодельно за токены, баланс в BYN.

Базовый 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)

Модели

Используйте реальные имена моделей в поле model: openai/gpt-4o-mini, anthropic/claude-3.5-sonnet, google/gemini-2.5-flash и сотни других. Актуальный список с ценами — на странице Модели или через GET /v1/models.

Цены и баланс

Списание — за фактически использованные токены (prompt + completion) в BYN по курсу, обновляемому ежедневно. Цены за 1M токенов видны в GET /v1/models и на странице Модели. Баланс аккаунта — в кабинете и через GET /v1/balance. Пополнение баланса подключается (WebPay / ЕРИП).

Ошибки

HTTPЗначение
401нет или неверный токен
402недостаточно средств на балансе
400неизвестная модель / неверный запрос
502апстрим недоступен (списание не производится)

В ответах чата добавляются заголовки X-AIIN-Balance и X-AIIN-Charged-BYN с текущим балансом и стоимостью запроса.