Ori联系我们

文档OriHub

音频模型调用

语音合成和音乐生成都是异步任务;TTS 先挑音色,音乐要带歌词。

音频模型分两类:语音合成(TTS,文字转语音)和音乐生成。协议跟图片、视频一样 —— 提交任务拿 task_id,再轮询到出结果。

这一页讲怎么挑模型、怎么用;每个接口的完整参数在创建语音合成任务、创建音乐生成任务、查询音色列表、克隆音色。

提交任务

curl https://api.lk888.ai/v1/media/generate \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gem-3.1-tts",
    "prompt": "大家好,欢迎收听本期节目",
    "params": { "voice_id": "Zephyr" }
  }'
{ "code": 200, "data": { "task_id": 12345 }, "msg": "Task created successfully" }

轮询结果

curl "https://api.lk888.ai/v1/skills/task-status?task_id=12345" \
  -H "Authorization: Bearer $OPENAI_API_KEY"

间隔 5 秒,is_final = true 停。成品在 result_url(.mp3 / .wav),result_type 是 audio,cost 是结算金额。

音色

TTS 的 voice_id 不是自己编的,先查再用:

curl "https://api.lk888.ai/v1/skills/voices" \
  -H "Authorization: Bearer $OPENAI_API_KEY"

返回的 voices 数组里每个音色带 voice_id、name、type(preset 预设 / cloned 克隆)、model、demo_audio,有的还带 gender、description、language。

按模型过滤:

过滤 拿到什么
?model=gem-2.5-tts ?model=gem-3.1-tts GEM 预设音色(同族共享)
?model=speech-2.8 你自己克隆的音色
?model=vidu-jieshuoman Vidu 漫剧预设音色,带 language 标明支持的语言
不带 model 全部

查到的 voice_id 放进请求体的 params.voice_id。GEM 系会自己转成内部的 voice_name,speech-2.8 和 vidu-jieshuoman 直接用 voice_id。

克隆自己的音色

只有 speech-2.8 支持:

curl https://api.lk888.ai/v1/skills/voices/clone \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "audio_url": "https://example.com/my-voice-sample.mp3",
    "name": "我的音色"
  }'
  • audio_url 得是公网可访问的音频直链(上游支持的格式);也可以内联 base64,只支持 MP3 / WAV / M4A,解码后 ≤20MB
  • 克隆扣 0.1 算力点;第一次用这个音色合成时还要额外扣 18.8 算力激活费,两笔独立
  • 音色名每人唯一,≤50 字
  • 新克隆的音色默认 7 天有效,第一次用来生成后转永久;过期的不会出现在列表里
  • 样本建议 10–60 秒,单人、清晰、无杂音 —— 效果主要取决于样本

音乐模型要带歌词

music-2.5 和 music-2.5+ 在歌曲模式下(is_instrumental 不设成 instrumental),params 里必须带 lyrics,否则报 lyrics cannot be empty:

{
  "model": "music-2.5",
  "prompt": "A upbeat pop song about city nights",
  "params": {
    "is_instrumental": "song",
    "lyrics": "[Verse]\nCity lights are shining bright tonight\nWe are dancing till the morning light",
    "bitrate": "256000",
    "sample_rate": "44100"
  }
}

支持的模型

8 个,两类:

  • Doubao 语音合成 2.0
  • Gemini-2.5-TTS
  • Gemini-3.1-TTS
  • Hailuo 语音克隆 2.8
  • Hailuo 音乐生成 2.5
  • Hailuo 音乐生成 2.5+
  • Suno 音乐生成 4.5
  • Suno 音乐生成 6

特别注意

  • 参数名各模型不同 —— 先查 GET /v1/skills/models/{name}:豆包用 emotion / emotion_scale / speech_rate / format,GEM 用 model_version,音乐用 bitrate / sample_rate / is_instrumental / lyrics
  • Suno 和 Hailuo 音乐差别:Suno 支持伴奏续写和卡拉OK字幕,Suno V6 与 Hailuo 2.5+ 支持纯音乐
  • 提交前查余额 —— GET /v1/skills/balance。克隆音色也扣点
  • 一个请求建一个任务,没有 count 参数
  • 失败看 error_code:内容违规 / 参数不对 / 余额不足 / 超额 / 密钥配置 —— 重发还是失败;线路没了 / 上游抽风 / 服务端错误 —— 等一下可以重试
  • 分组路由由密钥的调度策略决定,请求体里的 channel_group 和请求头 X-Channel-Group 都不改路由