Gemini 原生语音合成
本页保留 gemini-2.5-flash-preview-tts 专用语音型号。目录另列有 gemini-3.1-flash-tts-preview;文本型号 Gemini 3.8 Flash 不生成音频。 查看聊天型号与协议。
在 Header 添加参数 Authorization,其值为 Bearer 之后拼接 Token
Authorization: Bearer ********************
官方文档:https://ai.google.dev/gemini-api/docs/image-generation?hl=zh-cn#gemini-image-editing
请求参数
完整 JSON 请求体
{
"contents": [
{
"parts": [
{
"text": "说出,我是谁,谁是我"
}
]
}
],
"generationConfig": {
"responseModalities": [
"AUDIO"
],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
}
}
请求示例代码
curl --fail-with-body --request POST 'https://api.apizt.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent' \
--header "Authorization: Bearer ${tokenba_API_KEY}" \
--header 'Content-Type: application/json' \
--data-raw '{
"contents": [
{
"parts": [
{
"text": "说出,我是谁,谁是我"
}
]
}
],
"generationConfig": {
"responseModalities": [
"AUDIO"
],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
}
}'async function main() {
const headers = {
"Authorization": "Bearer " + process.env.tokenba_API_KEY,
"Content-Type": "application/json"
};
const body = JSON.stringify({
"contents": [
{
"parts": [
{
"text": "说出,我是谁,谁是我"
}
]
}
],
"generationConfig": {
"responseModalities": [
"AUDIO"
],
"speechConfig": {
"voiceConfig": {
"prebuiltVoiceConfig": {
"voiceName": "Kore"
}
}
}
}
});
const response = await fetch("https://api.apizt.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent", { method: "POST", headers, body });
if (!response.ok) throw new Error("HTTP " + response.status + ": " + await response.text());
console.log(await response.text());
}
main().catch(console.error);import os
import requests
headers = {"Authorization": "Bearer " + os.environ["tokenba_API_KEY"]}
payload = {'contents': [{'parts': [{'text': '说出,我是谁,谁是我'}]}],
'generationConfig': {'responseModalities': ['AUDIO'],
'speechConfig': {'voiceConfig': {'prebuiltVoiceConfig': {'voiceName': 'Kore'}}}}}
response = requests.post('https://api.apizt.com/v1beta/models/gemini-2.5-flash-preview-tts:generateContent', headers=headers, json=payload, timeout=120)
response.raise_for_status()
print(response.text)返回响应
语音数据位于 candidates[].content.parts[].inlineData。读取 mimeType 并 Base64 解码 data,再按编码保存;不要把 PCM 字节直接命名为 MP3。原生 TTS 返回音频内容,不能按文本生成的结果处理。
文本位于 candidates[].content.parts[].text。按 Part 类型解析;工具调用为 functionCall,图片或音频为 inlineData,思考摘要可带 thought。工具循环需保留 thoughtSignature。
以下为结构示例,不代表实际调用结果。
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"inlineData": {"mimeType": "audio/L16;codec=pcm;rate=24000", "data": "BASE64_AUDIO_BYTES"}
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 10,
"candidatesTokenCount": 8,
"totalTokenCount": 18
}
}
当前模型与版本
依据 apizt 价格页,同步于 。以下型号按目录声明的协议与本页用途筛选;不代表所有参数和功能通用。切换前请核对型号说明、令牌分组与参数差异。Gemini 原生接口需同时替换 URL 中的模型 ID。
| 模型 ID | 能力标签 | 支持分组 |
|---|---|---|
gemini-2.5-flash-preview-tts | 音频 | 分组(3)
|
gemini-3.1-flash-tts-preview | 音频 | 分组(6)
|
gemini-2.5-pro-preview-tts | 音频 | 分组(3)
|
共列入 3 个候选型号。查看完整模型、版本与接口目录。