Сервис работает: кабинет и API открыты. · Регистрация открыта, ключи выпускаются в кабинете. Создать аккаунт
Китай-APIAPI Router

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

API за пять минут

Один адрес, один ключ, формат OpenAI Chat Completions. Меняете base_url в существующем коде — и работаете с DeepSeek, Qwen, GLM, Kimi, Claude, GPT, Gemini и Grok из России.

Быстрый старт

01

Зарегистрируйтесь

Аккаунт создаётся на app.kitai-api.ru. Подтверждение почты не требуется: ключи выпускаются сразу после регистрации.

02

Создайте API-ключ

В кабинете, раздел «Ключи». Ключ начинается с sk-kitai- и показывается один раз — сохраните его в менеджере секретов. Для разных сервисов лучше выпускать разные ключи.

03

Отправьте запрос

На адрес https://api.kitai-api.ru/v1/chat/completions с заголовком Authorization: Bearer и идентификатором модели из каталога.

curl https://api.kitai-api.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-kitai-•••" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"Привет"}]}'

Аутентификация

Ключ передаётся в заголовке Authorization:

Authorization: Bearer sk-kitai-•••
  • Ключи выпускаются и отзываются в кабинете. Отозванный ключ перестаёт работать сразу.
  • Держите ключ на сервере. Не вставляйте его в код фронтенда, мобильного приложения или публичный репозиторий.
  • Если ключ попал в чужие руки, отзовите его в кабинете и выпустите новый. Запросы по старому ключу после отзыва не проходят.
  • Один аккаунт может иметь несколько ключей: удобно развести по проектам и по-разному ограничить расход.

Запрос к модели

POST https://api.kitai-api.ru/v1/chat/completions

ПолеТипЧто делает
modelстрока, обязательноID модели из каталога. Регистр и дефисы важны.
messagesмассив, обязательноИстория диалога: объекты с role (system, user, assistant) и content.
temperatureчисло, необязательноРазброс ответов. Ниже значение — предсказуемее, выше — разнообразнее.
max_tokensцелое, необязательноПредел длины ответа в токенах.
top_pчисло, необязательноАльтернатива температуре: отбор вероятностной массы. Обычно меняют что-то одно.
streamлогическое, необязательноОтвет потоком, см. раздел Стриминг.

Ответ приходит в формате OpenAI: choices[0].message.content — текст, usage — сколько токенов ушло на вход и выход. Эти же цифры попадают в биллинг и в журнал кабинета.

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "deepseek-v4-flash",
  "choices": [{
    "index": 0,
    "message": { "role": "assistant", "content": "Здравствуйте!" },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 8,
    "total_tokens": 20
  }
}
Совместимость Если проект уже работает с OpenAI, поменяйте base_url на https://api.kitai-api.ru/v1, ключ — на ключ Китай-API, а имя модели — на ID из каталога. Остальной код менять не нужно.

Примеры

Перенос с OpenAI в Python. Ключ читается из переменной окружения, а не хранится в коде:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.kitai-api.ru/v1",
    api_key=os.environ["KITAI_API_KEY"],
)

answer = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "Отвечай коротко и по делу."},
        {"role": "user", "content": "Сравни два тарифа на доставку."},
    ],
    temperature=0.3,
    max_tokens=800,
)
print(answer.choices[0].message.content)

Смена модели — это одна строка. Тот же код работает с qwen3.8-max, glm-5.3, kimi-k3, claude-sonnet-5 и остальными ID из каталога.

Стриминг

С stream: true ответ приходит по частям, как в OpenAI. Это удобно для чатов: пользователь видит текст, не дожидаясь конца генерации.

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Короткий план запуска"}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

На уровне HTTP это поток text/event-stream: строки data: {...} с кусками ответа и завершающая строка data: [DONE]. В curl добавьте -N, чтобы отключить буферизацию.

Ошибки

Коды стандартные для HTTP и OpenAI-совместимых клиентов. В теле ошибки приходит JSON с полем error.message — по нему видно причину.

КодЧто значитЧто делать
400Ошибка в запросе: неверный JSON, пустой messages, неизвестный ID моделиПроверить тело запроса и ID по каталогу
401Ключ не передан, неверный или отозванПроверить заголовок Authorization, выпустить новый ключ
402 / 403Недостаточно средств или доступ к модели ограниченПополнить баланс, проверить лимиты ключа
404Неверный адрес запросаПроверить base_url и /chat/completions
429Слишком много запросовСнизить параллельность, повторить с паузой
500–504Сбой на стороне провайдера моделиПовторить позже; доступность — на странице статуса

При повторных отправках используйте нарастающую паузу и не дублируйте уже оплаченный запрос без необходимости.

Лимиты и бюджеты

  • Лимит расходов задаётся на каждый ключ в кабинете. Когда потолок достигнут, запросы по этому ключу останавливаются, остальные ключи работают.
  • Баланс общий на аккаунт. Пополнение — картой РФ или через СБП; для юрлиц — счёт с НДС от 5 000 ₽.
  • Расход виден в кабинете по каждому запросу: модель, токены, стоимость, дата и время. Содержание запросов в журнал не пишется.
  • Если нужен лимит выше или отдельные условия по нагрузке, напишите в Telegram — обсудим.

Идентификаторы моделей

Полный список — на странице каталога: 62 идентификатора, семейства и цены. ID чувствительны к регистру и дефисам: deepseek-v4-flash и deepseek-v4-pro — разные модели.

Если модель не отвечает, проверьте живой статус и попробуйте другую из того же семейства. На время сбоя у провайдера запрос можно повторить позже или переключить на резервную модель.

Поддержка

Вопросы по подключению, счёту и документам — в Telegram-бот @SkynetAIbiz_bot или на sale@tdmm.pro. По безопасности и обработке данных — страница «Безопасность и 152-ФЗ».

Текстовая версия ключевых страниц для LLM и поисковых агентов: llms.txt.

Готовы попробовать? Регистрация занимает минуту, ключ выпускается сразу.

Создать аккаунт