Voice Changer

API Chuyển đổi giọng nói

Tổng quan

Giới thiệu
API Chuyển đổi giọng nói cung cấp các chức năng để chuyển đổi tệp audio dựa trên đầu vào audio gốc và tham chiếu, hỗ trợ chỉ định ngôn ngữ và cắt thời gian tùy chọn. Người dùng có thể tải lên URL audio, chỉ định tham số chuyển đổi, lấy tệp audio đã chuyển đổi và nhận thông báo hoàn thành qua callback_url.

Bắt đầu nhanh

  1. Đăng ký và lấy API Key từ hệ thống.
  2. Gửi yêu cầu HTTP với API Key trong header X-API-Key.
  3. Sử dụng các endpoint để thực hiện chuyển đổi giọng nói, quản lý và lấy thông tin audio.

Xác thực
API yêu cầu API Key trong header X-API-Key. Giữ API Key an toàn và không chia sẻ công khai.

URL Cơ sở

https://api.ausynclab.org/api/v1/audio-conversion

Sân chơi
https://api.ausynclab.org/docs (opens in a new tab)

Các Endpoint

1. Chuyển đổi giọng nói

URL: https://api.ausynclab.org/api/v1/audio-conversion/convert
Phương thức: POST
Mô tả: Chuyển đổi giọng nói dựa trên URL audio gốc và audio tham chiếu.

Tham số Body Yêu cầu:

  • name (tùy chọn): Tên của audio.
  • raw_language (bắt buộc): Ngôn ngữ của audio gốc. Ngôn ngữ hỗ trợ:
    • en: Tiếng Anh
    • vi: Tiếng Việt
    • de: Tiếng Đức
    • fr: Tiếng Pháp
    • ko: Tiếng Hàn
    • ja: Tiếng Nhật
    • zh: Tiếng Trung
    • it: Tiếng Ý
    • pt: Tiếng Bồ Đào Nha
    • pl: Tiếng Ba Lan
    • es: Tiếng Tây Ban Nha
    • nl: Tiếng Hà Lan
    • th: Tiếng Thái
    • ms: Tiếng Mã Lai
    • hi: Tiếng Hindi
    • ar: Tiếng Ả Rập
    • he: Tiếng Do Thái
  • reference_language (bắt buộc): Ngôn ngữ của audio tham chiếu (cùng danh sách ngôn ngữ với raw_language).
  • raw_audio_url (bắt buộc): URL của tệp audio gốc.
  • reference_audio_url (bắt buộc): URL của tệp audio tham chiếu.
  • start_time (tùy chọn): Thời gian bắt đầu để cắt audio (tính bằng giây).
  • end_time (tùy chọn): Thời gian kết thúc để cắt audio (tính bằng giây).
  • callback_url (tùy chọn): URL để nhận thông báo hoàn thành công việc.

Lưu ý: Khoảng thời gian cắt audio tối đa là 20 giây.

CURL:

curl -X 'POST' \
  'https://api.ausynclab.org/api/v1/audio-conversion/convert' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "audio Chuyển đổi",
    "raw_language": "en",
    "reference_language": "vi",
    "raw_audio_url": "https://example.com/raw_audio.wav",
    "reference_audio_url": "https://example.com/ref_audio.wav",
    "start_time": 0.0,
    "end_time": 10.0,
    "callback_url": "https://your-callback-url.com"
}'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": {
    "audio_id": 456,
    "message": "Chuyển đổi audio đã được khởi tạo."
  }
}

2. Lấy Danh sách audio

URL: https://api.ausynclab.org/api/v1/audio-conversion/
Phương thức: GET
Mô tả: Lấy danh sách các audio đã chuyển đổi của người dùng đã xác thực.

CURL:

curl -X 'GET' \
  'https://api.ausynclab.org/api/v1/audio-conversion/' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": [
    {
      "id": 456,
      "state": "SUCCEED",
      "name": "audio Chuyển đổi",
      "raw_language": "en",
      "reference_language": "vi",
      "raw_audio_url": "https://example.com/raw_audio.wav",
      "reference_audio_url": "https://example.com/ref_audio.wav",
      "converted_audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.wav",
      "converted_audio_url_stream": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.m3u8",
      "created_at": "2025-06-25T00:16:00Z"
    }
  ]
}

3. Lấy Chi tiết audio

URL: https://api.ausynclab.org/api/v1/audio-conversion/{audio_id}
Phương thức: GET
Mô tả: Lấy chi tiết của một audio đã chuyển đổi cụ thể.

Tham số:

  • audio_id (bắt buộc): ID của audio (kiểu số nguyên).

CURL:

curl -X 'GET' \
  'https://api.ausynclab.org/api/v1/audio-conversion/456' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": {
    "id": 456,
    "state": "SUCCEED",
    "name": "Audio Name",
    "raw_language": "en",
    "reference_language": "vi",
    "raw_audio_url": "https://example.com/raw_audio.wav",
    "reference_audio_url": "https://example.com/ref_audio.wav",
    "converted_audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.wav",
    "converted_audio_url_stream": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.m3u8",
    "created_at": "2025-06-25T00:16:00Z"
  }
}
  • 404 Not Found: Không tìm thấy audio.

4. Xóa audio

URL: https://api.ausynclab.org/api/v1/audio-conversion/{id}
Phương thức: DELETE
Mô tả: Xóa một audio đã chuyển đổi cụ thể.

Tham số:

  • id (bắt buộc): ID của audio cần xóa (kiểu số nguyên).

CURL:

curl -X 'DELETE' \
  'https://api.ausynclab.org/api/v1/audio-conversion/456' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": {
    "id": 456
  }
}
  • 404 Not Found: Không tìm thấy audio.

Callback Payload

Khi công việc chuyển đổi audio hoàn tất, API gửi thông báo đến callback_url với payload sau:

Nội dung Payload:

  • voice_conversion_id: ID của quá trình chuyển đổi âm thanh.
  • credits_used: Số lượng tín dụng đã sử dụng.
  • created_at: Thời gian tạo âm thanh (ISO 8601).
  • status: Trạng thái của yêu cầu ("SUCCEED", "FAILED").
  • audio_url: URL để tải xuống tệp âm thanh đã chuyển đổi.
  • message: Thông báo về kết quả xử lý.

Ví dụ:

{
  "audio_id": 456,
  "state": "SUCCEED",
  "name": "audio Chuyển đổi",
  "raw_language": "en",
  "reference_language": "vi",
  "raw_audio_url": "https://example.com/raw_audio.wav",
  "reference_audio_url": "https://example.com/ref_audio.wav",
  "converted_audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.wav",
  "converted_audio_url_stream": "https://cdn-ausync-endpoint.azureedge.net/audio/converted_audio.m3u8",
  "created_at": "2025-06-25T00:16:00Z",
  "message": "Your audio is generated successfully"
}

Lưu ý: Người dùng cần triển khai endpoint để nhận và xử lý payload này.