Документация 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-k31 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/models
curl https://api.kitsune-cloud.pro/v1/models \
  -H "Authorization: Bearer sk-ваш_ключ"

Биллинг и кэширование

Коды ошибок

КодПричинаЧто делать
401Неверный или отозванный ключПроверьте ключ, выпустите новый в консоли
402 / ошибка квотыНедостаточно средств на балансеПополните баланс в личном кабинете
429Превышен лимит запросовСнизьте частоту, добавьте retry с экспоненциальной паузой
500 / 502Сбой на стороне провайдера моделиПовторите запрос; при повторяющихся сбоях — напишите в поддержку

Формат тела ошибки совместим с OpenAI: {"error": {"message": "...", "type": "...", "code": "..."}}.

Лимиты

Поддержка

Вопросы по интеграции, биллингу и подбору модели: Telegram @kitsune_cloud_support или почта support@kitsune-cloud.pro.