← Все статьи

Kimi K3 и DeepSeek V4.1 Flash через OpenAI-совместимый API: руководство по интеграции с TheRouter

Kimi K3 и DeepSeek V4.1 Flash поддерживают OpenAI-совместимые endpoint. Измените base_url и model ID — ваш существующий код на OpenAI SDK продолжит работать. В этом руководстве: настройка, примеры кода, матрица функций, подводные камни, сравнение стоимости и маршрутизация через TheRouter с автоматическим fallback.

· TheRouter

Kimi K3 (Moonshot AI) и DeepSeek V4.1 Flash нативно реализуют OpenAI-совместимый endpoint /v1/chat/completions. Если вы уже используете OpenAI Python SDK или Node.js SDK, интеграция любой из моделей — это изменение двух строк: замените base_url на адрес провайдера и model на нужный ID. Новый SDK не нужен, новая аутентификация не нужна, формат ответов тот же. Streaming, tool calls, structured output — всё продолжает работать.

Мы написали это руководство потому, что разработчики, ищущие «kimi api openai compatible» или «deepseek api openai compatible», попадают на документацию одного провайдера за раз. Здесь обе модели рядом: точный код для каждой, таблица различий и пошаговая настройка маршрутизации через TheRouter, чтобы один endpoint обрабатывал fallback автоматически.

Источники: Kimi K3 Quickstart, получено 2026-09-12; Kimi K3 Pricing, получено 2026-09-12; DeepSeek API Docs, получено 2026-09-12; DeepSeek Pricing, получено 2026-09-12; DeepSeek V4.1 Flash Announcement, получено 2026-09-12; Model Parameter Reference, получено 2026-09-12.

OpenAI-совместимость означает, что провайдер предоставляет endpoint chat-completions, чей контракт запроса и ответа достаточно близок к API OpenAI, чтобы немодифицированный вызов OpenAI SDK работал после замены трёх значений: API key, base URL, название модели. Минимальная поверхность на практике —POST /v1/chat/completions с messages, model и потоковым ответом в форме OpenAI.

Почему OpenAI-совместимый формат важен для этих двух моделей

Формат chat completion от OpenAI (/v1/chat/completions) стал универсальным протоколом для LLM API. Когда провайдер принимает этот формат, все инструменты, созданные для OpenAI — SDK, agent-фреймворки, расширения IDE, платформы мониторинга — работают без изменений.

Kimi K3 и DeepSeek V4.1 Flash поддерживают этот формат нативно. Это две сильнейшие модели сентября 2026 года, от провайдеров с существенно различающимися ценами, rate limit и географической доступностью. Возможность переключаться между ними через смену конфигурации — или маршрутизировать автоматически через gateway вроде TheRouter — даёт гибкость без переписывания интеграционного кода.

Kimi K3 — Base URL, аутентификация, model ID и код

Провайдер: Moonshot AI Base URL: https://api.moonshot.ai/v1 Аутентификация: Bearer token (получите ключ на platform.kimi.ai/console/api-keys) Model ID: kimi-k3 Контекстное окно: 1 048 576 tokens (1M) Максимальный output: 64 000 tokens

Kimi K3 — флагманская модель Moonshot AI: 2,8 триллиона параметров (MoE), нативное понимание изображений и видео, постоянно активное рассуждение, контекстное окно 1M tokens. Это первая open-source модель класса 3T параметров.

Пример на Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MOONSHOT_KEY",
    base_url="https://api.moonshot.ai/v1",
)

response = client.chat.completions.create(
    model="kimi-k3",
    messages=[{"role": "user", "content": "Explain API gateways in one paragraph."}],
)
print(response.choices[0].message.content)

Пример cURL

curl https://api.moonshot.ai/v1/chat/completions \
  -H "Authorization: Bearer $MOONSHOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k3",
    "messages": [{"role": "user", "content": "Explain API gateways in one paragraph."}]
  }'

Специфические параметры K3

  • reasoning_effort — "low", "high" или "max" (по умолчанию "max"). K3 всегда рассуждает; этот параметр задаёт глубину. Старый параметр thinking из K2 не поддерживается.
  • tool_choice — "auto", "none" и "required" (модели K2 не поддерживали "required").
  • temperature, top_p, n, presence_penalty, frequency_penalty — зафиксированы, изменять нельзя. Не передавайте их в запросе.

Источник: Model Parameter Reference, получено 2026-09-12.

DeepSeek V4.1 Flash — Base URL, аутентификация, model ID и код

Провайдер: DeepSeek Base URL: https://api.deepseek.com (формат OpenAI) или https://api.deepseek.com/anthropic (формат Anthropic) Аутентификация: Bearer token (получите ключ на platform.deepseek.com/api_keys) Model ID: deepseek-flash (каноническое имя; устаревшее deepseek-v4-flash по-прежнему маршрутизируется на V4.1 Flash) Контекстное окно: 1 000 000 tokens (1M) Максимальный output: 384 000 tokens

DeepSeek V4.1 Flash — модель на 552B параметров с архитектурой MoE и новым Causal Encoder-Decoder: 8B активных параметров для input, 16B для output. Запущена 10 сентября 2026 года, заменяет V4 Flash. По бенчмаркам опережает предыдущий флагман V4 Pro.

Пример на Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPSEEK_KEY",
    base_url="https://api.deepseek.com",
)

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Explain API gateways in one paragraph."}],
)
print(response.choices[0].message.content)

Пример cURL

curl https://api.deepseek.com/chat/completions \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-flash",
    "messages": [{"role": "user", "content": "Explain API gateways in one paragraph."}]
  }'

Специфические параметры V4.1 Flash

  • thinking — {"type": "enabled"} (по умолчанию) или {"type": "disabled"}. Режим рассуждения можно отключить.
  • reasoning_effort — "low", "medium" или "high" — задаёт глубину рассуждения при включённом thinking.
  • temperature, top_p, frequency_penalty, presence_penalty — свободно настраиваемые (в отличие от K3).
  • Пиковое/внепиковое ценообразование. Пиковые часы: UTC пн-пт 01:00-04:00 и 06:00-10:00. Внепиковые тарифы — 50% от пиковых.

Источники: DeepSeek API Docs, получено 2026-09-12; V4.1 Flash Announcement, получено 2026-09-12.

Матрица функций

ФункцияKimi K3DeepSeek V4.1 Flash
Base URLhttps://api.moonshot.ai/v1https://api.deepseek.com
Model IDkimi-k3deepseek-flash
Параметры2.8T MoE552B MoE (активных 8B/16B)
Контекстное окно1M tokens1M tokens
Максимальный output64K tokens384K tokens
StreamingДаДа
Tool callingДа (required поддерживается)Да
Structured output (json_schema)Да (strict: true)Да
VisionДа (изображения + видео)Да (изображения)
Режим рассужденияВсегда вкл. (reasoning_effort)Переключаемый (thinking)
Уровни reasoning effortlow / high / maxlow / medium / high
Управление temperatureФиксированнаяНастраиваемая
Формат Anthropic APIНетДа (путь /anthropic)
FIM completionНетДа (без reasoning)
Responses APIНетДа
Ограничение concurrencyПо уровню пополнения2 500 (Flash)

Маршрутизация через TheRouter — конфигурация и fallback

TheRouter маршрутизирует OpenAI-совместимые запросы через настроенных провайдеров. Приложение обращается к одному endpoint TheRouter, а тот выбирает провайдера, обрабатывает fallback и балансирует нагрузку.

Типичная конфигурация — Kimi K3 как основная модель, DeepSeek V4.1 Flash как fallback:

# Фрагмент конфигурации TheRouter
routes:
  - model: "kimi-k3"
    provider: moonshot
    fallback:
      - model: "deepseek-flash"
        provider: deepseek

Код приложения остаётся таким же, как в примерах выше — только base_url указывает на ваш инстанс TheRouter. Если K3 вернёт 429 (rate limit) или 5xx (ошибка сервера), TheRouter автоматически повторит запрос через DeepSeek V4.1 Flash.

Для оптимизации по стоимости можно поменять порядок: DeepSeek V4.1 Flash как основная модель (дешевле за token), fallback на K3 для задач с видео-input или глубоким reasoning.

Подробнее о настройке fallback: Model Fallbacks.

Частые проблемы

1. Несовпадение параметров reasoning. K3 использует reasoning_effort (top-level поле). DeepSeek использует и thinking (переключение reasoning), и reasoning_effort (глубина). При маршрутизации между моделями middleware должен транслировать параметры. K3 игнорирует thinking, DeepSeek не реагирует на reasoning_effort без включённого thinking. TheRouter обрабатывает эту трансляцию для поддерживаемых параметров.

2. Фиксированная vs настраиваемая temperature. K3 фиксирует temperature на 1.0 и отклоняет другие значения. DeepSeek позволяет задавать произвольно. Если ваш код передаёт temperature=0.7, на DeepSeek он работает, на K3 — invalid_request_error. Либо опускайте temperature при работе с обеими моделями, либо обрабатывайте ошибку в fallback-логике.

3. Переименование model ID. DeepSeek отказался от deepseek-v4-flash — это имя маршрутизируется на V4.1 Flash для совместимости, но каноническое имя теперь deepseek-flash. Используйте новое имя.

4. Инвалидация кэша на K3. Смена reasoning_effort между ходами разговора сбрасывает prefix cache — стоимость input прыгает с $0.30/M (cache hit) до $3.00/M (cache miss). Определите уровень reasoning до начала диалога и не меняйте его.

5. Пиковые тарифы DeepSeek. Пиковые часы (UTC пн-пт 01:00-04:00 и 06:00-10:00) стоят вдвое дороже. Если задача не привязана ко времени, планируйте batch-вызовы на внепиковые часы и сэкономите 50% на input.

6. Различие максимального output. K3 ограничен 64K tokens output; V4.1 Flash — до 384K. Для очень длинных генераций (код, документы) V4.1 Flash предпочтительнее.

Сравнение стоимости

Все цены в USD за 1M tokens.

Компонент стоимостиKimi K3DeepSeek V4.1 Flash (внепик.)DeepSeek V4.1 Flash (пик.)
Input (cache hit)$0.30$0.003$0.006
Input (cache miss)$3.00$0.15$0.30
Output$15.00$0.60$1.20

DeepSeek V4.1 Flash примерно в 20 раз дешевле K3 по input и в 12-25 раз дешевле по output, в зависимости от пикового тарифа. Премия K3 объясняется бо́льшим числом параметров (2.8T vs. 552B), нативным пониманием видео и стабильно высоким уровнем reasoning.

Для cost-sensitive задач, где абсолютное качество рассуждения не критично, V4.1 Flash — очевидный выбор. Для задач, требующих frontier-уровня reasoning, нативного видео-input или structured output со strict schema K3, ценовая разница может быть оправданной.

Источники: Kimi K3 Pricing, получено 2026-09-12; DeepSeek Pricing, получено 2026-09-12.

Чек-лист для production

  • Храните API-ключи в переменных окружения или secrets manager, не в коде
  • Задайте max_tokens или max_completion_tokens, чтобы предотвратить неконтролируемые расходы на output
  • Обрабатывайте ответы 429 (rate limit) через exponential backoff или используйте встроенный retry TheRouter
  • Для K3: не передавайте temperature, top_p, n, presence_penalty, frequency_penalty
  • Для DeepSeek: используйте deepseek-flash как model ID (не устаревший deepseek-v4-flash)
  • Для K3: определите reasoning_effort до начала диалога и не меняйте его для сохранения cache hit
  • Для DeepSeek: планируйте batch-задачи вне пиковых часов (UTC пн-пт 01:00-04:00, 06:00-10:00) для экономии 50% на input
  • Протестируйте streaming — оба провайдера сначала отправляют reasoning_content delta, потом content delta
  • При использовании tool calling на K3 рассмотрите паттерн динамической загрузки инструментов, чтобы не заполнять контекстное окно
  • Мониторьте использование tokens по каждому провайдеру при маршрутизации через TheRouter

FAQ

Можно ли использовать один и тот же код OpenAI SDK для обоих провайдеров? Да. Kimi K3 и DeepSeek V4.1 Flash реализуют endpoint /v1/chat/completions с одинаковой схемой запроса/ответа. Замените base_url и model — и ваш код работает.

Какая модель лучше для задач кодирования? Обе сильны. K3 хорош в long-horizon coding с визуальной обратной связью (разработка игр, frontend). V4.1 Flash опережает V4 Pro по бенчмаркам кодирования при меньшей стоимости и большей скорости. Для чистой генерации кода без vision input V4.1 Flash выгоднее.

DeepSeek поддерживает формат Anthropic API? Да. DeepSeek предоставляет Anthropic-совместимый endpoint по адресу https://api.deepseek.com/anthropic. Kimi Anthropic-формат не поддерживает.

Что будет, если передать temperature=0 в K3? K3 отклонит запрос с invalid_request_error. Temperature фиксирована на 1.0 и не принимает изменений. Просто не передавайте этот параметр.

TheRouter умеет транслировать reasoning-параметры между провайдерами? TheRouter маршрутизирует OpenAI-совместимые запросы через настроенных провайдеров и поддерживает fallback между провайдерами/моделями, когда это реализовано в product path. Для provider-специфичных параметров вроде reasoning_effort или thinking обратитесь к документации TheRouter по маппингу параметров.

K3 доступен через DashScope (Alibaba Cloud)? На сентябрь 2026 года Kimi K3 доступен через API Moonshot (api.moonshot.ai) и через DashScope. Актуальную доступность проверяйте на странице новых моделей DashScope.

Какой минимальный платёж для использования K3? K3 — флагманская модель, для доступа к ней нужно пополнение от $1. Накопленная сумма пополнений определяет ваш tier rate limit.

Модели, упомянутые в статье

Помощь и контакты