API Tách Giọng Nói
Giá cả
25 credits cho mỗi yêu cầu
Chi phí cố định bất kể độ dài audio hay kích thước file.
Tổng quan
API Tách Giọng Nói tách giọng hát (vocals) và nhạc nền/hiệu ứng (instrumental) từ file audio/video sử dụng các model AI chuyên dụng để tách âm thanh chất lượng cao.
Endpoint: https://api.revidapi.com/paid/separate/audio
Endpoints
| Method | Endpoint | Auth | Mô tả |
|---|---|---|---|
| POST | https://api.revidapi.com/paid/separate/audio |
✅ Required | Tạo task tách âm thanh |
| GET | https://edit.revidapi.com/api/get/{task_id} |
❌ | Kiểm tra trạng thái task |
| GET | https://edit.revidapi.com/output/{filename} |
❌ | Download file kết quả |
Yêu cầu
Headers
x-api-key: Bắt buộcContent-Type:application/json(JSON body) hoặcmultipart/form-data(form body)
Tham số
| Parameter | Type | Mô tả |
|---|---|---|
audio_url |
string | Bắt buộc. URL file audio/video cần tách |
output_format |
string | mp3, wav, flac. Mặc định: mp3 |
headers |
object | Custom headers khi server tải file (cookie, Referer, ...) |
Lưu ý: Hỗ trợ cả JSON body và multipart/form-data. Trong n8n có thể dùng form-data với field audio_url.
Định dạng Output
| Format | Chất lượng | Kích thước | Mô tả |
|---|---|---|---|
mp3 |
Tốt | Nhỏ | Phổ biến, tương thích cao |
wav |
Cao nhất | Lớn | Không nén, chất lượng gốc |
flac |
Cao | Trung bình | Nén không mất dữ liệu |
Phản hồi
Phản hồi Ngay lập tức (Task Created)
POST endpoint trả về ngay lập tức với task_id:
{
"task_id": "60174a16-b6fa-47b1-8c5f-c54cc434c0df",
"status": "pending",
"message": "Task queued",
"type": "separate_voice"
}
Trạng thái Task (GET)
Sử dụng task_id để poll trạng thái:
GET https://edit.revidapi.com/api/get/{task_id}
⏳ Đang xử lý
{
"task_id": "60174a16-b6fa-47b1-8c5f-c54cc434c0df",
"status": "processing",
"type": "separate_voice",
"progress": 50,
"message": "Processing with UVR-MDX-NET-Voc_FT.onnx...",
"created_at": "2025-12-24T05:41:40.670179",
"completed_at": null,
"result": null
}
✅ Hoàn thành
{
"task_id": "60174a16-b6fa-47b1-8c5f-c54cc434c0df",
"status": "completed",
"type": "separate_voice",
"progress": 100,
"message": "Voice separation completed",
"created_at": "2025-12-24T05:41:40.670179",
"completed_at": "2025-12-24T05:42:27.137799",
"result": {
"vocals_url": "/output/vocals_60174a16.mp3",
"instrumental_url": "/output/instrumental_60174a16.mp3",
"model_used": "UVR-MDX-NET-Voc_FT.onnx"
}
}
❌ Thất bại
{
"task_id": "60174a16-b6fa-47b1-8c5f-c54cc434c0df",
"status": "failed",
"type": "separate_voice",
"progress": 0,
"message": "Failed to download audio: HTTP 401",
"created_at": "2025-12-24T05:41:40.670179",
"completed_at": "2025-12-24T05:41:41.123456",
"result": null
}
Các trường Kết quả
| Field | Type | Mô tả |
|---|---|---|
vocals_url |
string | URL file giọng hát (relative path) |
instrumental_url |
string | URL file nhạc nền/hiệu ứng (relative path) |
model_used |
string | Model đã sử dụng |
Lưu ý: URLs là relative paths, cần thêm domain https://edit.revidapi.com để download.
Ví dụ Yêu cầu
Ví dụ
JSON body:
curl -X POST https://api.revidapi.com/paid/separate/audio \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{"audio_url": "https://example.com/audio.mp3"}'
Multipart (n8n): Dùng contentType: multipart-form-data, field audio_url = URL audio (ví dụ từ response trước đó).
Kiểm tra Trạng thái
curl https://edit.revidapi.com/api/get/60174a16-b6fa-47b1-8c5f-c54cc434c0df
Download Kết quả
# Download giọng hát
curl -O https://edit.revidapi.com/output/vocals_60174a16.mp3
# Download nhạc nền
curl -O https://edit.revidapi.com/output/instrumental_60174a16.mp3
Thời gian Xử lý
| Độ dài Audio | Model nhanh | Model chất lượng |
|---|---|---|
| 1 phút | ~30s | ~60s |
| 5 phút | ~2 phút | ~4 phút |
| 10 phút | ~4 phút | ~8 phút |
Workflow
┌─────────────────────────────────────┐
│ 1. POST separate-voice │
│ Input: audio_url, model │
│ Output: task_id │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ 2. Wait 30-60 seconds │
│ (tùy độ dài audio) │
└─────────────────────────────────────┘
↓
┌─────────────────────────────────────┐
│ 3. GET /api/get/{task_id} │
│ Check status │
└─────────────────────────────────────┘
↓
┌──────┴──────┐
│ │
processing completed
│ │
↓ ↓
Loop back ┌─────────────────────┐
to Wait │ 4. Download files │
│ - vocals_url │
│ - instrumental_url│
└─────────────────────┘
Trường hợp Sử dụng
1. Tạo video karaoke
Video gốc → Tách instrumental → Ghép với giọng hát mới
2. Dịch video giữ nhạc nền
Video gốc → Tách instrumental + vocals
→ Dịch vocals → TTS tiếng mới
→ Ghép TTS + instrumental
3. Xóa nhạc nền, giữ lời nói
Video hướng dẫn → Tách vocals → Dùng vocals sạch
4. Trích xuất nhạc nền
Video → Tách instrumental → Dùng làm background music
Lưu ý Quan trọng
1. URL Audio
- URL phải public hoặc cung cấp
headersvới cookie/token - URL từ TikTok/Douyin thường hết hạn nhanh (vài phút) - nên download trước
- Hỗ trợ cả video và audio: MP4, MP3, WAV, FLAC, WebM, etc.
2. Chất lượng Tách
- Vocals: Giọng hát/nói chính
- Instrumental: Nhạc nền, hiệu ứng, tiếng động
Tips để có chất lượng tốt: - Audio gốc chất lượng cao → kết quả tách tốt hơn - Nếu vẫn còn lẫn giọng, có thể chạy 2 lần (2-pass)
3. Giới hạn
- File size tối đa: 500MB
- Thời lượng tối đa: 30 phút
- Timeout: 10 phút/task
Xử lý Lỗi
Lỗi: HTTP 401/403
Nguyên nhân: URL cần authentication
Giải pháp:
{
"audio_url": "https://protected-site.com/audio.mp3",
"headers": {
"Cookie": "session=abc123"
}
}
Lỗi: File too small
Nguyên nhân: Download thất bại, file bị corrupt
Giải pháp: - Kiểm tra URL có hợp lệ không - Thử download thủ công xem được không - URL có thể đã hết hạn
Lỗi: Model not found
Nguyên nhân: Tên model sai
Instrumental vẫn còn lẫn giọng
Nguyên nhân: Model không tách hoàn hảo 100%
Giải pháp:
1. Dùng model chất lượng cao hơn: UVR-MDX-NET-Voc_FT.onnx
2. Chạy 2 lần (2-pass): Tách lần 1 → Lấy instrumental → Tách lần 2
Ghi chú Sử dụng
- Giá cố định: Endpoint này tính phí cố định 25 credits cho mỗi yêu cầu, bất kể độ dài audio.
- POST trả về ngay với
task_id(không chờ xử lý) - GET task status để lấy kết quả (poll trong loop)
- Định dạng hỗ trợ: MP3, WAV, FLAC, MP4, WebM, và các định dạng audio/video phổ biến khác
- Xử lý bất đồng bộ: Dùng webhooks để đáng tin cậy hơn với file audio dài
- Chọn model: Chọn model dựa trên yêu cầu chất lượng vs tốc độ
Thực hành Tốt nhất
- Dùng Webhooks: Luôn dùng webhooks để đáng tin cậy hơn, đặc biệt với file audio dài
- ID duy nhất: Cung cấp giá trị
idduy nhất để theo dõi yêu cầu - Chọn Model: Dùng model chất lượng cho sản phẩm cuối, model nhanh để test
- Khả năng truy cập URL: Đảm bảo URL audio có thể truy cập công khai hoặc cung cấp headers xác thực đúng
- Kích thước File: Xem xét giới hạn kích thước và thời lượng file trước khi gửi yêu cầu
- Xử lý Lỗi: Triển khai xử lý lỗi mạnh mẽ cho các mã trạng thái HTTP khác nhau