Chat Completions
兼容 OpenAI Chat API,支持 GPT / Grok / Claude / Gemini 系列,流式 SSE 与 function calling。
完全兼容 OpenAI Chat Completions API。所有标准参数 (messages / temperature / top_p / stream / tools / response_format 等) 透传,可直接用 OpenAI SDK 调用。
这条接口是 CokeAPI 所有文本模型的统一入口。支持模型见 模型一览;如果你只接 OpenAI 兼容上游,也可以选用 POST /v1/responses。
视觉模型支持 OpenAI 风格的 image_url 内容块。请优先通过 文件上传接口 获取图片 URL 后再传入;网关会按目标上游自动转换为 Claude/Gemini/GPT 等协议格式。
接口概览
| 项目 | 值 |
|---|---|
| Method | POST |
| URL | https://cokeapi.com/v1/chat/completions |
| 鉴权 | Authorization: Bearer sk-xxxxxxxx |
| Content-Type | application/json |
| 返回格式 | OpenAI Chat Completion / SSE chunk |
| 适用模型 | GPT / Grok / Claude / Gemini / Free API 路由 |
Apifox 调试
如果你用 Apifox 管理接口,可以按下面的变量创建环境:
| 变量 | 值 |
|---|---|
base_url | https://cokeapi.com |
api_key | sk-xxxxxxxx |
chat_model | gpt-5.5 |
然后新建接口 POST {{base_url}}/v1/chat/completions,鉴权选择 Bearer Token,Token 填 {{api_key}}。完整的 Apifox 导入模板、断言和自动化测试建议见 接入 Apifox。
各种插件 / 软件使用教程
大部分插件和软件都只需要填写同一组配置:接口地址、API Key、模型名。下面按原版 Apifox 文档的写法,把可复制的配置项先列出来。
通用配置项
| 配置项 | 填写内容 | 说明 |
|---|---|---|
| API 类型 | OpenAI / OpenAI Compatible | Cursor、Cherry Studio、OpenClaw、Apifox 等都选择 OpenAI 兼容 |
| Base URL | https://cokeapi.com/v1 | SDK、桌面客户端、插件通常填这个 |
| 接口地址 | https://cokeapi.com/v1/chat/completions | Apifox / Postman 手动建接口时使用完整 URL |
| API Key | sk-xxxxxxxx | 在控制台创建的 CokeAPI Key |
| Header | Authorization: Bearer sk-xxxxxxxx | 手动调试时需要加这个请求头 |
| 模型名 | gpt-5.5 / claude-sonnet-4-6 / grok-4.20-fast / gemini-3.5-flash | 按目标模型文档填写 |
| GPTs 模型名 | gpt-4-gizmo-g-xxxx | GPTs 链接里的 g-xxxx 拼到 gpt-4-gizmo- 后面 |
| 流式输出 | stream=true | 聊天客户端一般建议开启 |
例如这个 GPTs:
https://chatgpt.com/g/g-B3hgivKK9-write-for-me那么模型名填写:
gpt-4-gizmo-g-B3hgivKK9Node.js 基础对话
先安装 OpenAI SDK:
npm i openai然后把 baseURL 改成 CokeAPI,apiKey 改成你的 Key,model 改成要调用的模型:
const OpenAI = require("openai");
const openai = new OpenAI({
apiKey: "sk-xxxxxxxx",
baseURL: "https://cokeapi.com/v1",
});
async function main() {
const response = await openai.chat.completions.create({
model: "gpt-5.5",
messages: [
{ role: "user", content: "你好,简单介绍一下你自己" },
],
stream: false,
});
console.log(response.choices[0].message.content);
}
main().catch(console.error);常见软件填写方式
| 软件 / 插件 | API 类型 | Base URL | API Key | 模型名示例 | 详细教程 |
|---|---|---|---|---|---|
| Apifox | Bearer Token / OpenAPI | https://cokeapi.com 或 https://cokeapi.com/v1 | sk-xxxxxxxx | gpt-5.5 | 接入 Apifox |
| Cursor | OpenAI Compatible | https://cokeapi.com/v1 | sk-xxxxxxxx | gpt-5.5 | 接入 Cursor |
| Cherry Studio | OpenAI Compatible | https://cokeapi.com/v1 | sk-xxxxxxxx | claude-sonnet-4-6 | 接入 Cherry Studio |
| OpenClaw | CokeAPI / OpenAI Compatible | https://cokeapi.com/v1 | sk-xxxxxxxx | grok-4.20-fast | OpenClaw 接入 |
| Claude Code | Anthropic / OpenAI Compatible | https://cokeapi.com 或 https://cokeapi.com/v1 | sk-xxxxxxxx | claude-sonnet-4-6 | 接入 Claude Code |
| Codex CLI | OpenAI Responses | https://cokeapi.com/v1 | sk-xxxxxxxx | codex-5.3 | Codex 配置教程 |
| Vercel AI SDK | OpenAI Compatible | https://cokeapi.com/v1 | sk-xxxxxxxx | gpt-5.5 | Vercel AI SDK |
Apifox 手动建接口
| 项目 | 填写内容 |
|---|---|
| Method | POST |
| URL | {{base_url}}/v1/chat/completions |
| Auth | Bearer Token:{{api_key}} |
| Header | Content-Type: application/json |
| Body | JSON |
Body 示例:
{
"model": "gpt-5.5",
"messages": [
{
"role": "user",
"content": "你好"
}
],
"stream": false
}调用示例
请求参数
完全兼容 OpenAI Chat Completions。下表按 Apifox/OpenAPI 文档常用顺序列出核心字段:
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | — | 模型 ID,见 模型一览。如启用 GPTs/Gizmo 路由,可使用 gpt-4-gizmo-g-xxxx |
| messages | array | 是 | — | 对话历史 [{ role, content }],content 可为字符串或多模态 block 数组 |
| temperature | number | 否 | 1 | 采样温度,范围 0–2。值越高越随机 |
| top_p | number | 否 | 1 | 核采样参数。通常调整 temperature 或 top_p 其中一个即可 |
| n | int | 否 | 1 | 为每个输入生成的候选回复数量 |
| stream | bool | 否 | false | true 时返回 SSE 流式响应,以 data: [DONE] 结束 |
| stop | string/array | 否 | — | 停止生成的序列,最多 4 个 |
| max_tokens | int | 否 | — | 最大生成 token 数 |
| presence_penalty | number | 否 | 0 | 主题重复惩罚,范围 -2 到 2 |
| frequency_penalty | number | 否 | 0 | 词频重复惩罚,范围 -2 到 2 |
| logit_bias | object | 否 | — | token 偏置映射,取值范围 -100 到 100 |
| user | string | 否 | — | 业务侧最终用户 ID,便于审计和排查滥用 |
| response_format | object | 否 | — | JSON 输出格式,例如 { "type": "json_object" } |
| seed | int | 否 | — | 尽力保持确定性采样;不保证所有上游都支持 |
| tools | array | 否 | — | function calling 工具定义,透传上游 |
| tool_choice | string/object | 否 | auto | 控制是否调用工具,可为 none、auto 或指定函数 |
GPTs / Gizmo 模型名
如果后台已配置 GPTs/Gizmo 路由,模型名格式为 gpt-4-gizmo-<gizmo_id>。
| ChatGPT GPTs URL | 请求中的 model |
|---|---|
https://chatgpt.com/g/g-B3hgivKK9-write-for-me | gpt-4-gizmo-g-B3hgivKK9 |
未配置该路由时会返回 model not configured。生产接入前请先用 GET /v1/models 确认模型 ID 已存在。
响应示例
非流式
{
"id": "chatcmpl-01HX...",
"object": "chat.completion",
"created": 1714200000,
"model": "gpt-4o-mini",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "CokeAPI 是把 GPT 与 GROK 能力封装成 OpenAI 兼容协议的 AIGC 接口服务。"
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 28,
"completion_tokens": 32,
"total_tokens": 60
}
}流式 (SSE)
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"role":"assistant"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Coke"}}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"API "}}]}
...
data: {"id":"chatcmpl-...","choices":[{"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":28,"completion_tokens":32,"total_tokens":60}}
data: [DONE]CokeAPI 自动给流式请求注入
stream_options: { include_usage: true },最后一个 chunk 一定会带usage,便于按 token 计费对账。
计费
按 prompt_tokens 与 completion_tokens 分别计算,模型不同单价不同。完整单价见 模型列表。
错误码
| code | type | 含义 | HTTP |
|---|---|---|---|
| 400101 | invalid_param | 参数错误 | 400 |
| 400401 | insufficient_balance | 余额不足 | 400 |
| 401104 | api_key_invalid | API Key 无效 | 401 |
| 429101 | rate_limit_exceeded | RPM 超限 | 429 |
| 429302 | daily_quota_exceeded | 每日配额耗尽 | 429 |
| 502201 | upstream_unavailable | 上游服务暂不可用 | 502 |
注意事项
- 流式调用必须 关闭客户端缓冲;Python 用
iter_lines,Node 用for await (const chunk),浏览器用EventSource或ReadableStream。 - Function calling 字段完全透传上游,平台不做语义解析。
- 上游模型 context 不同 (gpt-4o-mini = 128K, grok-4.20 = 256K, Claude = 200K, Gemini 最高 2M),超长会被截断或返回 400。
- 内容审核由上游执行,被拒返回的错误 message 不算 CokeAPI 故障,仍计费。