原生Gemini格式
POST v1beta/models/{model}:generateContentGemini 音频生成接口。
可使用gemini-2.5-flash-preview-tts等模型
请求参数
Authorization
在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。
Authorization: Bearer ******************Path 参数
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 模型名 |
Body 参数
Content-Type: application/json
| 参数路径 (层级结构) | 类型 | 必填 | 说明 |
|---|---|---|---|
| contents | array [object] | 必需 | 对话内容数组。包含用户输入的历史消息或当前指令。 |
| └─ parts | array [object] | 可选 | 内容片段。消息的具体组成部分,支持文本、图片等多模态数据。 |
| └─ text | string | 可选 | 文本内容。具体的字符串信息。 |
| generationConfig | object | 必需 | 生成配置对象。用于控制模型生成的整体行为(如温度、最大输出长度等)。 |
| └─ responseModalities | array[string] | 必需 | 响应模态。指定模型输出的形式,例如 ["TEXT"]、["AUDIO"]。 |
| └─ speechConfig | object | 必需 | 语音配置对象。当输出包含音频时,定义语音的详细参数。 |
| └─ voiceConfig | object | 必需 | 音色配置对象。用于指定音色的来源或类型。 |
| └─ prebuiltVoiceConfig | object | 必需 | 预设音色配置。调用系统内置的预训练音色方案。 |
| └─ voiceName | string | 必需 | 音色名称。指定具体使用的预设音色 ID(例如 "Puck", "Charon" 等)。 |
请求示例 (JSON)
{
"contents": [
{
"parts": [
{
"text": "Say cheerfully: Have a wonderful day!"
}
]
}
],
"generationConfig": {
"responseModalities": [
"AUDIO"
],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
}
}返回响应
200 成功
Content-Type: application/json
响应参数
| 参数路径 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 必需 | 请求 ID。本次 API 调用的唯一标识符,用于排查问题或日志追踪。 |
| object | string | 必需 | 对象类型。通常固定为 "chat.completion",表示这是一个聊天补全对象。 |
| created | integer | 必需 | 创建时间。Unix 时间戳(秒),表示回复生成的时间。 |
| choices | array [object] | 必需 | 回复列表。包含模型生成的一个或多个结果(取决于 n 参数)。 |
| └─ index | integer | 可选 | 索引。当前回复在列表中的序号(从 0 开始)。 |
| └─ message | object | 可选 | 消息对象。包含模型生成的具体文本内容。 |
| └─ role | string | 必需 | 角色。回复者的身份,通常为 "assistant"。 |
| └─ content | string | 必需 | 内容。模型生成的实际文本回复。 |
| └─ finish_reason | string | 可选 | 结束原因。说明模型停止生成的原因(如 "stop" 表示自然结束,"length" 表示达到长度限制)。 |
| usage | object | 必需 | 用量统计。包含本次请求消耗的 Token 信息。 |
| └─ prompt_tokens | integer | 必需 | 提示词 Tokens。用户输入内容消耗的 Token 数量。 |
| └─ completion_tokens | integer | 必需 | 补全 Tokens。模型生成回复消耗的 Token 数量。 |
| └─ total_tokens | integer | 必需 | 总 Tokens。输入与输出 Token 的总和。 |
响应示例
{
"id": "string",
"object": "string",
"created": 0,
"choices": [
{
"index": 0,
"message": {
"role": "string",
"content": "string"
},
"finish_reason": "string"
}
],
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
}
}示例代码
python
import http.client
import json
conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
"contents": [
{
"parts": [
{
"text": "Say cheerfully: Have a wonderful day!"
}
]
}
],
"generationConfig": {
"responseModalities": [
"AUDIO"
],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
}
})
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v1beta/models/:generateContent", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))