API Chuyển văn bản thành giọng nói
Giá cả
10 credits cho mỗi 1.000 ký tự
Chi phí được tính dựa trên tổng số ký tự của văn bản bạn gửi.
Tổng quan
API Chuyển văn bản thành giọng nói chuyển đổi văn bản thành giọng nói tự nhiên bằng công nghệ neural voice tiên tiến. Endpoint này hỗ trợ nhiều công cụ TTS bao gồm Edge, CapCut, và Google.
Endpoint
- URL:
POST https://api.revidapi.com/paid/text-to-speech - Method:
POST
Yêu cầu
Headers
x-api-key: Bắt buộc. API key của bạn để xác thực.Content-Type: Bắt buộc. Phải làapplication/json.
Tham số Body
Tham số bắt buộc
| Tham số | Kiểu | Mô tả |
|---|---|---|
text |
string | Văn bản cần chuyển đổi thành giọng nói |
Tham số tùy chọn
| Tham số | Kiểu | Mô tả |
|---|---|---|
voice_id |
integer | Khuyến nghị. ID giọng nói. Xem tại revidapi.com/text-to-speech/voice-library |
speed |
number | Hệ số tốc độ (0.5 đến 2.0). Mặc định: 1.0 |
audio_name |
string | Tên file audio đầu ra. Mặc định: output |
webhook_url |
string (URI) | URL để nhận kết quả khi xử lý hoàn tất |
id |
string | Mã định danh tùy chỉnh để theo dõi yêu cầu |
Tùy chọn nâng cao: engine, voice, language, rate, volume, pitch, prompt, return_base64, return_url, google_api_key
Chọn giọng nói
Chỉ cần voice_id — Xem danh sách giọng nói tại: https://revidapi.com/text-to-speech/voice-library
{ "text": "Xin chào", "voice_id": 1001 }
Tùy chọn nâng cao: Dùng engine + voice nếu muốn chỉ định rõ (ví dụ: "engine": "edge", "voice": "vi-VN-HoaiMyNeural").
Các Ngôn ngữ Được Hỗ trợ
API Text to Speech hỗ trợ nhiều ngôn ngữ trên các engine khác nhau. Dưới đây là các ngôn ngữ được hỗ trợ phổ biến:
Tiếng Anh
- Mã Ngôn ngữ:
en-US,en-GB,en-AU,en-CA,en-IN - Ví dụ Giọng nói (Edge):
en-US-AriaNeural,en-US-JennyNeural,en-GB-SoniaNeural
Tiếng Việt
- Mã Ngôn ngữ:
vi-VN - Ví dụ Giọng nói (Edge):
vi-VN-HoaiMyNeural,vi-VN-NamMinhNeural
Tiếng Trung
- Mã Ngôn ngữ:
zh-CN(Giản thể),zh-TW(Phồn thể),zh-HK(Hồng Kông) - Ví dụ Giọng nói (Edge):
zh-CN-XiaoxiaoNeural,zh-TW-HsiaoChenNeural
Tiếng Nhật
- Mã Ngôn ngữ:
ja-JP - Ví dụ Giọng nói (Edge):
ja-JP-NanamiNeural,ja-JP-KeitaNeural
Tiếng Hàn
- Mã Ngôn ngữ:
ko-KR - Ví dụ Giọng nói (Edge):
ko-KR-SunHiNeural,ko-KR-InJoonNeural
Các Ngôn ngữ Khác Được Hỗ trợ
API cũng hỗ trợ nhiều ngôn ngữ khác bao gồm (nhưng không giới hạn):
| Ngôn ngữ | Mã | Ngôn ngữ | Mã |
|---|---|---|---|
| Tiếng Pháp | fr-FR, fr-CA |
Tiếng Đức | de-DE, de-AT, de-CH |
| Tiếng Tây Ban Nha | es-ES, es-MX |
Tiếng Ý | it-IT |
| Tiếng Bồ Đào Nha | pt-BR, pt-PT |
Tiếng Nga | ru-RU |
| Tiếng Ả Rập | ar-SA, ar-EG |
Tiếng Hindi | hi-IN |
| Tiếng Thái | th-TH |
Tiếng Indonesia | id-ID |
| Tiếng Hà Lan | nl-NL |
Tiếng Ba Lan | pl-PL |
| Tiếng Thổ Nhĩ Kỳ | tr-TR |
Tiếng Thụy Điển | sv-SE |
| Tiếng Na Uy | nb-NO |
Tiếng Đan Mạch | da-DK |
| Tiếng Phần Lan | fi-FI |
Tiếng Séc | cs-CZ |
Lưu ý: Lấy voice_id tại Thư viện giọng nói. Ngôn ngữ được xác định tự động từ voice_id. Ví dụ:
- en-US-AriaNeural → Tiếng Anh (Mỹ)
- vi-VN-HoaiMyNeural → Tiếng Việt
- zh-CN-XiaoxiaoNeural → Tiếng Trung (Giản thể)
Hướng dẫn tốc độ
Dùng speed (tất cả engines):
| Tốc độ | Hiệu ứng |
|---|---|
0.5 |
Chậm hơn 50% |
1.0 |
Bình thường (mặc định) |
1.5 |
Nhanh hơn 50% |
2.0 |
Nhanh gấp đôi |
Dùng rate (chỉ Edge): +0% (bình thường), +50% (nhanh hơn), -25% (chậm hơn)
Ví dụ yêu cầu
Ví dụ tối thiểu (chỉ cần text + voice_id):
{
"text": "Xin chào, chào mừng đến với dịch vụ Chuyển văn bản thành giọng nói của RevidAPI.",
"voice_id": 1001
}
Ví dụ đầy đủ:
{
"text": "Xin chào, chào mừng đến với dịch vụ Chuyển văn bản thành giọng nói của RevidAPI.",
"voice_id": 1001,
"speed": 1.0,
"audio_name": "output",
"webhook_url": "https://example.com/webhook",
"id": "tts-request-123"
}
curl -X POST "https://api.revidapi.com/paid/text-to-speech" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Xin chào", "voice_id": 1001}'
Phản hồi
Phản hồi ngay lập tức (202 Accepted)
Khi cung cấp webhook URL, API trả về xác nhận ngay lập tức với task_id:
{
"code": 202,
"id": "tts-request-123",
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"message": "processing"
}
Phản hồi thành công (qua Webhook hoặc trực tiếp)
{
"code": 200,
"id": "tts-request-123",
"task_id": "550e8400-e29b-41d4-a716-446655440000",
"response": {
"audio_url": "https://tts.revidapi.com/audio/output.mp3",
"format": "mp3",
"duration": 3.5,
"characters": 100,
"engine": "edge"
},
"message": "success"
}
Phản hồi lỗi
Yêu cầu không hợp lệ (400)
{
"code": 400,
"id": "tts-request-123",
"message": "Invalid request: 'text' is a required property"
}
Lỗi xác thực (401)
{
"code": 401,
"message": "Invalid API key"
}
Khuyến nghị quy trình làm việc
Đối với xử lý không đồng bộ:
- Tạo tác vụ: Gửi yêu cầu POST để tạo tác vụ
- Chờ: Thêm node chờ (30-45 giây) để cho phép thời gian xử lý server
- Kiểm tra trạng thái: Sử dụng endpoint GET để kiểm tra trạng thái tác vụ:
GET https://tts.revidapi.com/api/get/{task_id} - Lấy kết quả: Khi trạng thái là "completed", lấy URL âm thanh từ phản hồi
Ghi chú sử dụng
- Đếm ký tự: Credits được tính dựa trên tổng số ký tự của văn bản đã gửi (10 credits / 1000 ký tự).
- Xử lý Webhook: Khi cung cấp webhook_url, yêu cầu được xử lý không đồng bộ và kết quả được gửi đến webhook khi hoàn tất.
- Lựa chọn giọng nói: Chỉ cần
voice_id. Xem tại revidapi.com/text-to-speech/voice-library. - Giới hạn: Edge ~1000 ký tự/request (tự chunk nếu dài), CapCut ~300-450 ký tự, Google cần
google_api_keyhoặc cấu hình server.
Vấn đề thường gặp
- Giọng nói không hợp lệ: Đảm bảo voice_id hoặc tên giọng nói hợp lệ cho công cụ đã chọn
- Độ dài văn bản: Văn bản rất dài có thể mất nhiều thời gian hơn để xử lý
- Gửi Webhook: Đảm bảo webhook_url có thể truy cập công khai
Thực hành tốt nhất
- Sử dụng Webhooks: Luôn sử dụng webhooks để đảm bảo độ tin cậy tốt hơn
- ID duy nhất: Cung cấp giá trị
idduy nhất để theo dõi - Thử nghiệm giọng nói: Thử nghiệm các giọng nói khác nhau để tìm phù hợp nhất cho trường hợp sử dụng của bạn
- Điều chỉnh tốc độ: Thử nghiệm các giá trị tốc độ để tìm tốc độ giọng nói tối ưu