Documentation

开发者文档

模型 API、图片与视频生成、音频、联网搜索,以及各客户端接入方式。

文本对话

文本对话有两个入口,都指向同一批模型:

入口协议适合
POST /chat/completionsOpenAI 兼容大多数 SDK、客户端
POST /messagesAnthropic 兼容原生 Anthropic 客户端、Claude Code

网关自动处理的事

你不需要为下面这些做额外配置:

  1. 请求头重建:只带我们的渠道凭证,你的头不透传
  2. 协议路由:按模型决定上游走哪种协议,必要时自动桥接
  3. 缓存注入:请求里没有 cache_control 时,自动在合适位置打断点;你自己打了断点就原样保留,不重复打
  4. 参数兼容清洗:部分模型不接受某些字段,会按模型能力自动去掉或纠正

OpenAI 格式

curl https://sheverai.com/8811c8/api/llm/v1/chat/completions \
  -H "Authorization: Bearer $LOKO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<模型 id>",
    "messages": [
      {"role": "system", "content": "你是严谨的技术助手"},
      {"role": "user", "content": "解释一下什么是幂等"}
    ],
    "stream": false
  }'

常用字段:

字段类型说明
modelstring必填,取自 /models
messagesarray必填,至少一条
streamboolean是否流式,默认 false
max_tokens / max_completion_tokensinteger二选一;两个都传且值不同会返回 400

Anthropic 格式

curl https://sheverai.com/8811c8/api/llm/v1/messages \
  -H "Authorization: Bearer $LOKO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<模型 id>",
    "max_tokens": 1024,
    "system": "你是严谨的技术助手",
    "messages": [
      {"role": "user", "content": "解释一下什么是幂等"}
    ]
  }'

与 OpenAI 格式的三点差别:

  1. system 是独立字段,不放在 messages 里
  2. max_tokens 必填
  3. 返回结构是 content 数组,不是 choices

流式

两个入口都支持 stream: true,返回 SSE。逐条读取 data: 行,遇到 data: [DONE] 结束。

工具调用

OpenAI 格式用 tools + tool_choice;Anthropic 格式用 tools 并把结果以 tool_result 回传。工具调用与普通对话共用同一套计费口径。

常见错误

现象原因处理
400 MODEL_PROTOCOL_MISMATCH模型不支持当前协议换另一个入口
400 max_tokens 冲突两个上限字段值不一致只传一个
402积分不足充值后重试
401密钥无效重新创建密钥
429触发限流指数退避后重试