Hướng dẫn
API chuyển văn bản thành giọng nói
Tham số yêu cầu, phản hồi nhị phân và câu hỏi thường gặp của chuyển văn bản thành giọng nói
API chuyển văn bản thành giọng nói
Nền tảng cung cấp API chuyển văn bản thành giọng nói tương thích AI Platform. Việc khả dụng phụ thuộc vào nhóm và danh mục mô hình của API keys hiện tại:
Trước tiên xác nhận trong GET /v1/models có mô hình âm thanh khả dụng, rồi mới gọi API này.
Yêu cầu
| Mục | Giá trị |
|---|---|
| Phương thức | POST |
| Đường dẫn | /v1/audio/speech |
| Xác thực | Authorization: Bearer <API_KEY> |
| Header yêu cầu | Content-Type: application/json |
| Phản hồi | Âm thanh nhị phân (không phải JSON) |
Trả về là âm thanh nhị phân, không phải JSON — nên dùng --output (hoặc -o)
để ghi phản hồi trực tiếp thành tệp. Phân tích nó như JSON sẽ nhận được phần thân phản hồi rỗng.
Giá trị khả dụng của voice phụ thuộc vào mô hình hiện tại, không phải mọi mô hình đều chấp nhận alloy.
Yêu cầu
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.mp3Tham số yêu cầu
| Tham số | Kiểu | Mô tả |
|---|---|---|
model | string | Bắt buộc. data[].id của mô hình âm thanh trả về từ GET /v1/models. |
input | string | Bắt buộc. Văn bản cần tổng hợp. Giới hạn độ dài lấy theo mô hình thực tế. |
voice | string | Tên giọng điệu. Giọng khả dụng phụ thuộc vào mô hình hiện tại, vui lòng lấy chi tiết mô hình làm chuẩn. |
response_format | string | Định dạng âm thanh đầu ra, ví dụ mp3. Định dạng được hỗ trợ lấy theo mô hình thực tế. |
speed | number | Tốc độ nói. Việc có hỗ trợ và phạm vi giá trị lấy theo mô hình thực tế. |
Phạm vi khả dụng của giọng điệu, định dạng và tốc độ nói khác nhau tùy mô hình. Đừng giả định mọi mô hình đều hỗ trợ
alloyhoặcmp3, cũng đừng hard-code danh sách giọng điệu của một mô hình vào mã.
Phản hồi
Thành công
Phần thân của phản hồi thành công là dữ liệu âm thanh nhị phân, không phải JSON. Chỉ cần ghi trực tiếp vào tệp hoặc chuyển tiếp dạng luồng cho client.
# 保存为文件
curl ... --output speech.mp3
# 检查确实是音频而不是 JSON
file speech.mp3Thất bại
Khi thất bại trả về phản hồi không phải 2xx kèm đối tượng error, cấu trúc giống API mô hình:
{
"error": {
"code": "invalid_parameter",
"message": "..."
}
}Các nguyên nhân thất bại thường gặp:
| Tình huống | Biểu hiện | Xử lý |
|---|---|---|
| Nhóm không có mô hình âm thanh | model_not_found hoặc mô hình không khả dụng | Dùng GET /v1/models xác nhận mô hình âm thanh khả dụng |
| Giọng điệu không được mô hình đó hỗ trợ | invalid_parameter | Đổi sang giọng điệu mô hình đó hỗ trợ |
| Định dạng không được mô hình đó hỗ trợ | invalid_parameter | Đổi sang response_format được hỗ trợ |
| Yêu cầu quá thường xuyên | HTTP 429 | Lùi lại thử lại theo thông báo |
Khuyến nghị tích hợp phía máy chủ
Chuyển văn bản thành giọng nói là API đồng bộ, phản hồi chính là dữ liệu âm thanh, khi tích hợp lưu ý:
- Đừng phân tích nó như JSON. Trước tiên phán đoán trạng thái HTTP và
Content-Type, chỉ khi thất bại mới đọcerrortheo JSON; - Đừng quên đặt
Content-Typekhi chuyển tiếp âm thanh trực tiếp cho trình duyệt, nếu không trình duyệt sẽ xử lý nó như văn bản; - Kiểm soát độ dài
input. Văn bản quá dài khuyến nghị chia nhỏ ở phía nghiệp vụ, tổng hợp từng đoạn rồi ghép lại, tránh một yêu cầu vượt giới hạn; - Khuyến nghị chuyển lưu tệp âm thanh vào lưu trữ của riêng bạn, đừng phụ thuộc lâu dài vào kết quả tạm thời do nền tảng trả về;
- Backend nghiệp vụ nên cache kết quả tổng hợp lặp lại thường xuyên, tránh tính phí trùng.
Tác vụ âm thanh bất đồng bộ
Ngoài API đồng bộ này, nền tảng còn cung cấp năng lực tạo âm thanh bất đồng bộ (như nhạc nền, hiệu ứng âm thanh). Trạng thái và sản phẩm của loại tác vụ này được truy vấn trong "Nhật ký tác vụ" của bảng điều khiển, cách xử lý tương tự tác vụ video: sau khi tạo lưu ID tác vụ, dùng API truy vấn để poll đến trạng thái cuối, đừng tạo trùng.
Tính phí
Cách tính phí của API âm thanh lấy theo chi tiết mô hình tại chợ mô hình, có thể tính phí theo Token, theo lần hoặc theo thời lượng. Quy tắc tính phí và quyết toán xem Tính phí và hóa đơn.
