跳至主要內容
LocoPal AiLocoPal Ai
API 接入模型與生成介面

使用指南

文字轉語音介面

文字轉語音的請求參數、二進位回應與常見問題

檢視 Markdown

文字轉語音介面

平台提供相容於 AI Platform 的文字轉語音介面。是否可用取決於目前 API keys 的分組與模型目錄: 請先在 GET /v1/models 中確認存在可用的音訊模型,再呼叫本介面。

請求

項目值
方法POST
路徑/v1/audio/speech
驗證Authorization: Bearer <API_KEY>
請求標頭Content-Type: application/json
回應二進位音訊(不是 JSON)

傳回的是二進位音訊,不是 JSON —— 所以請使用 --output(或 -o) 將回應直接寫成檔案。若把它當成 JSON 解析,會得到空白的回應內容。

voice 的可用取值取決於目前模型,並非所有模型都接受 alloy。

請求

curl -X POST "$LOCOPAL_BASE_URL/v1/audio/speech" \
  -H "Authorization: Bearer $LOCOPAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "从 /v1/models 选择的音频模型 ID",
    "input": "欢迎使用 LocoPal Ai。",
    "voice": "alloy",
    "response_format": "mp3"
  }' \
  --output speech.mp3

請求參數

參數類型說明
modelstring必填。GET /v1/models 傳回的音訊模型 data[].id。
inputstring必填。要合成的文字。長度上限以實際模型為準。
voicestring音色名稱。可用音色取決於目前模型,請以模型詳情為準。
response_formatstring輸出音訊格式,例如 mp3。支援的格式以實際模型為準。
speednumber語速。是否支援及取值範圍以實際模型為準。

音色、格式與語速的可用範圍因模型而異。不要假設所有模型都支援 alloy 或 mp3, 也不要把某個模型的音色清單寫死在程式碼裡。

回應

成功

成功回應的內容是二進位音訊資料,不是 JSON。直接寫入檔案或串流轉發給用戶端即可。

# 保存为文件
curl ... --output speech.mp3

# 检查确实是音频而不是 JSON
file speech.mp3

失敗

失敗時會傳回帶有 error 物件的非 2xx 回應,結構與模型介面一致:

{
  "error": {
    "code": "invalid_parameter",
    "message": "..."
  }
}

常見的失敗原因:

情況表現處理
分組中沒有音訊模型model_not_found 或模型無法使用使用 GET /v1/models 確認可用的音訊模型
音色不受該模型支援invalid_parameter改用該模型支援的音色
格式不受該模型支援invalid_parameter改用支援的 response_format
請求過於頻繁HTTP 429依提示退避重試

伺服器端接入建議

文字轉語音是同步介面,回應即為音訊資料,接入時請注意:

  1. 不要把它當成 JSON 解析。請先判斷 HTTP 狀態與 Content-Type, 只有失敗時才以 JSON 讀取 error;
  2. 將音訊直接透傳給瀏覽器時,不要忘記設定 Content-Type, 否則瀏覽器會把它當成文字處理;
  3. 控制 input 長度。過長的文字建議在業務端切分,分段合成後再拼接, 避免單次請求超過上限;
  4. 音訊檔案建議轉存到自己的儲存空間,不要長期依賴平台傳回的暫存結果;
  5. 業務後端應快取高頻重複的合成結果,避免重複計費。

非同步音訊任務

除本同步介面外,平台還提供非同步的音訊生成能力(例如配樂、音效)。 這類任務的狀態與成品可在主控台「任務日誌」中查詢,處理方式與 影片任務類似: 建立後儲存任務 ID,使用查詢介面輪詢到終態,不要重複建立。

計費

音訊介面的計費方式以模型廣場的模型詳情為準,可能依 Token、依次數或依時長計費。 計費與結算規則請見計費與帳單。

相關文件

這一頁有幫助嗎?

本頁目錄