对话补全
使用 OpenAI Chat Completions 兼容格式调用文字模型。
POST /v1/chat/completions 适用于文字模型,不用于图片或视频生成。模型必须使用 GET /v1/models 返回的对外模型 ID。
接口概览
| 项 | 说明 |
|---|---|
| 路由 | POST /v1/chat/completions |
| 鉴权 | Authorization: Bearer sk_yeehoo_xxx |
| 幂等 | 建议传 Idempotency-Key |
| 请求体 | application/json |
| 返回 | 200 OK;stream=true 时返回 SSE |
和图片、视频接口的区别
文字模型是同步对话接口,使用 Chat Completions 或 Responses;图片、视频才使用异步的 POST /v1/generations。
请求
POST /v1/chat/completions
Authorization: Bearer sk_yeehoo_your_api_key
Content-Type: application/json
Idempotency-Key: chat-demo-001| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | /v1/models 返回的文字模型 ID |
messages | array | 是 | 按时间顺序排列的多轮消息 |
temperature | number | 否 | 采样随机度,是否支持以模型 Schema 为准 |
max_tokens / max_completion_tokens | integer | 否 | 输出 token 上限,按模型支持的字段传入 |
stream | boolean | 否 | 是否以 SSE 流式返回,默认 false |
reasoning | object | 否 | 推理配置,例如 { "effort": "high" } |
系统提示词
不需要自定义 systemPrompt 字段。将系统提示词作为 messages 的第一条消息,并设置 role 为 system:
{
"model": "gpt_5_6_luna",
"messages": [
{ "role": "system", "content": "你是一名严谨的编程助手。" },
{ "role": "user", "content": "帮我写一个 Python 示例" }
],
"stream": false
}system 消息是可选的。继续对话时,将此前的 user 和 assistant 消息按顺序一并传入。
非流式响应
请求 stream 为 false 或不传时,返回完整的 Chat Completions 对象:
{
"id": "chatcmpl_123",
"object": "chat.completion",
"model": "gpt_5_6_luna",
"choices": [{ "index": 0, "message": { "role": "assistant", "content": "可以,下面是一个 Python 示例。" }, "finish_reason": "stop" }]
}流式响应
设置 "stream": true 后,响应为 text/event-stream,每个 data 事件包含增量内容,最后以完成事件结束:
data: {"id":"chatcmpl_123","choices":[{"delta":{"role":"assistant","content":"可以"}}]}
data: {"id":"chatcmpl_123","choices":[{"delta":{"content":",下面是一个示例。"}}]}
data: [DONE]常见错误
model_not_found或无权限:模型不存在、未公开或 API Key 未授权。- 无可用路由:模型或 CodexReverse 渠道没有启用路由。
- 参数不支持:请求字段不在该模型的 Schema 中。
- 余额不足:账户余额不足以完成本次请求。
- 上游调用失败:上游暂时不可用,可按错误响应和幂等键安全重试。
图片和视频请使用异步的 POST /v1/generations,不要使用本接口。