Документация API
Kitsune Cloud предоставляет OpenAI-совместимый API к флагманским языковым моделям.
Если ваш код уже работает с OpenAI — достаточно поменять base_url и ключ.
Быстрый старт
1. Зарегистрируйтесь в консоли.
2. В разделе «Токены» создайте API-ключ (начинается с sk-).
3. Отправьте первый запрос:
curl https://api.kitsune-cloud.pro/v1/chat/completions \
-H "Authorization: Bearer sk-ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"model": "kimi-k3",
"messages": [{"role": "user", "content": "Привет! Представься одним предложением."}]
}'
Базовый URL для всех запросов: https://api.kitsune-cloud.pro/v1
Аутентификация
Каждый запрос подписывается заголовком Authorization: Bearer sk-....
Ключи создаются и отзываются в личном кабинете, раздел «Токены». У одного аккаунта может быть несколько ключей — удобно разделять продакшн и тесты.
Храните ключи в секрете. Ключ даёт доступ к расходу вашего баланса. Если ключ скомпрометирован — удалите его в консоли и выпустите новый.
Модели и цены
| Модель | Контекст | Вход, ₽/1M | Выход, ₽/1M | Кэш-хит, ₽/1M |
|---|---|---|---|---|
kimi-k3 | 1 048 576 токенов | 420 ₽ | 2 100 ₽ | 42 ₽ |
Линейка расширяется — актуальный список всегда доступен через эндпоинт /v1/models.
Chat Completions
POST /v1/chat/completionsОсновной эндпоинт. Полностью совместим с OpenAI Chat Completions: messages, temperature, max_tokens, top_p, stream и другие стандартные параметры.
Python (библиотека openai)
from openai import OpenAI
client = OpenAI(
api_key="sk-ваш_ключ",
base_url="https://api.kitsune-cloud.pro/v1",
)
resp = client.chat.completions.create(
model="kimi-k3",
messages=[{"role": "user", "content": "Объясни, что такое кэширование контекста"}],
)
print(resp.choices[0].message.content)
print(resp.usage) # фактические токены запроса
Node.js
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-ваш_ключ",
baseURL: "https://api.kitsune-cloud.pro/v1",
});
const resp = await client.chat.completions.create({
model: "kimi-k3",
messages: [{ role: "user", content: "Привет!" }],
});
console.log(resp.choices[0].message.content);
Стриминг (SSE)
Передайте "stream": true — ответ придёт потоком Server-Sent Events, токен за токеном. Поток завершается сообщением data: [DONE].
Шлюз автоматически запрашивает у провайдера блок usage в финальном чанке — вы всегда видите фактическое число токенов, даже в стриминговом режиме. Явно передавать stream_options.include_usage не требуется.
curl -N https://api.kitsune-cloud.pro/v1/chat/completions \
-H "Authorization: Bearer sk-ваш_ключ" \
-H "Content-Type: application/json" \
-d '{"model":"kimi-k3","stream":true,"messages":[{"role":"user","content":"Расскажи историю"}]}'
Список моделей
GET /v1/modelscurl https://api.kitsune-cloud.pro/v1/models \
-H "Authorization: Bearer sk-ваш_ключ"
Биллинг и кэширование
- Оплата помегатокенная: вход и выход тарифицируются по своим ценам из таблицы выше.
- Списание происходит по фактическому потреблению — по данным
usageот провайдера модели, а не по оценке. - Контекстное кэширование. Повторные запросы с тем же началом промпта попадают в кэш провайдера: закэшированная часть входа тарифицируется по цене кэш-хита (скидка 90%). Длинные системные промпты и истории диалогов кэшируются особенно выгодно.
- История каждого запроса — токены и сумма списания — доступна в консоли, раздел «Логи».
- Баланс аккаунта и остаток по ключу видны в личном кабинете.
Коды ошибок
| Код | Причина | Что делать |
|---|---|---|
401 | Неверный или отозванный ключ | Проверьте ключ, выпустите новый в консоли |
402 / ошибка квоты | Недостаточно средств на балансе | Пополните баланс в личном кабинете |
429 | Превышен лимит запросов | Снизьте частоту, добавьте retry с экспоненциальной паузой |
500 / 502 | Сбой на стороне провайдера модели | Повторите запрос; при повторяющихся сбоях — напишите в поддержку |
Формат тела ошибки совместим с OpenAI: {"error": {"message": "...", "type": "...", "code": "..."}}.
Лимиты
- Максимальный размер тела запроса — 50 МБ.
- Длительность одного стримингового ответа — до 5 минут (с запасом хватает на самые длинные генерации).
- Жёстких лимитов RPM для обычных аккаунтов сейчас нет; при аномальной нагрузке лимитер может вернуть
429— обрабатывайте его повтором с паузой. - B2B-клиентам доступны повышенные лимиты и отдельные условия — напишите нам.
Поддержка
Вопросы по интеграции, биллингу и подбору модели: Telegram @kitsune_cloud_support или почта support@kitsune-cloud.pro.