OpenCode AI API · 接入文档

OpenAI / Responses / Anthropic 三协议兼容的 AI 网关 · 免费模型 · 支持思考模式、工具调用、图片输入

服务运行中 · 模型目录每 5 分钟自动刷新

1基本信息

下面是接入所需的全部信息。API Key 请向服务提供方领取(看你这份文档的人就是使用者)。

Base URLhttps://api.aurara.online/v1
API Key(向管理员领取,形如 4cd32b…244b 的 48 位十六进制串)
健康检查https://api.aurara.online/healthz 返回 {"status":"ok"} 即正常
兼容协议/chat/completions /responses /messages(Anthropic)
传输方式JSON 与 SSE 流式输出(stream:true)、工具调用、结构化输出、图片输入全部支持

2快速开始(curl)

把下面的 <API_KEY> 替换成你的 Key 即可复制使用。三种协议任选其一。

2.1 OpenAI Chat Completions 格式(最通用,推荐)
curl · chat/completions
curl https://api.aurara.online/v1/chat/completions \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"model":"big-pickle","messages":[{"role":"user","content":"你好,介绍一下你自己"}]}'
返回示例(注意思考内容在 message.reasoning_content,最终答案在 message.content):
{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "你好!…",
      "reasoning_content": "…模型内部的思考过程…"
    }
  }],
  "usage": { "prompt_tokens": 471, "completion_tokens": 14 }
}
2.2 Responses 格式(OpenAI 新协议)
curl · responses
curl https://api.aurara.online/v1/responses \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"model":"big-pickle","input":"你好,介绍一下你自己"}'
2.3 Anthropic Messages 格式(Claude 系工具)
curl · messages
curl https://api.aurara.online/v1/messages \
  -H "x-api-key: <API_KEY>" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{"model":"big-pickle","max_tokens":1024,"messages":[{"role":"user","content":"你好,介绍一下你自己"}]}'

3思考模式(Reasoning)

所有模型均为推理型模型。等级从弱到强:minimal → low → medium → high → xhigh → maxnone 关闭思考。客户端显式指定的等级永远优先于服务端默认值。

三种协议各自传参方式(均已实测生效)
协议请求体参数响应中思考内容位置
Chat "reasoning_effort": "high"(顶层字段) message.reasoning_content
Responses "reasoning": {"effort": "low"} output 数组里的 type:"reasoning" 项
Anthropic "thinking":{"type":"enabled","budget_tokens":1024};关闭用 {"type":"disabled"} content 数组里的 type:"thinking" 块
budget_tokens 与等级的换算:8192 ≈ high,32000 ≈ xhigh,其余数值按比例取档。Anthropic 格式下同时传 output_config.effort 时以显式等级为准。
示例:Chat 格式开 / 关思考
开启 high 思考
{
  "model": "big-pickle",
  "reasoning_effort": "high",
  "messages": [{"role": "user", "content": "…"}]
}
关闭思考(none)
{
  "model": "big-pickle",
  "reasoning_effort": "none",
  "messages": [{"role": "user", "content": "…"}]
}
当前服务端默认思考等级为 high:不传参数也会思考。想全局改默认值由服务方在控制台配置 reasoning.effort(或按模型覆盖 reasoning.effort_by_model)。

4图形客户端配置

把下面的信息填进客户端的"自定义 OpenAI 服务"或"添加提供商"设置里,然后选模型即可。

客户端填写方式
Cherry Studio 设置 → 模型服务 → 添加自定义提供商:
· API 地址(Base URL):https://api.aurara.online/v1
· API Key:你的 Key
· 模型名:从下方模型列表选,如 big-pickle(或点"获取模型列表"自动拉取)
Cline / Roo Code API 提供商选"OpenAI Compatible":Base URL 填 https://api.aurara.online/v1,填入 Key 与模型名。支持工具调用(MCP/函数工具)。
LobeChat 模型服务商 → OpenAI:自定义 OpenAI 服务地址 https://api.aurara.online/v1 + Key + 模型名。
Claude Code 命令行设置环境变量后直接使用 Anthropic 协议:
export ANTHROPIC_BASE_URL=https://api.aurara.online
export ANTHROPIC_AUTH_TOKEN=<API_KEY>
(模型名在对话中或配置里写,如 big-pickle

5代码接入示例

Python(OpenAI SDK,Chat 格式)
python · openai
from openai import OpenAI

client = OpenAI(
    api_key="<API_KEY>",
    base_url="https://api.aurara.online/v1",
)

resp = client.chat.completions.create(
    model="big-pickle",
    messages=[{"role":"user","content":"你好,介绍一下你自己"}],
)
print(resp.choices[0].message.content)
Python(Anthropic SDK)
python · anthropic
from anthropic import Anthropic

client = Anthropic(
    api_key="<API_KEY>",
    base_url="https://api.aurara.online",
)

resp = client.messages.create(
    model="big-pickle",
    max_tokens=1024,
    messages=[{"role":"user","content":"你好,介绍一下你自己"}],
)
print("".join(b.text for b in resp.content if b.type == "text"))
Node.js(fetch,流式)
node · fetch · stream
const resp = await fetch("https://api.aurara.online/v1/chat/completions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <API_KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "big-pickle",
    stream: true,
    messages: [{ role: "user", content: "你好,介绍一下你自己" }],
  }),
});
const reader = resp.body.getReader();
const decoder = new TextDecoder();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  process.stdout.write(decoder.decode(value));
}

6可用模型(免费档)

当前网关暴露 9 个免费模型,全部支持思考与工具调用,多数支持结构化输出。也可通过 GET /v1/models 实时获取。厂商信息与模型描述依据 OpenCode 官方模型目录

模型 ID(点击复制)上下文窗口最大输出能力说明
免费档限额 ≠ 厂商原生规格:上表是本网关(OpenCode 免费通道)的实际限额,来自 GET /v1/models 实时数据,与官方目录 models.opencode.ai/api.json[opencode] 条目 limit 字段一致。部分模型厂商原生支持更高规格,但免费通道按上表限额执行,超限会被拒绝或截断:
模型本网关免费档
(上下文/最大输出)
厂商原生规格
(官方目录)
mimo-v2.5-free200,000 / 32,000小米 MiMo-V2.5:1,048,576 / 131,072
mimo-v2.6-flash-free200,000 / 32,000小米 MiMo-V2.6-Flash:1,048,576 / 131,072
deepseek-v4-flash-free200,000 / 128,000DeepSeek V4 Flash:1,000,000 / 384,000
ling-3.0-flash-fin-free262,144 / 32,768InclusionAI Ling 3.0 Flash Fin:262,144 / 235,929
muse-spark-1.2/1.3-contributor-free1,048,576 / 131,072与 Meta 官方规格一致
nemotron-3-ultra-free1,000,000 / 128,000与 NVIDIA 官方规格一致
nemotron-3.5-lightning-free262,144 / 262,144与 NVIDIA 官方规格一致
"上下文窗口"是提示词输入与输出的总 token 上限,"最大输出"是单次回复的 token 上限;多数模型的输入上限未单独公开,输入同样占用窗口。个别免费模型偶尔会返回 "Model is unavailable"(上游临时不可用),换一个模型重试即可;模型下线的可能性也存在,服务方会定期更新此列表。

7常见问题

8服务信息

项目说明
网关opencode2api v1.3.4 · 自动多上游路由/重试 · 模型目录 5 分钟刷新
模型目录刷新每 5 分钟自动同步,GET /v1/models 是最新可用集合
可携带能力文本、图片输入、思考、函数工具与工具结果、结构化输出(JSON Schema)