Ori联系我们

文档OriHub

创建语音合成任务

文字转语音;提交拿 task_id,轮询出音频。

语音合成(TTS)是异步任务:提交文本拿 task_id,再轮询到音频文件。跟图片、视频共用同一个端点。

请求

curl https://api.lk888.ai/v1/media/generate \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "speech-2.8",
    "prompt": "大家好,欢迎收听本期节目",
    "params": {
      "quality": "hd",
      "voice_id": "LK_1_1772275968",
      "emotion": "happy",
      "speed": "1"
    }
  }'

prompt 是要合成的文本,模型自己的参数放 params。

响应

{ "code": 200, "data": { "task_id": 12345 }, "msg": "Task created successfully" }

四个模型,参数各不相同

先查再用:GET /v1/skills/models/{name}。

模型 音色 语速 情绪 音高 其他
speech-2.8 voice_id(自己克隆的) speed 0.5 / 0.75 / 1 / 1.25 / 1.5 / 2 emotion auto / happy / sad / angry / fearful / surprised / calm pitch -6 / -3 / 0 / 3 / 6 quality 必填,turbo / hd;sound_effects none / spacious_echo / auditorium_echo / lofi_telephone / robotic
doubao-tts-2.0 voice_id(豆包预设) speech_rate -50 / -25 / 0 / 25 / 50 / 100 emotion 同上;emotion_scale 1–5 — format mp3 / wav / ogg_opus
gem-2.5-tts voice_id(GEM 预设) — — — model_version 必填,pro / flash
gem-3.1-tts voice_id(GEM 预设) — — — —

speed 是倍数(1 就是原速),speech_rate 是百分比差值(0 也是原速,范围 -50 到 100)。

音色

voice_id 从查询音色列表拿,四个 TTS 模型都靠它选音色。

speech-2.8 用的是你克隆出来的音色;豆包和 GEM 用平台预设音色,不传 voice_id 时豆包走默认音色 zh_female_vv_uranus_bigtts。

轮询

GET /v1/skills/task-status?task_id=12345,间隔 5 秒,is_final = true 停。成品在 result_url,result_type 是 audio。详见查询任务。

特别注意

  • speech-2.8 的 quality 必填 —— turbo 快而便宜,hd 更清晰
  • GEM 两系共用同一批预设音色,voice_id 一样,区别在 gem-2.5-tts 的 model_version
  • speech-2.8 支持长文本旁白,一段长文不用拆
  • notify_url 是顶层字段,跟 model / prompt / params 平级,别塞进 params
  • 提交前查余额:GET /v1/skills/balance
  • 失败看 error_code,能不能重试见错误码查询