OlithmRouter API 文档

OpenAI 相容的统一 API 入口。把 SDK 的 Base URL 指向 OlithmRouter,即可用同一组金钥呼叫已启用的模型。

Base URLhttps://api.olithm.eu.cc/v1 认证Authorization: Bearer sk-...(或 x-api-key) 协议OpenAI 相容(Chat Completions / Completions / Embeddings;Responses 依上游支援) 串流支援 SSE(stream: true,以 data: [DONE] 结束)
本页所有范例请把 sk-你的金钥 换成你在控制台 → API 金钥建立的字串。

1. 认证

每次请求在标头带上你的 API 金钥:

Authorization: Bearer sk-你的金钥

也接受 x-api-key: sk-你的金钥。金钥绑定你的账号与分组,会影响可用模型与计费倍率。

2. 可用模型

即时模型清单(含价格与分组):

curl https://olithm.eu.cc/api/relay/models

目前启用的模型:

载入中…

模型 ID 以清单中的 key 为准;价格为各分组的最低价(USD / 1M tokens)。

3. 快速开始

curl

curl {{BASE}}/chat/completions \
  -H "Authorization: Bearer sk-你的金钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "messages": [{"role": "user", "content": "你好,请自我介绍"}]
  }'

Python(OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    base_url="https://api.olithm.eu.cc/v1",
    api_key="sk-你的金钥",
)

resp = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

Node.js(openai)

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.olithm.eu.cc/v1",
  apiKey: "sk-你的金钥",
});

const resp = await client.chat.completions.create({
  model: "deepseek-v4.1-flash",
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);

注意:OpenAI SDK 的 base_url 需含 /v1。

4. Chat Completions

POST /v1/chat/completions

参数类型说明
modelstring模型 ID(见上方清单)
messagesarray对话讯息(role/content)
streambool是否以 SSE 串流回传
max_tokensint最大输出 token(可选)
temperaturefloat取样温度(可选)

回应为标准 OpenAI chat.completion 结构,并包含 usage(prompt/completion tokens)供计费。

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "deepseek-v4.1-flash",
  "choices": [
    {"index": 0, "message": {"role": "assistant", "content": "你好!"}, "finish_reason": "stop"}
  ],
  "usage": {"prompt_tokens": 12, "completion_tokens": 20, "total_tokens": 32}
}

5. 串流输出

加上 "stream": true,回应为 text/event-stream:

curl {{BASE}}/chat/completions \
  -H "Authorization: Bearer sk-你的金钥" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "stream": true,
    "messages": [{"role": "user", "content": "写一首短诗"}]
  }'

事件格式:多个 data: {...} chunk,最后以 data: [DONE] 结束。串流请求同样会计费。

6. Embeddings

POST /v1/embeddings(需上游模型支援)

curl {{BASE}}/embeddings \
  -H "Authorization: Bearer sk-你的金钥" \
  -H "Content-Type: application/json" \
  -d '{"model": "你的模型", "input": "hello world"}'

7. 模型列表

公开的模型与价格清单(无需金钥):

GET https://olithm.eu.cc/api/relay/models

GET /v1/models 会转发至上游;若上游支援 OpenAI 模型列表即可使用。

8. 错误码

状态码type说明
401auth_error金钥无效或不存在
402billing_error余额不足 / 金钥额度用尽
403auth_error金钥停用/撤销/过期、IP 不符、模型或分组不允许
429rate_limit超过 5h/1d/7d 消费上限或并发上限
502upstream_error所有上游失败
503gateway_error闸道停用或无可用上游
{"error": {"message": "invalid api key", "type": "auth_error"}}

9. 速率限制与额度

每个 API 金钥可设定:

项目说明
额度上限金钥累计消费上限(USD,0 = 无限)
5 小时 / 1 天 / 7 天各时间窗的消费上限(USD,0 = 不限)
并发上限同时进行中的请求数(0 = 不限)
IP 白/黑名单支援单一 IP 与 CIDR

超限回 429 rate_limit;额度用尽回 402 billing_error。

10. 计费

费用 =(输入 tokens × 输入单价 + 输出 tokens × 输出单价 + 快取 tokens × 快取单价)/ 1,000,000 × 分组倍率。

单价以模型设定为准;分组倍率依你的金钥所属分组。每次呼叫的 token、费用、首字/总耗时都会记录在控制台 → 用量日志,可查看详情与汇出 CSV。

余额不足时请求会被拒绝(402)。可在控制台 → 钱包查看余额与订单,并前往发卡站储值。

11. 客户端接入

OlithmRouter Connect(一键配置,推荐)

Windows 客户端,登入后选好分组与模型,按「一键配置」即自动写入 Codex / Claude Code / Gemini CLI / OpenCode 的设置文件。既有配置会先备份再合并,不会覆盖你其他的供应商。

下载 OLAPIConnect.exe

所有 OpenAI 相容的客户端也都可用更换 Base URL + API Key 的方式接入。

OpenAI SDK / 一般工具

export OPENAI_BASE_URL="https://api.olithm.eu.cc/v1"
export OPENAI_API_KEY="sk-你的金钥"

Gemini CLI

GOOGLE_GEMINI_BASE_URL="https://api.olithm.eu.cc/v1beta"
GEMINI_API_KEY="sk-你的金钥"

OpenCode

{
  "provider": {
    "olapi": {
      "npm": "@ai-sdk/openai-compatible",
      "options": { "baseURL": "https://api.olithm.eu.cc/v1", "apiKey": "sk-你的金钥" },
      "models": { "deepseek-v4.1-flash": {} }
    }
  }
}

CC-Switch

新增 OpenAI 相容供应商:Base URL 填 https://api.olithm.eu.cc/v1,API Key 填你的金钥。

三种原生协议都支援:OpenAI(/v1/chat/completions)、Anthropic(/v1/messages)、Gemini(/v1beta/models/{model}:generateContent,串流加 ?alt=sse)。网关会把三种形状互转,上游只需是 OpenAI 相容即可。

12. 常见问题

「福利分组中数据将被记录,谨慎使用」是什么意思?

0.01 倍率分组(以及所有标注为福利分组者)的生成内容与输入内容会提供给我们的合作方用于模型训练。数据不会直接对外泄露,但很可能被记录在合作方模型的数据库中,未来也存在经由供应商 AI 模型泄露您数据的可能。请勿在该类分组中提交任何敏感信息、密钥、个人信息或商业机密;需要保密的内容请使用低价通道或稳定通道。

「企业用体验分组」是什么?

企业分组是我们独家提供给与我们洽谈企业级 LLM 方案客户的测试通道,不建议一般使用。普通用户或团队若估算当周用量超过 1 Billion tokens,即可联系我们洽谈。后续我们也会为洽谈过企业级 LLM 方案的客户提供更好的服务支持(专属报价、接入评估与容量规划、1 对 1 技术支持通道)。

充值后可以退款吗?

充值后不支持退款,请按实际用量充值。余额不会过期,也没有订阅或月费。若对账目有疑问(扣费异常、重复扣款),请至客服核对,人工客服会在 72 小时内处理。

401 invalid api key?

确认金钥完整(sk- 开头、无多余空白)、未被停用/撤销,且 Base URL 对 OpenAI SDK 需含 /v1。

402 insufficient balance?

账号余额不足或金钥额度用尽。前往控制台 → 钱包查看,并至发卡站储值。

403 model not allowed?

金钥的模型白名单或所属分组不包含此模型。请在控制台调整金钥分组/模型限制。

429 rate limit?

超过金钥的 5h/1d/7d 消费上限或并发上限;可调高限制或稍后再试。

串流很慢/首字很久?

推理型模型首字可能较久;建议使用 stream: true 并提高客户端读取逾时。服务器支援长达 600 秒的回应。不会因为首字慢就切换上游——慢但可用的上游会一直等到它回应,只有上游真的返回错误(断线、报错、总超时)才自动切换到下一个供应商。

DeepSeek 工具调用一直失败或被截断?

DeepSeek 系模型做 agent 工具调用时有四种常见坏法:参数 JSON 截断、把调用写成代码块而非 tool-call 通道、字段与 schema 不符、失败后原样重发形成死循环。在 agent 的 system prompt 最前面加上这段即可大幅减少:

工具调用只能通过 tool-call 通道发起,绝不写成正文或代码块。
参数必须是完整合法的 JSON:无注释、无尾逗号、括号全部闭合;
严格按 schema 的字段名与类型填写,不发明字段,必填字段不可省略。
调用失败时:先逐字读错误信息,修正后重发,禁止原样重发同一份参数;
同一工具连续失败 2 次后必须换方法(改用别的工具 / 拆小参数 / 说明无法完成)。
单个参数超过 8000 字符前必须先精简,避免输出被截断。
独立的调用可并行;有依赖时必须等前一个结果。

外层建议:同一工具+同一参数最多自动重试 1 次;连续 3 次失败就中止本轮并回报原因,不要让循环烧 token。

金钥安全

请存放于环境变数或密钥管理服务,勿写入前端或提交到 Git。若外泄请立即在控制台撤销并重建。