Skip to content

Gemini 3.8 Flash Lite 文生语音 ​

本页由 ModelFold 文档站根据上游官方 OpenAPI 文档同步生成。接口路径、参数、示例与官方保持一致;品牌与 API 域名已替换为 ModelFold。

接口 ​

POST /jobs/createTask

完整 URL: https://ai.modelfold.online/v1/jobs/createTask

鉴权:所有请求都需要 Authorization: Bearer <API_KEY> 请求头。

使用 Gemini 3.8 Flash Lite 进行文本转语音。

输出:WAV(16 位 PCM,24 kHz,单声道)。

查询任务状态 ​

提交任务后,使用统一的查询端点检查进度并获取结果:

TIP

对于生产环境,我们建议使用 callBackUrl 参数接收自动通知,而不是轮询状态端点。

相关资源 ​

请求参数 ​

请求体 (application/json) ​

参数类型必填说明
modelstring是使用的模型 默认值:"google/gemini-3-8-flash-lite-tts"。 可选值:google/gemini-3-8-flash-lite-tts。 示例:google/gemini-3-8-flash-lite-tts。
callBackUrlstring否结果回调地址
inputobject是生成任务的输入参数
  input.temperaturenumber否采样温度,例如:1 默认值:1。 示例:1。
  input.speakersarray&lt;object&gt;是说话人配置列表。每个说话人用 voice_name(预置音色)或 replica(声音克隆),二者互斥、不要同时传;都不传时该说话人默认音色为 Fola。
    input.speakers[].speaker_idstring是说话人标识,如 "Speaker 1" 或 "Speaker 2";必须为「Speaker N」格式。
    input.speakers[].voice_namestring否音色名称。与 replica 互斥:同一个说话人只能传 voice_name 或 replica 其中一个。使用声音克隆时不要传本字段。不传且未传 replica 时默认 Fola。
共 70 个音色,按使用场景分类:
- Tutor:Bodi、Lumi、Sadaltager、Sola、Sulafat、Varo、Zephyr
- Commercial Voiceover:Koda、Kore、Nika、Tavi、Zeno
- Instructional:Algenib、Despina、Erinome、Kira、Ludo、Mako、Rasalgethi、Rina
- Podcast:Alnilam、Brio、Jori、Laomedeia、Rami、Veda
- Storyteller:Achird、Enzo、Riko、Sami、Zali、Zubenelgenubi
- Digital Assistant:Algieba、Aoede、Autonoe、Callirrhoe、Enceladus、Gero、Iapetus、Neno、Olin、Tari、Umbriel
- Call Center:Achernar、Charon、Daro、Fola、Hali、Milo、Puck
- Concierge:Arlo、Cleo、Fenrir、Finn、Leda、Lora、Orus
- Tech Support:Enya、Jett、Knox、Nyla、Sadachbia、Vindemiatrix
- Professional:Cruz、Elio、Gacrux、Pulcherrima、Schedar、Tova、Zuri 默认值:"Fola"。 可选值:Bodi / Lumi / Sadaltager / Sola / Sulafat / Varo / Zephyr / Koda / Kore / Nika / Tavi / Zeno / Algenib / Despina / Erinome / Kira / Ludo / Mako / Rasalgethi / Rina / Alnilam / Brio / Jori / Laomedeia / Rami / Veda / Achird / Enzo / Riko / Sami / Zali / Zubenelgenubi / Algieba / Aoede / Autonoe / Callirrhoe / Enceladus / Gero / Iapetus / Neno / Olin / Tari / Umbriel / Achernar / Charon / Daro / Fola / Hali / Milo / Puck / Arlo / Cleo / Fenrir / Finn / Leda / Lora / Orus / Enya / Jett / Knox / Nyla / Sadachbia / Vindemiatrix / Cruz / Elio / Gacrux / Pulcherrima / Schedar / Tova / Zuri。 示例:Fola。
    input.speakers[].replicaobject否声音克隆配置,只用于 3.8。可选。与 voice_name 互斥,同一个说话人不要同时传这两个字段。
传入后,本次任务会用两段录音临时克隆该说话人的声音,不会保存成可复用音色。单人、双人请求都可以给某个说话人传 replica。
两段必须是同一位成年人的真人录音,同一支麦克风、同一个房间;AI 合成的音频会被拒绝。
只接受 WAV,推荐 24kHz、单声道、16-bit PCM,单个文件不超过 10MB。按文件内容识别格式,不看扩展名和 Content-Type。
      input.speakers[].replica.source_audio_urlstring是参考录音的 URL,需可直接下载。录 10–30 秒自然说话:环境安静、无回声、无背景音乐,且只有一个人的声音。建议用最终要生成的语言来录。
      input.speakers[].replica.consent_audio_urlstring是同意声明录音的 URL,需可直接下载。必须由参考录音中的同一个人逐字朗读:
I am the owner of this voice and I consent to Google using this voice to create a synthetic voice model.
也可以朗读接口支持的其他语言版本。开头和结尾的静音、杂音尽量剪掉。
  input.dialogue_turnsarray&lt;object&gt;是对话内容列表,按顺序输出
    input.dialogue_turns[].speaker_idstring是对应的说话人标识,如 "Speaker 1"
    input.dialogue_turns[].textstring是该说话人的台词文本,可包含语气标签,标签名两边用英文尖括号。例如:Hello there. &lt;laugh&gt; That works.
官网可插入的标签:&lt;argh&gt;、&lt;breath&gt;、&lt;cackle&gt;、&lt;cheer&gt;、&lt;chuckle&gt;、&lt;chuckles&gt;、&lt;cough&gt;、&lt;cry&gt;、&lt;exhales&gt;、&lt;gasp&gt;、&lt;giggle&gt;、&lt;groan&gt;、&lt;growl&gt;、&lt;grr&gt;、&lt;grunt&gt;、&lt;heavy breath&gt;、&lt;hiss&gt;、&lt;laugh&gt;、&lt;laughter&gt;、&lt;long pause&gt;、&lt;moan&gt;、&lt;pant&gt;、&lt;pff&gt;、&lt;phew&gt;、&lt;scream&gt;、&lt;short pause&gt;、&lt;shout&gt;、&lt;shriek&gt;、&lt;sigh&gt;、&lt;sighs&gt;、&lt;sneeze&gt;、&lt;snicker&gt;、&lt;snort&gt;、&lt;sob&gt;、&lt;throat-clearing&gt;、&lt;tsk&gt;、&lt;whimper&gt;、&lt;whispering&gt;、&lt;whispers&gt;、&lt;yawn&gt;。 示例:Hello there. &lt;laugh&gt; That works.。
    input.dialogue_turns[].stylestring否这一句的语气,只用于 3.8。自由描述语气、情绪、语速,同一说话人的不同句子可以不同。例如:Speak like a tired night-shift radio host, slow and dry.
  input.filler_wordsboolean否两人对话时是否加入语气填充词。默认关闭,请求中不传该字段;打开后请求里带 filler_words: true。仅当 speakers 配置了两个说话人(如 Speaker 1 与 Speaker 2)时生效。两个人说话时,可打开本开关。 默认值:false。 示例:false。

请求示例 ​

bash
curl -X POST "https://ai.modelfold.online/v1/jobs/createTask" \
  -H "Authorization: Bearer $MODELFOLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google/gemini-3-8-flash-lite-tts",
  "callBackUrl": "https://your-domain.com/api/callback",
  "input": {
    "temperature": 1,
    "speakers": [
      {
        "speaker_id": "Speaker 1",
        "voice_name": "Fola"
      },
      {
        "speaker_id": "Speaker 2",
        "voice_name": "Zephyr"
      }
    ],
    "dialogue_turns": [
      {
        "speaker_id": "Speaker 1",
        "style": "Speak like a tired night-shift radio host, slow and dry.",
        "text": "Hello there. <laugh> That works."
      },
      {
        "speaker_id": "Speaker 2",
        "style": "Bright and curious, slightly faster.",
        "text": "Wait, did you hear that? <gasp> I think it actually worked."
      }
    ]
  }
}'
json
{
  "model": "google/gemini-3-8-flash-lite-tts",
  "callBackUrl": "https://your-domain.com/api/callback",
  "input": {
    "temperature": 1,
    "speakers": [
      {
        "speaker_id": "Speaker 1",
        "voice_name": "Fola"
      },
      {
        "speaker_id": "Speaker 2",
        "voice_name": "Zephyr"
      }
    ],
    "dialogue_turns": [
      {
        "speaker_id": "Speaker 1",
        "style": "Speak like a tired night-shift radio host, slow and dry.",
        "text": "Hello there. <laugh> That works."
      },
      {
        "speaker_id": "Speaker 2",
        "style": "Bright and curious, slightly faster.",
        "text": "Wait, did you hear that? <gasp> I think it actually worked."
      }
    ]
  }
}

响应 ​

200 — 请求成功 ​

参数类型必填说明
codeinteger是响应状态码
200: 成功 - 请求已成功处理
401: 未授权 - 缺少身份验证凭据或凭据无效
402: 额度不足 - 账户额度不足,无法执行该操作
404: 未找到 - 请求的资源或接口不存在
422: 校验错误 - 请求参数未通过校验检查
429: 请求受限 - 已超过该资源的请求频率限制
433: 请求限额 - 子 key 使用超出限额
455: 服务不可用 - 系统目前正在维护中
500: 服务器错误 - 处理请求时发生了意外错误
501: 生成失败 - 内容生成任务失败
505: 功能禁用 - 请求的功能目前已禁用 可选值:200 / 401 / 402 / 404 / 422 / 429 / 433 / 455 / 500 / 501 / 505。 示例:200。
msgstring是响应消息,失败时的错误描述
dataobject是—
  data.taskIdstring否任务 ID 可与“获取任务详细信息”端点一起使用,以查询任务状态
json
{
  "code": 200,
  "msg": "",
  "data": {
    "taskId": ""
  }
}

回调 ​

musicTaskCompleted ​

回调地址:{request.body#/callBackUrl}(即请求体里的 callBackUrl)。

音频任务成功或失败时,系统会向该地址发送回调。

回调体参数

参数类型必填说明
codeinteger是统一回调状态码:成功为 200,失败为 501。 可选值:200 / 501。 示例:200。
msgstring是统一回调消息。 可选值:Playground task completed successfully. / Playground task failed.。 示例:Playground task completed successfully.。
dataobject是—
  data.taskIdstring是任务唯一标识符。
  data.modelstring是任务使用的模型。 可选值:google/gemini-3-8-flash-lite-tts。 示例:google/gemini-3-8-flash-lite-tts。
  data.statestring是任务最终状态。 可选值:success / fail。 示例:success。
  data.paramstring是包含已提交任务参数的 JSON 字符串。
  data.resultJsonstring否任务成功时,包含 resultUrls 和 resultObject 的 JSON 字符串;任务。仅在 state 为 success 时出现。
  data.failCodestring否失败码,数字字符串,如 "400"、"500"。仅在 state 为 fail 时出现。
  data.failMsgstring否失败原因,仅在 state 为 fail 时出现。
  data.costTimeinteger否处理耗时(秒),成功和失败回调都会返回。
  data.completeTimeinteger否任务完成时间戳。
  data.createTimeinteger否任务创建时间戳。
  data.updateTimeinteger否完成时间请以 completeTime 为准;updateTime 可能与 createTime 相同。
  data.creditsConsumednumber否本任务消耗的积分;失败任务为 0。

任务成功完成

json
{
  "code": 200,
  "msg": "Playground task completed successfully.",
  "data": {
    "taskId": "task_example_music_webhook_001",
    "model": "google/gemini-3-8-flash-lite-tts",
    "state": "success",
    "param": "{\"input\":\"{\\\"temperature\\\":1,\\\"speakers\\\":[{\\\"speaker_id\\\":\\\"Speaker 1\\\",\\\"voice_name\\\":\\\"Fola\\\"},{\\\"speaker_id\\\":\\\"Speaker 2\\\",\\\"voice_name\\\":\\\"Zephyr\\\"}],\\\"dialogue_turns\\\":[{\\\"speaker_id\\\":\\\"Speaker 1\\\",\\\"style\\\":\\\"Speak like a tired night-shift radio host, slow and dry.\\\",\\\"text\\\":\\\"Hello there. <laugh> That works.\\\"},{\\\"speaker_id\\\":\\\"Speaker 2\\\",\\\"style\\\":\\\"Bright and curious, slightly faster.\\\",\\\"text\\\":\\\"Wait, did you hear that? <gasp> I think it actually worked.\\\"}]}\",\"callBackUrl\":\"https://your-domain.com/api/callback\",\"model\":\"google/gemini-3-8-flash-lite-tts\"}",
    "resultJson": "{\"resultUrls\":[\"https://example.com/generated-audio.wav\"],\"resultObject\":null}",
    "costTime": 12,
    "completeTime": 1234567890,
    "createTime": 1234560000,
    "updateTime": 1234567890,
    "creditsConsumed": 1.23
  }
}

任务失败

json
{
  "code": 501,
  "msg": "Playground task failed.",
  "data": {
    "taskId": "task_example_music_webhook_001",
    "model": "google/gemini-3-8-flash-lite-tts",
    "state": "fail",
    "param": "{\"input\":\"{\\\"temperature\\\":1,\\\"speakers\\\":[{\\\"speaker_id\\\":\\\"Speaker 1\\\",\\\"voice_name\\\":\\\"Fola\\\"},{\\\"speaker_id\\\":\\\"Speaker 2\\\",\\\"voice_name\\\":\\\"Zephyr\\\"}],\\\"dialogue_turns\\\":[{\\\"speaker_id\\\":\\\"Speaker 1\\\",\\\"style\\\":\\\"Speak like a tired night-shift radio host, slow and dry.\\\",\\\"text\\\":\\\"Hello there. <laugh> That works.\\\"},{\\\"speaker_id\\\":\\\"Speaker 2\\\",\\\"style\\\":\\\"Bright and curious, slightly faster.\\\",\\\"text\\\":\\\"Wait, did you hear that? <gasp> I think it actually worked.\\\"}]}\",\"callBackUrl\":\"https://your-domain.com/api/callback\",\"model\":\"google/gemini-3-8-flash-lite-tts\"}",
    "failCode": "400",
    "failMsg": "<error detail>",
    "costTime": 12,
    "creditsConsumed": 0
  }
}

ModelFold — 一个 API,接入所有主流 AI 模型。