API 文档
LLM API 提供高可用的 Claude API 服务,采用与 Anthropic 一致的 API 格式。更改 Base URL 即可开始使用,无需其他代码改动。
基础地址
https://llmapi.pro
一键配置(推荐)
自动检测问题、配置环境、启动 Claude Code。适用于 Claude Code CLI、VS Code、Cursor、Windsurf、JetBrains(反重力)等所有 IDE。
irm llmapi.pro/setup.ps1 | iex
CMD 用户请先输入 powershell 再执行
curl -fsSL llmapi.pro/setup.sh | bash
脚本会引导你输入 API Key,自动完成所有配置并启动 Claude Code。
三步开始
设置环境变量
export ANTHROPIC_BASE_URL=https://llmapi.pro
export ANTHROPIC_API_KEY=your-api-key
启动 Claude Code
打开终端,输入 claude 即可开始使用。
claude
Claude Code 集成
配置 Claude Code CLI,将所有请求通过 LLM API 路由。设置两个环境变量,然后像往常一样启动 Claude Code,无需插件或补丁。
临时设置(仅当前 shell 会话有效)
export ANTHROPIC_BASE_URL=https://llmapi.pro
export ANTHROPIC_API_KEY=your-api-key
永久设置(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export ANTHROPIC_BASE_URL=https://llmapi.pro' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY=your-api-key' >> ~/.zshrc
source ~/.zshrc
然后正常启动 Claude Code
claude
环境变量
| 变量 | 必填 | 说明 |
|---|---|---|
ANTHROPIC_BASE_URL |
是 | 设置为 https://llmapi.pro,将请求代理到 LLM API。 |
ANTHROPIC_API_KEY |
是 | 你的 LLM API 密钥(以 sk-llmapi- 开头)。在控制台获取。 |
支持的模型
支持完整的 Claude 模型系列,与官方 API 使用相同的模型。
| 模型 | 说明 | 上下文 |
|---|---|---|
claude-opus-4-8 |
Anthropic 最强大的模型。世界级编码能力,复杂推理,深度分析。 | 1M tokens |
claude-sonnet-4-7 |
智能与速度的最佳平衡。Claude Code 默认模型。 | 1M tokens |
claude-haiku-4-5 |
最快且最具性价比。适合轻量任务和高吞吐场景。 | 200K tokens |
Hermes Agent 集成
LLM API 走 Anthropic 协议(/v1/messages、x-api-key、SSE、tool_use),直接接 Hermes 的 anthropic_messages 协议,无需改 Hermes 代码。
3 步配置
编辑 ~/.hermes/config.yaml
custom_providers:
- name: llmapi
base_url: https://llmapi.pro
api_key: ${LLMAPI_KEY}
api_mode: anthropic_messages
写入 Key,选择模型
在 ~/.hermes/.env 里加 API Key,然后在 Hermes 中切换模型:
LLMAPI_KEY=sk-cp-xxxxxxxx
/model custom:llmapi:claude-sonnet-4-6
为什么用 LLM API 做 Hermes 后端
- 原生 Anthropic 协议(不经 OpenAI 兼容层翻译,工具调用 / SSE 都对齐 Hermes 的
anthropic_messages)。 - 一把 Key,多上游号池自动 failover:Sonnet/Opus 级别 + M2 级别兼容路由可选。
- 支持包月订阅,长会话成本可控;按 Token 计费仍可用。
- 国内出口,比直连 anthropic.com 快很多。
已知坑
- 保险设置:首次切换后跑一次
hermes config set model.api_mode anthropic_messages,命名 custom provider 切换后显式设一次api_mode。Hermes ≥ v0.5 是 no-op;老版本作为安全兜底。 - LLM API 是 Claude 协议兼容中继,不是 Anthropic 官方。LLM API 上以 “Claude *” 命名的模型路由到 Claude-compatible 上游,具体路由请查看下方 模型列表。
OpenAI / Codex CLI 接入
除了 Anthropic 协议的 /v1/messages 端点,LLM API 在同一个 base URL 下还提供 OpenAI 兼容端点。把任何 OpenAI SDK、LiteLLM 或兼容 CLI 指向 https://llmapi.pro/v1,开箱即用。
端点:
POST /v1/chat/completions— OpenAI Chat Completions API (OpenAI SDK, LiteLLM, older Codex versions)POST /v1/responses— OpenAI Responses API (Codex CLI0.130+)
Codex CLI
Codex CLI 0.130+ 使用 OpenAI Responses API。在 ~/.codex/config.toml 里加一段:
model = "claude-sonnet-4-7"
model_provider = "llmapi"
[model_providers.llmapi]
name = "llmapi"
base_url = "https://llmapi.pro/v1"
wire_api = "responses"
env_key = "OPENAI_API_KEY"
然后导出 LLM API key 并运行 Codex:
export OPENAI_API_KEY=sk-relay-your-key-here
codex exec "list the files in this folder"
OpenAI SDK (Python)
设 base_url 和 api_key 即可,其他代码不用改。
from openai import OpenAI
client = OpenAI(
base_url="https://llmapi.pro/v1",
api_key="sk-relay-your-key-here",
)
resp = client.chat.completions.create(
model="claude-sonnet-4-7",
messages=[{"role": "user", "content": "Say hello in 3 words"}],
)
print(resp.choices[0].message.content)
OpenAI SDK (Node.js)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://llmapi.pro/v1',
apiKey: 'sk-relay-your-key-here',
});
const resp = await client.chat.completions.create({
model: 'claude-sonnet-4-7',
messages: [{ role: 'user', content: 'Say hello in 3 words' }],
});
console.log(resp.choices[0].message.content);
LiteLLM
LiteLLM 支持任何 OpenAI 兼容端点,用 openai/<model> 前缀即可:
import litellm
resp = litellm.completion(
model="openai/claude-sonnet-4-7",
api_base="https://llmapi.pro/v1",
api_key="sk-relay-your-key-here",
messages=[{"role": "user", "content": "hello"}],
)
print(resp.choices[0].message.content)
curl
curl https://llmapi.pro/v1/chat/completions \
-H "Authorization: Bearer sk-relay-your-key-here" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-7",
"messages": [{"role":"user","content":"hello"}],
"stream": false
}'
说明
- 完整支持流式。传
stream: true即可拿 SSE(chat.completion.chunk事件),Codex CLI 流式开箱即用。 - 工具调用双向支持。OpenAI 风格的
tools会在内部翻译成 Anthropic 的tool_use,响应再翻译回tool_calls。 - 同一把 API key 同时支持
/v1/messages和/v1/chat/completions,按客户端原生协议选即可。 - 可用模型与 Anthropic 端点一致。OpenAI 形状的响应里 model 字段会回显你请求的名字。
认证
每个 API 请求都必须包含有效的 API Key。你可以通过以下两种请求头传递密钥。在控制台创建和管理密钥。
支持的认证头
| 请求头 | 格式 | 说明 |
|---|---|---|
x-api-key |
sk-llmapi-xxxx |
主要方式。兼容 Anthropic SDK。 |
Authorization |
Bearer sk-llmapi-xxxx |
备选的 Bearer Token 方式。 |
示例:使用 x-api-key 的 cURL 请求
curl https://llmapi.pro/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: sk-llmapi-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-7",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Explain quantum computing in simple terms."}
]
}'
安全提示:切勿在客户端代码或公开仓库中暴露你的 API Key。如果密钥泄露,请立即从控制台删除并创建新密钥。
API 参考
/v1/messages
创建消息。完全兼容 Anthropic Messages API。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model |
string | 是 | 模型标识,如 claude-sonnet-4-7 |
messages |
array | 是 | 消息对象数组,包含 role(user | assistant)和 content。 |
max_tokens |
integer | 是 | 响应中生成的最大 Token 数。 |
system |
string | 否 | 系统提示词,用于设定模型的行为和上下文。 |
temperature |
number | 否 | 采样温度,范围 0 到 1。值越低结果越确定。 |
tools |
array | 否 | 模型可使用的工具定义列表(函数调用)。 |
tool_choice |
object | 否 | 控制工具使用:auto、any 或指定工具名称的 tool。 |
stream |
boolean | 否 | 启用 Server-Sent Events 流式传输。默认:false。 |
非流式响应
当 stream 为 false(默认)时,API 返回单个 JSON 对象:
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Hello! I can help you with a wide range of tasks..."
}
],
"model": "claude-sonnet-4-7",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 58
}
}
流式响应 (SSE)
当 stream 为 true 时,响应通过 Server-Sent Events 传输。每个事件包含 event 字段和 JSON data 字段:
event: message_start
data: {"type":"message_start","message":{"id":"msg_01...","type":"message","role":"assistant","content":[],"model":"claude-sonnet-4-7","usage":{"input_tokens":12,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"! I can"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":58}}
event: message_stop
data: {"type":"message_stop"}
SSE 事件类型
| 事件 | 说明 |
|---|---|
message_start |
在开始时发送一次。包含消息对象和元数据。 |
content_block_start |
标记新内容块的开始(text 或 tool_use)。 |
content_block_delta |
增量内容更新。拼接 delta.text 以构建完整响应。 |
content_block_stop |
内容块已完成。 |
message_delta |
最终消息元数据,包括 stop_reason 和总用量。 |
message_stop |
流结束。关闭连接。 |
模型
来自 Anthropic 的最新 Claude 模型系列。
| 模型 | 说明 | 上下文 | 最大输出 |
|---|---|---|---|
claude-opus-4-8 |
Anthropic 最强大的模型。世界级编码能力,复杂推理,深度分析。 | 1M tokens | 128K tokens |
claude-sonnet-4-7 |
智能与速度的最佳平衡。Claude Code 默认模型。 | 1M tokens | 128K tokens |
claude-haiku-4-5 |
最快且最具性价比。适合轻量任务和高吞吐场景。 | 200K tokens | 64K tokens |
错误处理
LLM API 使用标准 HTTP 状态码。错误响应始终返回包含机器可读 type 和人类可读 message 的 JSON 主体。
错误响应格式
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "Invalid API key provided."
}
}
HTTP 状态码
| 状态码 | 错误类型 | 说明 | 建议操作 |
|---|---|---|---|
400 |
invalid_request_error |
请求体格式错误或缺少必填参数。 | 检查 JSON 负载和必填字段。 |
401 |
authentication_error |
API Key 无效或缺失。 | 检查 x-api-key 是否正确设置。 |
403 |
permission_error |
权限不足或账户已暂停。 | 检查账户状态和套餐权限。 |
429 |
rate_limit_error |
请求过多,超出速率限制。 | 退避并重试。参见速率限制。 |
500 |
api_error |
服务器内部错误。 | 短暂延迟后重试。如持续出现请联系支持。 |
503 |
overloaded_error |
上游服务暂时过载。 | 稍等片刻,使用指数退避重试。 |
速率限制
速率限制因套餐而异,按 API Key 执行。超出限制时,API 返回 429 状态码。升级套餐可获得更高吞吐量。
各套餐限制
| 套餐 | 请求配额 | 每月 Token 配额 |
|---|---|---|
| Free | 40 / 5h, 200 / week | 不限 |
| Pro | 400 / 5h, 2,000 / week | 不限 |
| Max 5x | 1,200 / 5h, 6,000 / week | 不限 |
| Max 20x | 3,000 / 5h, 15,000 / week | 不限 |
速率限制响应头
每个 API 响应都包含以下头信息,帮助你实时跟踪用量:
anthropic-ratelimit-requests-limit: 60
anthropic-ratelimit-requests-remaining: 58
anthropic-ratelimit-requests-reset: 2026-04-08T12:01:00.000Z
anthropic-ratelimit-tokens-limit: 800000
anthropic-ratelimit-tokens-remaining: 800000
| 响应头 | 说明 |
|---|---|
x-ratelimit-limit |
你的套餐每分钟允许的最大请求数。 |
x-ratelimit-remaining |
当前速率限制窗口中的剩余请求数。 |
x-ratelimit-reset |
速率限制窗口重置的 ISO 8601 时间戳。 |