字段与用途
| 字段路径 | 位置 | 类型 | 必填 | 填写规则与说明 | 允许值 / 约束 | 示例 |
|---|---|---|---|---|---|---|
id | 响应 JSON | string | 否 | 响应字符串标识,用于日志关联;本目录不提供按该 ID 查询聊天任务的工作流。 | - | - |
choices | 响应 JSON | array | 否 | 候选数组。非流读取 message.content / tool_calls,finish_reason 表示 stop / length / tool_calls / content_filter 等原因。不要假定 content 始终为非空字符串。 | - | - |
choices[] | 响应 JSON | object | 否 | 数组元素。 | - | - |
choices[].index | 响应 JSON | integer | 否 | - | - | - |
choices[].message | 响应 JSON | object | 否 | - | - | - |
choices[].message.role | 响应 JSON | string | 是 | 消息角色 | 可选:system / user / assistant / tool / developer | - |
choices[].message.content | 响应 JSON | string | array<object> | 是 | 消息内容 | 分支:string / array<object> |
choices[].message.content(分支1) | 响应 JSON | string | 否 | 按此分支填写。 | - | |
choices[].message.content(分支2) | 响应 JSON | array<object> | 否 | 按此分支填写。 | - | |
choices[].message.content(分支2)[] | 响应 JSON | object | 否 | 数组元素。 | - | - |
choices[].message.content(分支2)[].type | 响应 JSON | string | 否 | - | 可选:text / image_url / input_audio / file / video_url | - |
choices[].message.content(分支2)[].text | 响应 JSON | string | 否 | - | - | - |
choices[].message.content(分支2)[].image_url | 响应 JSON | object | 否 | - | - | - |
choices[].message.content(分支2)[].image_url.url | 响应 JSON | string | 否 | 图片 URL 或 base64 | - | - |
choices[].message.content(分支2)[].image_url.detail | 响应 JSON | string | 否 | - | 可选:low / high / auto | - |
choices[].message.content(分支2)[].input_audio | 响应 JSON | object | 否 | - | - | - |
choices[].message.content(分支2)[].input_audio.data | 响应 JSON | string | 否 | Base64 编码的音频数据 | - | - |
choices[].message.content(分支2)[].input_audio.format | 响应 JSON | string | 否 | - | 可选:wav / mp3 | - |
choices[].message.content(分支2)[].file | 响应 JSON | object | 否 | - | - | - |
choices[].message.content(分支2)[].file.filename | 响应 JSON | string | 否 | - | - | - |
choices[].message.content(分支2)[].file.file_data | 响应 JSON | string | 否 | - | - | - |
choices[].message.content(分支2)[].file.file_id | 响应 JSON | string | 否 | - | - | - |
choices[].message.content(分支2)[].video_url | 响应 JSON | object | 否 | - | - | - |
choices[].message.content(分支2)[].video_url.url | 响应 JSON | string | 否 | - | - | - |
choices[].message.name | 响应 JSON | string | 否 | 发送者名称 | - | - |
choices[].message.tool_calls | 响应 JSON | array<object> | 否 | - | - | - |
choices[].message.tool_calls[] | 响应 JSON | object | 否 | 数组元素。 | - | - |
choices[].message.tool_calls[].id | 响应 JSON | string | 否 | - | - | - |
choices[].message.tool_calls[].type | 响应 JSON | string | 否 | - | - | - |
choices[].message.tool_calls[].function | 响应 JSON | object | 否 | - | - | - |
choices[].message.tool_calls[].function.name | 响应 JSON | string | 否 | - | - | - |
choices[].message.tool_calls[].function.arguments | 响应 JSON | string | 否 | - | - | - |
choices[].message.tool_call_id | 响应 JSON | string | 否 | 工具调用 ID(用于 tool 角色消息) | - | - |
choices[].message.reasoning_content | 响应 JSON | string | 否 | 推理内容 | - | - |
choices[].finish_reason | 响应 JSON | string | 否 | - | 可选:stop / length / tool_calls / content_filter | - |
usage | 响应 JSON | object | 否 | 用量对象,可能因协议/流式缺失。prompt_tokens / completion_tokens / total_tokens;推理详情按模型返回。 | - | - |
usage.prompt_tokens | 响应 JSON | integer | 否 | 提示词 Token 数 | - | - |
usage.completion_tokens | 响应 JSON | integer | 否 | 补全 Token 数 | - | - |
usage.total_tokens | 响应 JSON | integer | 否 | 总 Token 数 | - | - |
usage.prompt_tokens_details | 响应 JSON | object | 否 | - | - | - |
usage.prompt_tokens_details.cached_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.text_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.audio_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.prompt_tokens_details.image_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details | 响应 JSON | object | 否 | - | - | - |
usage.completion_tokens_details.text_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details.audio_tokens | 响应 JSON | integer | 否 | - | - | - |
usage.completion_tokens_details.reasoning_tokens | 响应 JSON | integer | 否 | - | - | - |
读取所有 choices,按 index 区分候选。finish_reason=length 表示截断,不能把残缺 JSON 或工具参数当作完整结果;拒绝内容和空 content 也应单独处理。
结构示意
{"id":"chatcmpl-example","object":"chat.completion","model":"gpt-6-astra","choices":[{"index":0,"message":{"role":"assistant","content":"这是结构示意。"},"finish_reason":"stop"}]}此合成示意不保证所有可选字段存在。保存原始对象,业务层再提取需要的文字。
调用示例与参考
常见错误
401:检查本站 API Key 和 Bearer 格式;403:确认此 Key 可用该模型;429:遵循 Retry-After 退避。超时或 5xx 时保留请求标识和脱敏错误,避免盲目重发;其他通用排查见聊天接入总览。