Skip to content

原生Gemini格式

POST  v1beta/models/{model}:generateContent

Gemini 音频生成接口。

可使用gemini-2.5-flash-preview-tts等模型

请求参数

Authorization

在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。

Authorization: Bearer ******************

Path 参数

字段名类型必填说明
modelstring必需模型名

Body 参数

Content-Type: application/json

参数路径 (层级结构)类型必填说明
contentsarray [object]必需对话内容数组。包含用户输入的历史消息或当前指令。
└─ partsarray [object]可选内容片段。消息的具体组成部分,支持文本、图片等多模态数据。
└─ textstring可选文本内容。具体的字符串信息。
generationConfigobject必需生成配置对象。用于控制模型生成的整体行为(如温度、最大输出长度等)。
└─ responseModalitiesarray[string]必需响应模态。指定模型输出的形式,例如 ["TEXT"]["AUDIO"]
└─ speechConfigobject必需语音配置对象。当输出包含音频时,定义语音的详细参数。
└─ voiceConfigobject必需音色配置对象。用于指定音色的来源或类型。
└─ prebuiltVoiceConfigobject必需预设音色配置。调用系统内置的预训练音色方案。
└─ voiceNamestring必需音色名称。指定具体使用的预设音色 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

响应参数

参数路径类型必填说明
idstring必需请求 ID。本次 API 调用的唯一标识符,用于排查问题或日志追踪。
objectstring必需对象类型。通常固定为 "chat.completion",表示这是一个聊天补全对象。
createdinteger必需创建时间。Unix 时间戳(秒),表示回复生成的时间。
choicesarray [object]必需回复列表。包含模型生成的一个或多个结果(取决于 n 参数)。
└─ indexinteger可选索引。当前回复在列表中的序号(从 0 开始)。
└─ messageobject可选消息对象。包含模型生成的具体文本内容。
└─ rolestring必需角色。回复者的身份,通常为 "assistant"
└─ contentstring必需内容。模型生成的实际文本回复。
└─ finish_reasonstring可选结束原因。说明模型停止生成的原因(如 "stop" 表示自然结束,"length" 表示达到长度限制)。
usageobject必需用量统计。包含本次请求消耗的 Token 信息。
└─ prompt_tokensinteger必需提示词 Tokens。用户输入内容消耗的 Token 数量。
└─ completion_tokensinteger必需补全 Tokens。模型生成回复消耗的 Token 数量。
└─ total_tokensinteger必需总 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"))