Moonshot API 是月之暗面开放平台的接口。2026 年这个平台变化不小:开发者控制台迁到 platform.kimi.com,模型主线换成 Kimi K3 与 K2.7 系列,旧的 moonshot-v1 系列已于 2026 年 8 月 31 日下线。很多团队口中“国内访问不通”的问题,实际是入口、模型名或账号区域没对上,而不是网络本身。

本文比较直连、自建代理和国内 AI 网关三条路线,并补上网络、付款开票、限流和故障切换的验收方法。模型与价格以站内模型价格为准。

说明:Moonshot、Kimi、月之暗面是北京月之暗面科技有限公司的商标或注册商标。本文仅作技术讨论,与权利人无隶属关系;接口、模型和计费规则以官方文档为准。

一、先确认你访问的是哪个平台

Moonshot API 现在有三层容易混淆的概念,接错任何一层都会报错:

  • 品牌层:Moonshot AI 是公司名,Kimi 是模型与产品名,两者不是两套独立服务。
  • 平台层:中国站是 platform.kimi.com,国际站是 platform.kimi.ai。两站的账号、余额和 Key 完全独立,混用会返回 401。
  • 接口层:中国站常用 https://api.moonshot.cn/v1,国际站使用另一套域名,具体以官方文档为准。

另外,开放平台 Key、Kimi 客户端会员和 Kimi Code 等产品的凭证并不通用。拿客户端场景的 Key 去调开放平台,同样会认证失败。先确认自己注册的是哪个平台、Key 属于哪条产品线,再谈网络优化。

二、三条路线放在一张表里

维度 官方直连 自建代理 国内 AI 网关
入口 api.moonshot.cn 等官方地址 自己域名反向代理 网关统一的 OpenAI 兼容地址
账号与计费 官方账户,人民币充值 官方账单加服务器成本 网关账户,统一人民币账单
模型范围 仅 Moonshot/Kimi 取决于代理配置 可接多家模型,视开通情况
运维责任 官方与本地网络 全部由自己承担 服务方与本地共同承担
适合团队 单模型、访问稳定、能自行处理限流 有运维能力、需统一出口与审计 多模型、要发票、想减少运维

没有一条路线适合所有人。判断顺序建议是:业务能否接受中断、是否需要多模型和统一发票、团队有没有人维护重试与监控。三项都简单,直连就够;任意一项变复杂,再考虑加一层。

三、网络:真正要排查的四件事

国内访问 Moonshot API 通常不需要额外网络工具,但下面四类问题经常被误判成“网络不通”:

  1. 区域与 Key 不匹配:中国站 Key 配国际站地址,或反过来,直接 401。这不是 DNS 问题。
  2. 公司代理与 TLS 拦截:企业代理改写证书、DNS 解析异常,会表现为证书错误、超时或 499。
  3. 长请求超时:非流式请求若服务端长时间无响应,网关可能返回 504;官方文档提到 900 秒的场景。长文生成应默认开流式。
  4. 国际站 IP 白名单:国际站可能限制调用 IP,未加入组织白名单会返回 403。这类错误换网络没用,要去控制台配置。

生产环境还应开启连接复用,避免每次请求重新握手;流式请求要设置空闲超时和心跳,防止中间代理把长时间无数据的连接切断。

四、付款与发票:企业落地常卡在这里

技术跑通不等于能上线,采购和财务往往才是瓶颈。按官方 2026 年的说明,企业认证需要提供企业名称、与名称一致的对公银行账户和统一社会信用代码,平台会打入一笔随机金额验证账户归属。个人账号可以升级为企业账号,但企业账号不能反向变更类型。

充值方面,个人可用微信或支付宝;企业既可在线充值,也可对公转账。对公转账必须从已认证主体的账户转出,到账通常需要 1 至 5 个工作日,入账还要约 10 分钟。发票可在线申请,按已消费金额或已充值金额开具,开票主体是北京月之暗面,项目为技术服务费。企业账号的发票抬头只能使用认证主体,个人账号才可选个人或公司抬头。

如果公司要求合同、账期或专用发票,建议先走销售通道确认,不要等充值后才发现流程不匹配。各网关的付款与开票规则不同,签约前同样要书面确认。

五、限流: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 分钟滞后。余额短信提醒也建议打开,别等 429 才发现欠费。

六、故障切换:只对瞬时错误有意义

故障切换不是“所有错误都换一条路”。余额不足、Key 错误、参数错误和内容安全错误,换通道也解决不了,反而会放大账单和排查难度。下面是一个最小结构示例:

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 和耗时,否则无法判断备用通道是否真的在工作。

七、上线前的验收清单

  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 是面向开发者的开放平台接口,账号体系、计费方式和 Key 都不同。

国内直连需要额外网络工具吗?

通常不需要。Moonshot 是中国厂商,中国站接口可在国内直接访问。真正常见的是区域、Key、模型名和代理配置错误。

旧的 moonshot-v1 代码还能用吗?

moonshot-v1 系列已于 2026 年 8 月 31 日下线,继续调用会返回 404。需按官方模型列表迁移到 kimi-k3、kimi-k2.7 或 kimi-k2.6,并重新核对参数。

企业付款必须对公转账吗?

不是唯一方式。企业认证后可在微信、支付宝在线充值和对公转账之间选择;对公转账到账较慢,适合有财务流程的团队。

429 一直不恢复怎么办?

先看 error.type。若是额度不足,充值;若是并发或 TPD 超限,降速等重置;若是服务端过载,按 Retry-After 退避。持续不恢复时保留 request_id 并联系平台支持。

下一步

如果同时用到多家模型、需要统一发票或备用通道,可以先用中商起航 AI 网关创建测试 Key,用同一组请求对比直连和网关的延迟、错误率与账单,再决定生产走哪条路。具体模型与计费口径以模型价格为准。

相关阅读: