Audio接口 / 输出
POST v1/chat/completions请求参数
Authorization
在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。
Authorization: Bearer ******************Header 参数
| 参数 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| Content-Type | string | 可选 | 请求体的数据格式类型 | application/json |
| Accept | string | 可选 | 客户端期望接收的响应数据格式 | application/json |
Body 参数
Content-Type: application/json
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 模型 ID。指定要使用的模型版本。 |
| messages | array [object] | 必需 | 聊天记录。包含对话历史的对象数组。 |
| ├─ role | string | 可选 | 角色类型:user、assistant 或 system。 |
| └─ content | string | 可选 | 具体的文本内容。 |
| modalities | array[string] | 必需 | 输出模态。默认 ["text"];若需同时生成文本和音频可设为 ["text", "audio"]。 |
| audio | object | 必需 | 音频输出参数。当 modalities 包含 "audio" 时必须提供,用于配置语音输出(如指定音色等)。 |
| stream | boolean | 必需 | 流式输出。设为 true 时,响应将通过服务器发送事件(SSE)逐块传输。 |
| store | boolean | 可选 | 存储设置。是否将输出存储用于模型蒸馏或评估产品。 |
| reasoning_effort | string | 可选 | 推理努力程度(仅限 o系列模型)。可选 low, medium, high,减少推理工作可加快响应速度。 |
| metadata | object | 可选 | 元数据。最多 16 个键值对(键最长64字符,值最长512字符),用于结构化存储额外信息。 |
| prediction | object | 可选 | 预测配置。当预先知道模型大部分响应内容时使用,可大幅提高响应速度。 |
| temperature | number | 可选 | 采样温度 (0-2)。值越高输出越随机,建议与 top_p 二选一调整。 |
| top_p | number | 可选 | 核采样。例如 0.1 意味着只考虑概率质量前 10% 的 token。 |
| n | integer | 可选 | 生成数量。为每个输入生成多少个选择。保持 n=1 可降低成本。 |
| stop | string | 可选 | 停止序列。遇到这些序列时停止生成(最多 4 个)。注:最新的推理模型(如 o3, o4-mini)不支持此参数。 |
| max_completion_tokens | integer | 可选 | 最大生成长度。生成的 token 上限(包含可见输出和推理 token)。 |
| presence_penalty | number | 可选 | 存在惩罚 (-2.0 到 2.0)。正值增加模型讨论新话题的可能性。 |
| frequency_penalty | number | 可选 | 频率惩罚 (-2.0 到 2.0)。正值降低模型逐字重复同一行的可能性。 |
| logit_bias | string | 可选 | 对数偏差。修改特定标记出现的概率(映射 token ID 到 -100 到 100 的偏差值)。 |
| logprobs | boolean | 可选 | 对数概率。是否返回输出 token 的对数概率。 |
| user | string | 可选 | 用户标识。代表最终用户的唯一 ID,用于监控滥用行为。 |
请求示例 (JSON)
{
"model": "gpt-4o-audio-preview",
"modalities": [
"text",
"audio"
],
"audio": {
"voice": "alloy",
"format": "wav"
},
"messages": [
{
"role": "user",
"content": "Is a golden retriever a good family dog?"
}
]
}返回响应
200 成功
Content-Type: application/json
响应参数
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 必需 | 请求唯一标识符。用于定位和追踪本次 API 调用的 ID。 |
| object | string | 必需 | 对象类型。对于聊天补全接口,该值固定为 "chat.completion"。 |
| created | integer | 必需 | 创建时间戳。生成本次响应的 Unix 时间戳(秒级)。 |
| model | string | 必需 | 实际使用的模型。生成此响应的具体模型名称及版本(例如 gpt-4o-2024-05-13)。 |
| choices | array [object] | 必需 | 回复选项数组。包含模型生成的回复内容列表(默认长度为1)。 |
| ├─ index | integer | 可选 | 当前选项在数组中的索引位置。 |
| ├─ message | object | 可选 | 生成的消息对象,包含以下核心字段: |
| ├─ role | string | 必需 | 角色身份,通常固定为 "assistant"。 |
| ├─ content | null/string | 必需 | 模型生成的文本内容。若模型进行了工具调用或纯音频输出,此处可能为 null。 |
| ├─ refusal | null/string | 必需 | 如果模型拒绝回答某些敏感或不合规的内容,拒绝的理由会在此字段显示。 |
| ├─ audio | object | 必需 | 音频输出对象。当请求了音频模态时,这里会包含生成的音频数据及相关参数。 |
| └─ annotations | array[string] | 必需 | 针对回复内容的附加注释或引用信息。 |
| ├─ logprobs | null | 可选 | 输出 token 的对数概率信息(需在请求中开启 logprobs: true)。 |
| └─ finish_reason | string | 可选 | 停止原因。模型停止生成的原因,常见值有: • stop:自然结束或遇到停止词 • length:达到最大 token 限制 • tool_calls:模型发起了工具/函数调用。 |
| usage | object | 必需 | Token 用量统计,包含以下明细: |
| ├─ prompt_tokens | integer | 必需 | 输入提示词(Prompt)消耗的 Token 数量。 |
| ├─ completion_tokens | integer | 必需 | 模型生成的回复(Completion)消耗的 Token 数量。 |
| ├─ total_tokens | integer | 必需 | 本次请求消耗的总 Token 数(输入 + 输出)。 |
| ├─ prompt_tokens_details | object | 必需 | 输入 Token 的详细分类统计(如缓存命中等细节)。 |
| └─ completion_tokens_details | object | 必需 | 输出 Token 的详细分类统计(如推理思考过程的 Token 等)。 |
| system_fingerprint | string | 必需 | 系统指纹。代表模型运行时的后端配置版本,可用于判断结果的确定性是否受后端变更影响。 |
响应示例
{
"id": "chatcmpl-CQibNN6cfnnlKFtgWePDVLaWWQciA",
"object": "chat.completion",
"created": 1760484013,
"model": "gpt-4o-audio-preview-2024-12-17",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": null,
"refusal": null,
"audio": {
"id": "audio_68eedab26d548190a279ff7ee12fd992",
"data": string,
"expires_at": 1760487618,
"transcript": "Golden Retrievers are known for being friendly, loyal, and great with children, making them a popular choice as family dogs. They typically have a gentle temperament and are eager to please, which makes them easy to train and good companions for families. Of course, individual dogs may have varied personalities, but overall, they tend to be a great fit for family environments."
},
"annotations": []
},
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 17,
"completion_tokens": 589,
"total_tokens": 606,
"prompt_tokens_details": {
"cached_tokens": 0,
"audio_tokens": 0,
"text_tokens": 17,
"image_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 488,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0,
"text_tokens": 101
}
},
"system_fingerprint": "fp_a1c804aea4"
}示例代码
python
import http.client
import json
conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
"model": "gpt-4o-audio-preview",
"modalities": [
"text",
"audio"
],
"audio": {
"voice": "alloy",
"format": "wav"
},
"messages": [
{
"role": "user",
"content": "Is a golden retriever a good family dog?"
}
]
})
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v1/chat/completions", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))