Moonshot API — интерфейс открытой платформы Moonshot AI. В 2026 году платформа заметно изменилась: консоль разработчика переехала на platform.kimi.com, основную линейку составили Kimi K3 и K2.7, а старая серия moonshot-v1 отключена 31 августа 2026 года. Часто проблема, которую команды называют «доступ из Китая не работает», на самом деле связана с точкой входа, именем модели или регионом аккаунта, а не с сетью.

Ниже сравниваются три маршрута — прямое подключение, собственный прокси и китайский AI-шлюз — и добавляются методы проверки сети, оплаты и счетов, лимитов и переключения при сбоях. Модели и цены — на странице цены на модели.

Примечание: Moonshot, Kimi и Moonshot AI — товарные знаки или зарегистрированные товарные знаки Beijing Moonshot Technology Co., Ltd. Статья носит технический характер и не подразумевает аффилированности с правообладателем; интерфейсы, модели и правила тарификации определяются официальной документацией.

1. Сначала определите, к какой платформе вы обращаетесь

У Moonshot API сейчас есть три уровня, которые легко перепутать; ошибка на любом из них даёт сбой:

  • Бренд: Moonshot AI — название компании, Kimi — название моделей и продукта; это не две независимые службы.
  • Платформа: китайский сайт — platform.kimi.com, международный — platform.kimi.ai. Аккаунты, балансы и ключи полностью независимы, смешивание даёт 401.
  • Интерфейс: китайский сайт обычно использует https://api.moonshot.cn/v1, международный — другой домен; конкретика — в официальной документации.

Кроме того, ключ открытой платформы, подписка клиента Kimi и Kimi Code — разные продукты, их учётные данные не взаимозаменяемы. Ключ клиентского сценария при вызове открытой платформы тоже даст ошибку аутентификации. Сначала проверьте, на какой платформе вы зарегистрированы и к какой продуктовой линейке относится ключ, и только потом занимайтесь оптимизацией сети.

2. Три маршрута в одной таблице

Критерий Прямое подключение Собственный прокси Китайский AI-шлюз
Вход Официальные адреса вроде api.moonshot.cn Собственный домен с обратным прокси Единый OpenAI-совместимый адрес шлюза
Аккаунт и оплата Официальный аккаунт, пополнение в юанях Официальный счёт плюс стоимость сервера Аккаунт шлюза, единый счёт в юанях
Набор моделей Только Moonshot/Kimi Зависит от настройки прокси Несколько моделей, по условиям подключения
Ответственность за эксплуатацию Официальная сторона и локальная сеть Полностью на вас Шлюз и локальная сторона вместе
Кому подходит Одна модель, стабильный доступ, команда умеет работать с лимитами Есть эксплуатация, нужен единый выход и аудит Несколько моделей, нужны счета, меньше эксплуатации

Ни один маршрут не подходит всем. Порядок оценки: допустим ли простой для бизнеса, нужны ли несколько моделей и единый счёт, есть ли человек, который поддерживает повторы и мониторинг. Если все три пункта простые, достаточно прямого подключения; если хотя бы один усложняется, стоит добавить слой.

3. Сеть: что реально проверять

Для доступа к Moonshot API из Китая обычно не нужны дополнительные сетевые инструменты, но четыре класса проблем часто принимают за «сеть не работает»:

  1. Несовпадение региона и ключа: ключ китайского сайта на адресе международного или наоборот сразу даёт 401. Это не проблема DNS.
  2. Корпоративный прокси и перехват TLS: прокси подменяет сертификат, DNS отвечает неправильно — появляются ошибки сертификата, тайм-ауты или 499.
  3. Тайм-аут длинных запросов: если сервер долго не отвечает на непоточный запрос, шлюз может вернуть 504; в официальной документации упоминается сценарий 900 секунд. Для длинной генерации по умолчанию включайте потоковый режим.
  4. IP-allowlist международного сайта: международный сайт может ограничивать IP вызывающей стороны; адрес вне allowlist организации даёт 403. Смена сети здесь не поможет — настраивайте консоль.

В продакшене также включите переиспользование соединений, чтобы не выполнять рукопожатие на каждый запрос; для потоковых запросов задайте idle timeout и heartbeat, чтобы промежуточный прокси не обрывал соединение при долгом отсутствии данных.

4. Оплата и счета: здесь чаще всего застревают компании

Технически работающий сценарий ещё не означает готовность к запуску: узким местом часто становятся закупка и финансы. По официальным разъяснениям 2026 года для корпоративной верификации нужны название компании, совпадающий корпоративный банковский счёт и единый код социального кредита; платформа переводит случайную сумму для подтверждения принадлежности счёта. Личный аккаунт можно повысить до корпоративного, но корпоративный нельзя перевести обратно в личный.

Пополнение: физическое лицо может использовать WeChat или Alipay; компания — онлайн-пополнение или банковский перевод. Перевод должен идти со счёта верифицированного лица, обычно занимает 1–5 рабочих дней, зачисление — ещё около 10 минут. Счёт-фактуру можно запросить онлайн по израсходованной или пополненной сумме; эмитент — Beijing Moonshot, категория — услуги технического характера. Для корпоративного аккаунта в заголовке счёта-фактуры указывается только верифицированное лицо; выбирать между физическим и юридическим лицом может только личный аккаунт.

Если компания требует договор, отсрочку платежа или специальный счёт-фактуру, сначала согласуйте это через отдел продаж, чтобы не обнаружить несовпадение процессов после пополнения. У разных шлюзов свои правила оплаты и счетов — до подписания их тоже нужно подтвердить письменно.

5. Лимиты: 429 — это не один тип ошибки

Уровни ограничения Moonshot определяются суммарным пополнением аккаунта: чем выше уровень, тем шире параллелизм, RPM, TPM и TPD. Купоны обычно не входят в накопленную сумму, поэтому «пополнил купоном» не обязательно повышает уровень. У веб-поиска отдельная квота QPS, она считается отдельно от RPM и TPM чат-интерфейса.

Один и тот же 429 обрабатывается по-разному:

  • engine_overloaded_error: перегрузка сервера, повтор с выдержкой по Retry-After; пополнение или повышение уровня не помогут.
  • rate_limit_reached_error: превышены параллелизм, RPM, TPM или TPD организации — снизьте скорость, поставьте в очередь или дождитесь сброса.
  • exceeded_current_quota_error: задолженность или нехватка квоты, не повторяйте, сначала разберитесь с балансом.

Кроме того, для подозрительных аккаунтов может срабатывать риск-контроль; официально указано, что после срабатывания такое ограничение может не сниматься. В проекте можно задать дневной бюджет: после достижения предела все запросы проекта отклоняются, причём из-за задержки биллинга возможен лаг около 10 минут. SMS-напоминание о балансе тоже стоит включить, чтобы не узнавать о задолженности из 429.

6. Переключение при сбоях: имеет смысл только для временных ошибок

Переключение — не «менять маршрут на любую ошибку». Нехватку баланса, неверный ключ, ошибку параметров и блокировку контента сменой канала не решить; это лишь увеличит счёт и усложнит диагностику. Ниже минимальный пример структуры:

import os
from openai import OpenAI

clients = [
    OpenAI(api_key=os.environ["PRIMARY_KEY"],
           base_url=os.environ["PRIMARY_BASE"], max_retries=0),
    OpenAI(api_key=os.environ["BACKUP_KEY"],
           base_url=os.environ["BACKUP_BASE"], max_retries=0),
]

def ask(prompt: str) -> str:
    last_error = None
    for client in clients:
        try:
            resp = client.chat.completions.create(
                model=os.environ["MODEL"],
                messages=[{"role": "user", "content": prompt}],
                max_completion_tokens=512,
                stream=False,
            )
            return resp.choices[0].message.content
        except Exception as exc:  # в продакшене разбирайте по error.type
            last_error = exc
            if "quota" in str(exc).lower() or "content_filter" in str(exc).lower():
                raise
    raise RuntimeError("Основной и резервный каналы недоступны") from last_error

Важно: аккаунты китайского и международного сайтов независимы, поэтому «георезервирование» не сводится к замене Base URL — резервный канал нужно заранее зарегистрировать, пополнить и отдельно проверить. После переключения записывайте request_id, имя модели, usage и длительность, иначе нельзя понять, действительно ли резервный канал работает.

7. Чек-лист перед запуском

  1. Отправьте минимальный запрос на актуальной модели (например, kimi-k3 или kimi-k2.6) и убедитесь, что вернулся 200.
  2. Проверьте по отдельности Chat Completions, Responses и Anthropic Messages — все протоколы, которые реально использует проект.
  3. Убедитесь, что в ответе есть и записываются model, usage и request_id.
  4. Проверьте потоковый режим на длинном выводе: данные приходят по частям, финал полный, промежуточный прокси не буферизует.
  5. Намеренно вызовите 401, 404 и 429 и проверьте, что клиент правильно различает типы ошибок.
  6. Задайте тайм-ауты соединения и чтения, включите Keep-Alive, настройте дневной бюджет проекта и напоминание о балансе.
  7. Наблюдайте неделю за p50, p95 и долей 429/5xx, а не только за одним нагрузочным тестом.
  8. Пройдите путь банковского перевода и выставления счёта, проверьте договор, счёт и правила возврата.
  9. Сохраните откатываемый прямой канал и опишите условия переключения.

Если приёмка не пройдена, не переводите на новый маршрут основную нагрузку. Шлюз добавляет один переход и может немного увеличить задержку; его ценность — в едином входе, переключении, счетах и изоляции ключей, а не в «ускорении».

Частые вопросы

Moonshot API и веб-версия Kimi — это одно и то же?

Нет. Веб-версия — продукт для пользователей, Moonshot API — интерфейс открытой платформы для разработчиков; системы аккаунтов, тарификации и ключи различаются.

Нужны ли дополнительные сетевые инструменты для прямого доступа из Китая?

Обычно нет. Moonshot — китайский провайдер, интерфейс китайского сайта доступен напрямую. На практике чаще встречаются ошибки региона, ключа, имени модели и настроек прокси.

Старый код с moonshot-v1 ещё работает?

Серия moonshot-v1 отключена 31 августа 2026 года; дальнейшие вызовы возвращают 404. Нужно перейти на kimi-k3, kimi-k2.7 или kimi-k2.6 по официальному списку моделей и заново сверить параметры.

Обязательна ли оплата банковским переводом для компании?

Это не единственный способ. После корпоративной верификации можно выбирать онлайн-пополнение через WeChat, Alipay или банковский перевод; перевод приходит медленнее и подходит командам с финансовым процессом.

429 не проходит долгое время. Что делать?

Сначала посмотрите error.type. Если не хватает квоты — пополните; если превышены параллелизм или TPD — снизьте скорость и ждите сброса; если перегружен сервер — повторяйте с выдержкой по Retry-After. Если ограничение не снимается, сохраните request_id и обратитесь в поддержку платформы.

Что дальше

Если вы используете несколько моделей, нужен единый счёт или резервный канал, создайте тестовый ключ в ZSQH AI Gateway, сравните на одном наборе запросов задержку, долю ошибок и счёт прямого подключения и шлюза, затем решайте, какой маршрут использовать в продакшене. Конкретные модели и тарификация — на странице цены на модели.

Связанные материалы: