文档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,能不能重试见错误码查询