Быстрый старт
akyko - шлюз к моделям, совместимый с OpenAI API: вы меняете базовый URL и ключ, остальной код остаётся прежним.
Базовый URL
https://api.akyko.ru/v1Пути обычные: /chat/completions, /models. Инструменты, которые говорят на родном протоколе Anthropic, ходят в https://api.akyko.ru/v1/messages - он тоже работает.
Где взять ключ
- Зарегистрируйтесь на akyko.ru и подтвердите почту.
- Создайте ключ в личном кабинете. Он начинается с
sk-и показывается целиком один раз - сохраните его сразу. - Пополните баланс - криптовалютой. Ключ выпускается и на нулевом балансе, запросы начнут выполняться после пополнения.
Ключ передаётся в заголовке Authorization: Bearer sk-.... Что ещё умеет ключ - лимит расхода, белый список моделей, срок действия, список IP - на странице Ключи и подключи.
Первый запрос
Примеры ниже берут ключ из переменной AKYKO_KEY. Имя модели - любое из каталога Модели, подставляется в поле model как есть.
curl https://api.akyko.ru/v1/chat/completions \
-H "Authorization: Bearer $AKYKO_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [{"role": "user", "content": "Привет"}]
}'import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.akyko.ru/v1",
api_key=os.environ["AKYKO_KEY"],
)
response = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Привет"}],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.akyko.ru/v1",
apiKey: process.env.AKYKO_KEY,
});
const response = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Привет" }],
});
console.log(response.choices[0].message.content);Любая библиотека для OpenAI API подойдёт: достаточно переопределить базовый URL. Проверить, что ключ принят, можно без модели - запросом GET /v1/models.
Потоковый ответ
С "stream": true ответ приходит по SSE - серией событий data: с дельтами. SDK разбирают поток сами; подробности и поведение при обрыве - на странице Ошибки и поведение.
curl -N https://api.akyko.ru/v1/chat/completions \
-H "Authorization: Bearer $AKYKO_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"stream": true,
"messages": [{"role": "user", "content": "Привет"}]
}'Нативный эндпоинт Anthropic
Для инструментов, написанных под Claude, есть /v1/messages с родной схемой Anthropic - перекладывать запросы в формат OpenAI не нужно.
curl https://api.akyko.ru/v1/messages \
-H "Authorization: Bearer $AKYKO_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Привет"}]
}'Claude Code и подобным клиентам хватает двух переменных окружения - хост без /v1, путь клиент добавляет сам:
export ANTHROPIC_BASE_URL="https://api.akyko.ru"
export ANTHROPIC_AUTH_TOKEN="sk-..."Именно их прописывает установщик вместе с конфигами остальных инструментов - Интеграции.
Дальше
- Ключи и подключи - лимиты, срок действия, отзыв.
- Имена моделей - как имя попадает в запрос, кэш промпта.
- Интеграции - установщик и ручная настройка.
- Ошибки и поведение - коды ответа, SSE, повторы.
- Пополнение - способы, комиссии, сроки зачисления.