Bỏ qua

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ộc
  • Content-Type: application/json (JSON body) hoặc multipart/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 headers vớ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

  1. 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.
  2. POST trả về ngay với task_id (không chờ xử lý)
  3. GET task status để lấy kết quả (poll trong loop)
  4. Định dạng hỗ trợ: MP3, WAV, FLAC, MP4, WebM, và các định dạng audio/video phổ biến khác
  5. Xử lý bất đồng bộ: Dùng webhooks để đáng tin cậy hơn với file audio dài
  6. 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

  1. Dùng Webhooks: Luôn dùng webhooks để đáng tin cậy hơn, đặc biệt với file audio dài
  2. ID duy nhất: Cung cấp giá trị id duy nhất để theo dõi yêu cầu
  3. Chọn Model: Dùng model chất lượng cho sản phẩm cuối, model nhanh để test
  4. 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
  5. 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
  6. 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