Create a chat completion
创建一条 OpenAI Chat Completions 兼容的文本或多模态对话补全,支持流式和非流式两种模式。
Authentication
AuthorizationstringRequired格式为 Bearer $HY_API_KEY。
Headers
Content-TypestringOptional通常为 application/json。
Request
modelstringRequired模型 ID,例如 claude-sonnet-4-6、claude-opus-4-7、gpt-5.4。具体可用模型以你的 API Key 权限为准。
messagesarray of objectsRequiredOpenAI Chat Completions 格式的消息数组。支持多种角色。
streambooleanOptional是否使用 SSE 流式返回。默认 false;为 true 时返回 text/event-stream。
toolsarray of objectsOptional函数调用定义,兼容 OpenAI tools 结构。
reasoning_effortstringOptional推理强度。仅部分模型支持,常见取值为 low、medium、high;不支持的模型可能忽略或拒绝该参数。
temperaturenumberOptional采样温度。通常取值 0–2;数值越高结果越发散。推理模型(如 o-series, gpt-5)仅支持默认值 1,传其他值会被网关自动丢弃以避免报错。
top_pnumberOptional核采样概率。推理模型仅支持默认值 1。
presence_penaltynumberOptional存在惩罚。推理模型会自动丢弃该字段。
frequency_penaltynumberOptional频率惩罚。推理模型会自动丢弃该字段。
max_completion_tokensintegerOptional最大输出 token 数量。建议优先使用该字段控制回复长度。老版客户端的 max_tokens 会被网关自动转换为此字段。
response_formatobjectOptional指定模型输出的格式(如 JSON_OBJECT 等)。
stopstring | arrayOptional遇到这些字符串时停止生成。
Errors
| 1 | import OpenAI from 'openai' |
| 2 | |
| 3 | const client = new OpenAI({ |
| 4 | apiKey: process.env.HY_API_KEY, |
| 5 | baseURL: 'https://apiclaw.cc/v1', |
| 6 | }) |
| 7 | |
| 8 | const response = await client.chat.completions.create({ |
| 9 | model: 'claude-sonnet-4-6', |
| 10 | messages: [ |
| 11 | { role: 'system', content: '你是一个专业的产品助手。' }, |
| 12 | { role: 'user', content: '写一个三行产品介绍' }, |
| 13 | ], |
| 14 | max_completion_tokens: 256, |
| 15 | }) |
| 16 | console.log(response.choices[0].message.content) |
Authorization
获取 API Key →Body Parameters
modelstring必填模型 ID,例如 claude-sonnet-4-6、claude-opus-4-7、gpt-5.4。具体可用模型以你的 API Key 权限为准。
messagesarray of objects必填OpenAI Chat Completions 格式的消息数组。支持多种角色。
streamboolean可选是否使用 SSE 流式返回。默认 false;为 true 时返回 text/event-stream。
toolsarray of objects可选函数调用定义,兼容 OpenAI tools 结构。
reasoning_effortstring可选推理强度。仅部分模型支持,常见取值为 low、medium、high;不支持的模型可能忽略或拒绝该参数。
temperaturenumber可选采样温度。通常取值 0–2;数值越高结果越发散。推理模型(如 o-series, gpt-5)仅支持默认值 1,传其他值会被网关自动丢弃以避免报错。
top_pnumber可选核采样概率。推理模型仅支持默认值 1。
presence_penaltynumber可选存在惩罚。推理模型会自动丢弃该字段。
frequency_penaltynumber可选频率惩罚。推理模型会自动丢弃该字段。
max_completion_tokensinteger可选最大输出 token 数量。建议优先使用该字段控制回复长度。老版客户端的 max_tokens 会被网关自动转换为此字段。
response_formatobject可选指定模型输出的格式(如 JSON_OBJECT 等)。
stopstring | array可选遇到这些字符串时停止生成。
| 1 | const response = await fetch("https://apiclaw.cc/v1/chat/completions", { |
| 2 | method: "POST", |
| 3 | headers: { |
| 4 | "Authorization": "Bearer YOUR_API_KEY", |
| 5 | "Content-Type": "application/json", |
| 6 | }, |
| 7 | body: JSON.stringify({ |
| 8 | "model": "claude-sonnet-4-6", |
| 9 | "messages": [ |
| 10 | { |
| 11 | "role": "system", |
| 12 | "content": "You are a helpful assistant." |
| 13 | }, |
| 14 | { |
| 15 | "role": "user", |
| 16 | "content": "Hello!" |
| 17 | } |
| 18 | ], |
| 19 | "reasoning_effort": "medium", |
| 20 | "temperature": 1, |
| 21 | "top_p": 1, |
| 22 | "presence_penalty": 0, |
| 23 | "frequency_penalty": 0, |
| 24 | "max_completion_tokens": 512 |
| 25 | }), |
| 26 | }); |
| 27 | const data = await response.json(); |
| 28 | console.log(data); |
点击 Send request 查看响应
| 1 | { |
| 2 | "id": "chatcmpl_abc123", |
| 3 | "object": "chat.completion", |
| 4 | "model": "claude-sonnet-4-6", |
| 5 | "choices": [ |
| 6 | { |
| 7 | "index": 0, |
| 8 | "message": { |
| 9 | "role": "assistant", |
| 10 | "content": "这里是模型生成的内容。" |
| 11 | }, |
| 12 | "finish_reason": "stop" |
| 13 | } |
| 14 | ], |
| 15 | "usage": { |
| 16 | "prompt_tokens": 18, |
| 17 | "completion_tokens": 20, |
| 18 | "total_tokens": 38 |
| 19 | } |
| 20 | } |

