跳到主要内容
APMIX.AI

文档

两行配置,任何工具。

下方每个工具都只需要同样的两样东西:apmix 的 Base URL 和你的 API 密钥。粘贴一次密钥,本页所有代码片段即可直接复制。

Base URL

  • https://api.apmix.ai/v1OpenAI 兼容

    Chat Completions 和 Responses。适用于 Codex、Cursor、OpenCode、Pi、Kimi、Grok、Hermes 和各类 SDK。

  • https://api.apmix.aiAnthropic 兼容

    Messages API。适用于 Claude Code 和 Anthropic SDK。

你的配置

获取密钥
base_url
https://api.apmix.ai
api_key
apx_live_YOUR_KEY
model
claude-sonnet-5

选择你的工具

11 个工具

  1. 安装 Claude Code

    需要 Node.js 18 或更高版本。如果已安装可跳过。

    终端
    npm install -g @anthropic-ai/claude-code
  2. 指向 apmix

    Claude Code 使用 Anthropic 协议,因此 Base URL 不带 /v1。在运行它的终端中设置这三个变量。

    export ANTHROPIC_BASE_URL="https://api.apmix.ai"
    export ANTHROPIC_AUTH_TOKEN="apx_live_YOUR_KEY"
    export ANTHROPIC_MODEL="claude-sonnet-5"

    在上方粘贴密钥即可自动填入

  3. 永久生效

    把同样的值写入 ~/.claude/settings.json,每个新终端都能直接使用。脚本会先备份已有文件;如果你已经有配置,请把 env 块合并进去,而不是整个替换。

    mkdir -p ~/.claude
    [ -f ~/.claude/settings.json ] && cp ~/.claude/settings.json ~/.claude/settings.json.bak
    cat > ~/.claude/settings.json <<'EOF'
    {
      "env": {
        "ANTHROPIC_BASE_URL": "https://api.apmix.ai",
        "ANTHROPIC_AUTH_TOKEN": "apx_live_YOUR_KEY",
        "ANTHROPIC_MODEL": "claude-sonnet-5"
      }
    }
    EOF

    在上方粘贴密钥即可自动填入

  4. 运行

    在你的项目中启动 Claude Code。随时可以用 /model 切换模型,目录中的任何 Claude ID 都可用。

    终端
    cd your-project
    claude

验证

确认密钥可用。

列出你的密钥能访问的模型。返回 JSON 列表说明密钥和 URL 都正确;返回 401 说明密钥错误或已过期。

curl https://api.apmix.ai/v1/models -H "Authorization: Bearer apx_live_YOUR_KEY"

在上方粘贴密钥即可自动填入

没有你用的工具?

任何允许设置 OpenAI 或 Anthropic Base URL 的工具都能用 apmix。找到 Base URL 或自定义服务商(Custom provider)字段,粘贴 URL 和密钥,再使用目录中的模型 ID 即可。

还是卡住了?发邮件至 support@apmix.ai,附上工具名称和请求 ID。

错误

每个错误、对应的状态码,以及该怎么做。

API 以标准 HTTP 状态码加一个说明错误的 JSON 体作答。code 永不改变,可以放心用来匹配;message 是写给人读的。每个响应还带有 x-apmix-request-id 头,写信给 support@apmix.ai 时请附上。

两种格式,取决于端点

OpenAI 兼容端点(/v1/chat/completions/v1/responses/v1/models/v1/usage
HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…

{
  "error": {
    "message": "Your monthly allowance is used up. …",
    "type": "insufficient_quota",
    "code": "allowance_exhausted",
    "param": null
  }
}
Anthropic 兼容端点(/v1/messages/v1/messages/count_tokens
HTTP/1.1 429 Too Many Requests
x-apmix-request-id: req_5b1f…

{
  "type": "error",
  "error": {
    "type": "rate_limit_error",
    "message": "Your monthly allowance is used up. …",
    "code": "allowance_exhausted"
  }
}
400请求错误
  • invalid_json

    invalid_request_error

    何时发生: 请求体无法解析为 JSON。

    该怎么做: 检查引号、逗号以及 Content-Type: application/json 头。

  • missing_model

    invalid_request_error

    何时发生: 请求中没有 model 字段。

    该怎么做: 加上目录中的模型 ID,例如 claude-sonnet-4-6-free

  • bad_request

    invalid_request_error

    何时发生: 模型拒绝了某个参数(类型错误、不支持的选项、内容过长)。

    该怎么做: 阅读 message,其中转述了模型给出的原因。修正参数后重新发送。

401认证
  • missing_api_key

    authentication_error

    何时发生: 没有发送密钥。每个端点都需要密钥,包括 GET /v1/models,因为目录内容取决于你的套餐。

    该怎么做: 发送 Authorization: Bearer apx_live_…(Anthropic 端点则用 x-api-key)。

  • invalid_api_key

    authentication_error

    何时发生: 密钥不存在或已被删除。

    该怎么做: 从「控制台 → API 密钥」重新复制,或创建一个新密钥。

  • key_expired

    authentication_error

    何时发生: 密钥已过了你创建时设置的过期日期。

    该怎么做: 创建一个新密钥;有效期无法延长。

403权限
  • model_not_in_plan

    permission_error

    何时发生: 模型存在,但高于你的套餐。免费试用期间只开放 claude-sonnet-4-6-freemessage 中会写明模型名、所需套餐以及你的密钥所属的套餐。

    该怎么做: 用同一个密钥调用 GET /v1/models(只会列出你的套餐能调用的模型),或在「控制台 → 账单」中升级。

  • account_suspended

    permission_error

    何时发生: 账号因违反条款被暂停。

    该怎么做: 用账号绑定的邮箱发邮件至 support@apmix.ai

404未找到
  • model_not_found

    not_found_error

    何时发生: 模型 ID 未知或已下线。

    该怎么做: 使用 /v1/models 或模型页面中的 ID。接受 anthropic/ 这类厂商前缀。

  • not_found

    not_found_error

    何时发生: 路径或方法不存在。

    该怎么做: 使用 POST /v1/chat/completionsPOST /v1/responsesPOST /v1/messagesGET /v1/modelsGET /v1/usage

429限制
  • allowance_exhausted

    insufficient_quota · rate_limit_error

    何时发生: 你本月的权重 token 已用完。typeinsufficient_quota,与 OpenAI 一致。

    该怎么做: 在「控制台 → 账单」中升级,或等待概览页显示的续费日期。

  • daily_limit_reached

    rate_limit_error

    何时发生: 你达到了自己在「设置 → 限额」中设置的每日上限。

    该怎么做: 提高或移除上限,或等到 UTC 午夜。

  • weekly_limit_reached

    rate_limit_error

    何时发生: 你达到了自己在「设置 → 限额」中设置的每周上限。

    该怎么做: 提高或移除上限,或等到周一 00:00 UTC。

  • rate_limit_exceeded

    rate_limit_error

    可安全重试

    何时发生: 单个密钥一分钟内超过 60 个请求。

    该怎么做: 等待 retry-after 秒。把重负载任务分散到多个密钥上。

  • upstream_rate_limited

    rate_limit_error

    可安全重试

    何时发生: 模型本身此刻已饱和。

    该怎么做: 按退避策略重试(1 秒、2 秒、4 秒)。未计费。

502上游
  • upstream_error

    api_error

    可安全重试

    何时发生: 模型返回了损坏或意外的响应。

    该怎么做: 重试一次;若再次出现,换一个模型。未计费。

503不可用
  • upstream_unavailable

    api_error · overloaded_error

    可安全重试

    何时发生: 模型超时或因维护下线。

    该怎么做: 稍后重试或切换模型。未计费。

  • no_provider

    api_error · overloaded_error

    可安全重试

    何时发生: 该模型在我们这边暂时没有可用路由(少见,通常在维护期间)。

    该怎么做: 几分钟后重试,或选择其他模型。

标记为「可安全重试」的错误是暂时性的:等一两秒,再发送同样的请求即可(大多数 SDK 在 429 和 5xx 时会自动重试)。其他错误都需要你先在自己这边做出修改。

有用的响应头

x-apmix-request-id
本次请求的唯一 ID。发邮件至 support@apmix.ai 时请附上。
x-apmix-remaining
本次请求之后,你的月额度还剩多少权重 token。
x-apmix-weighted-tokens
本次请求的花费,已计入模型倍率。
retry-after
需要等待的秒数;随 rate_limit_exceeded 一起返回。