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 из Китая обычно не нужны дополнительные сетевые инструменты, но четыре класса проблем часто принимают за «сеть не работает»:
- Несовпадение региона и ключа: ключ китайского сайта на адресе международного или наоборот сразу даёт 401. Это не проблема DNS.
- Корпоративный прокси и перехват TLS: прокси подменяет сертификат, DNS отвечает неправильно — появляются ошибки сертификата, тайм-ауты или 499.
- Тайм-аут длинных запросов: если сервер долго не отвечает на непоточный запрос, шлюз может вернуть 504; в официальной документации упоминается сценарий 900 секунд. Для длинной генерации по умолчанию включайте потоковый режим.
- 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. Чек-лист перед запуском
- Отправьте минимальный запрос на актуальной модели (например,
kimi-k3илиkimi-k2.6) и убедитесь, что вернулся 200. - Проверьте по отдельности Chat Completions, Responses и Anthropic Messages — все протоколы, которые реально использует проект.
- Убедитесь, что в ответе есть и записываются
model,usageиrequest_id. - Проверьте потоковый режим на длинном выводе: данные приходят по частям, финал полный, промежуточный прокси не буферизует.
- Намеренно вызовите 401, 404 и 429 и проверьте, что клиент правильно различает типы ошибок.
- Задайте тайм-ауты соединения и чтения, включите Keep-Alive, настройте дневной бюджет проекта и напоминание о балансе.
- Наблюдайте неделю за p50, p95 и долей 429/5xx, а не только за одним нагрузочным тестом.
- Пройдите путь банковского перевода и выставления счёта, проверьте договор, счёт и правила возврата.
- Сохраните откатываемый прямой канал и опишите условия переключения.
Если приёмка не пройдена, не переводите на новый маршрут основную нагрузку. Шлюз добавляет один переход и может немного увеличить задержку; его ценность — в едином входе, переключении, счетах и изоляции ключей, а не в «ускорении».
Частые вопросы
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, сравните на одном наборе запросов задержку, долю ошибок и счёт прямого подключения и шлюза, затем решайте, какой маршрут использовать в продакшене. Конкретные модели и тарификация — на странице цены на модели.
Связанные материалы:
