API Chuyển văn bản thành giọng nói¶
Một endpoint dùng cho cả văn bản thường lẫn phụ đề SRT:
| Bước | Lệnh gọi | Chi phí |
|---|---|---|
| 1. Tạo job | POST https://revidapi.com/v1/text-to-speech |
10–15 credit / 1.000 ký tự |
| 2. Lấy kết quả | GET https://revidapi.com/v1/text-to-speech/{job_id} |
Miễn phí |
Giá¶
Tính theo số ký tự, theo giá của giọng bạn chọn. Giá từng giọng ghi trong Thư viện giọng.
- Giọng tiêu chuẩn: 10 credit / 1.000 ký tự
- Giọng cao cấp: 15 credit / 1.000 ký tự
Credit bị trừ khi tạo job. Job lỗi hoặc mất kết quả thì credit được hoàn tự động.
Xác thực¶
Gửi API key trong header X-API-Key. Lấy key trên dashboard, mục API Key & Bảng giá.
1. Tạo job¶
POST https://revidapi.com/v1/text-to-speech
Body¶
Gửi một trong hai: text hoặc srt.
| Trường | Kiểu | Bắt buộc | Mô tả |
|---|---|---|---|
voice_id |
số | Có | ID giọng trong Thư viện giọng, ví dụ 9019 |
text |
chuỗi | Một trong hai | Văn bản cần đọc, tối đa 10.000 ký tự |
srt |
chuỗi | Một trong hai | Nội dung phụ đề SRT thô. Audio bám theo thời gian của phụ đề |
speed |
số | Không | 0.5–2.0. Mặc định 1.0 |
mode |
chuỗi | Không | Chỉ dùng với SRT. timeline (mặc định khi gửi SRT): mỗi câu bắt đầu đúng mốc thời gian. merge: nối các câu liền nhau |
audio_name |
chuỗi | Không | Tên file đầu ra |
Có thể gửi subtitles (mảng {index, start, end, text}) thay cho srt.
Ví dụ: văn bản¶
curl -X POST "https://revidapi.com/v1/text-to-speech" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voice_id": 9019, "text": "Xin chào, chào mừng bạn đến với RevidAPI."}'
Ví dụ: phụ đề SRT¶
curl -X POST "https://revidapi.com/v1/text-to-speech" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_id": 9019,
"srt": "1\n00:00:00,000 --> 00:00:03,000\nCâu thứ nhất\n\n2\n00:00:04,000 --> 00:00:07,000\nCâu thứ hai",
"mode": "timeline"
}'
Phản hồi¶
{
"success": true,
"job_id": "7c1d9a2e-4b1f-4f7e-9a55-2f3c8e1b6d40",
"status": "pending",
"characters": 41,
"credits": 0.62,
"get_result": "https://revidapi.com/v1/text-to-speech/7c1d9a2e-4b1f-4f7e-9a55-2f3c8e1b6d40"
}
2. Lấy kết quả¶
GET https://revidapi.com/v1/text-to-speech/{job_id}
Hỏi mỗi 2–3 giây tới khi status là completed hoặc failed. Một câu ngắn thường xong trong khoảng 3 giây; văn bản dài và file phụ đề lâu hơn.
curl "https://revidapi.com/v1/text-to-speech/JOB_ID" \
-H "X-API-Key: YOUR_API_KEY"
Đang xử lý
{ "job_id": "7c1d9a2e-…", "status": "processing", "progress": 40 }
Hoàn thành
{
"job_id": "7c1d9a2e-…",
"status": "completed",
"result": {
"audio_url": "https://…/output.mp3",
"format": "mp3",
"duration": 2.1
}
}
Tải file từ result.audio_url. Link dùng được trong 20 phút, nên lưu audio về phía bạn.
Thất bại
{ "job_id": "7c1d9a2e-…", "status": "failed", "message": "…" }
Credit của job thất bại được hoàn lại.
Lỗi¶
| HTTP | Ý nghĩa | Cách xử lý |
|---|---|---|
| 400 | Thiếu voice_id, hoặc không gửi text lẫn srt |
Sửa lại body |
| 401 | Thiếu hoặc sai API key | Kiểm tra header X-API-Key |
| 402 | Không đủ credit | Nạp thêm trên dashboard |
| 404 | Không tìm thấy job (hết hạn hoặc bị mất). Job mất thì credit đã được hoàn | Tạo lại job |
Ghi chú¶
- Hỏi kết quả cách nhau 2–3 giây; kết quả chỉ được giữ trên máy chủ trong một thời gian.
- Chỉ cần
voice_idlà đủ để xác định giọng, ngôn ngữ và giá. Không cần gửi engine hay ngôn ngữ. /v1/tts,/v1/tts-srt,/v1/srt-to-speech/mergevà/v1/tts/tasklà đường cũ. Chúng vẫn chạy cho tích hợp đang có, nhưng code mới chỉ nên dùng/v1/text-to-speech.