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": [
{
"type": "text",
"text": "What is in this recording?"
},
{
"type": "input_audio",
"input_audio": {
"data": "<base64 bytes here>",
"format": "wav"
}
}
]
}
]
}返回响应
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 | 可选 | 当前选项在数组中的索引位置。 |
| ├─ role | string | 必需 | 角色身份,通常固定为 "assistant"。 |
| ├─ content | null/string | 必需 | 模型生成的文本内容。若模型进行了工具调用或纯音频输出,此处可能为 null。 |
| └─ 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 数(输入 + 输出)。 |
响应示例
{
"id": "chatcmpl-123",
"object": "chat.completion",
"created": 1677652288,
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 9,
"completion_tokens": 12,
"total_tokens": 21
}
}示例代码
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": [
{
"type": "text",
"text": "What is in this recording?"
},
{
"type": "input_audio",
"input_audio": {
"data": "<base64 bytes here>",
"format": "wav"
}
}
]
}
]
})
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"))