Text to Speech

Text-to-Speech API

Tổng Quan

Giới thiệu
Text-to-Speech (TTS) API của AusyncLab cho phép chuyển đổi văn bản thành âm thanh tự nhiên và truyền cảm. Hệ thống hỗ trợ nhiều loại giọng nói, ngôn ngữ đa dạng và công nghệ sao chép giọng nói tiên tiến.

Tính Năng Chính

  • Chuyển đổi văn bản thành âm thanh chất lượng cao
  • Hỗ trợ 17+ ngôn ngữ khác nhau
  • Công nghệ Voice Cloning với chỉ 3-7 giây mẫu giọng
  • Điều chỉnh tốc độ nói linh hoạt
  • Callback URL để theo dõi tiến trình xử lý

Quick Start

  1. Đăng ký và lấy API Key từ hệ thống.
  2. Tải lên giọng nói vào Voice Library hoặc sử dụng giọng có sẵn.
  3. Gửi yêu cầu TTS với văn bản và voice_id mong muốn.
  4. Nhận thông báo qua callback_url khi hoàn thành.

Xác Thực

API yêu cầu cung cấp API Key qua header X-API-Key. API Key phải được bảo mật và không chia sẻ công khai.

Base URL

https://api.ausynclab.io/api/v1/speech

Playground

Thử nghiệm API tại: https://api.ausynclab.io/docs (opens in a new tab)


Chi Tiết Endpoints

1. Text to Speech

Endpoint: POST /text-to-speech
Mô tả: Chuyển đổi văn bản thành audio dựa trên các thông số đầu vào.

Tham số Request Body:

  • audio_name (bắt buộc): Tên của đoạn audio.
  • text (bắt buộc): Văn bản cần chuyển đổi.
  • voice_id (bắt buộc): ID của giọng nói mong muốn. Xem trang Voice Library để lấy ID giọng nói.
  • speed (tùy chọn): Tốc độ nói (từ 0.75 đến 1.25).
  • model_name (tùy chọn): Model dùng để chuyển đổi (myna-1 hoặc myna-2). Mặc định là myna-1.
  • language (tùy chọn): Ngôn ngữ chuyển đổi. Các ngôn ngữ được hỗ trợ:
    • en: Tiếng Anh (English)
    • vi: Tiếng Việt (Vietnamese)
    • de: Tiếng Đức (German)
    • fr: Tiếng Pháp (French)
    • ko: Tiếng Hàn (Korean)
    • ja: Tiếng Nhật (Japanese)
    • zh: Tiếng Trung (Chinese)
    • it: Tiếng Ý (Italian)
    • pt: Tiếng Bồ Đào Nha (Portuguese)
    • pl: Tiếng Ba Lan (Polish)
    • es: Tiếng Tây Ban Nha (Spanish)
    • nl: Tiếng Hà Lan (Dutch)
    • th: Tiếng Thái (Thai)
    • ms: Tiếng Mã Lai (Malay)
    • hi: Tiếng Hindi (Hindi)
    • ar: Tiếng Ả Rập (Arabic)
    • he: Tiếng Do Thái (Hebrew)
  • callback_url (bắt buộc): URL sẽ được gọi khi Text-to-speech job hoàn thành. Xem mục Callback Payload để tìm hiểu thêm.

CURL:

curl -X 'POST' \
  'https://api.ausynclab.io/api/v1/speech/text-to-speech' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "audio_name": "Demo Audio",
    "text": "Xin chào, đây là Text-to-Speech API",
    "voice_id": 1,
    "speed": 1.0,
    "model_name": "myna-2",
    "language": "vi"
    "callback_url": "https://your-callback-url.com"
}'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": {
    "audio_id": 123
  }
}

2. Lấy Danh Sách Audio

URL: https://api.ausynclab.io/api/v1/speech
Phương thức: GET
Mô tả: Lấy danh sách các audio đã tạo.

CURL:

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

Phản hồi:

  • 200 OK
{
  "status": null,
  "result": [
    {
      "id": 123,
      "name": "Demo Audio",
      "voice_id": 1,
      "voice_name": "Demo Voice",
      "speed": 1,
      "created_at": "2025-01-04T07:05:24.040000",
      "audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/sample_audio.wav",
      "audio_url_stream": "https://cdn-ausync-endpoint.azureedge.net/audio/sample_audio.m3u8",
      "state": "SUCCEED"
    },
    ...
  ]
}

3. Lấy Thông Tin Chi Tiết Audio

URL: https://api.ausynclab.io/api/v1/speech/{audio_id}
Phương thức: GET
Mô tả: Lấy thông tin chi tiết của một audio đã tạo.

Tham số:

  • audio_id (bắt buộc): ID của audio (kiểu integer).

CURL:

curl -X 'GET' \
  'https://api.ausynclab.io/api/v1/speech/123' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key'

Phản hồi:

  • 200 OK
{
  "status": 200,
  "result": {
    "id": 123,
    "name": "Demo Audio",
    "voice_id": 1,
    "voice_name": "Demo Voice",
    "speed": 1,
    "created_at": "2025-01-04T07:05:24.040000",
    "audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/sample_audio.wav",
    "audio_url_stream": "https://cdn-ausync-endpoint.azureedge.net/audio/sample_audio.m3u8",
    "state": "SUCCEED"
  }
}
  • 404 Not Found: Không tìm thấy audio.

4. Xóa Audio

URL: https://api.ausynclab.io/api/v1/speech/{id}
Phương thức: DELETE
Mô tả: Xóa một audio khỏi hệ thống.

Tham số:

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

CURL:

curl -X 'DELETE' \
  'https://api.ausynclab.io/api/v1/speech/123' \
  -H 'accept: application/json' \
  -H 'X-API-Key: your_api_key'

Phản hồi:

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

Callback Payload

Khi Text-to-speech job hoàn thành, API sẽ gửi thông báo đến callback_url với payload:

Nội dung Payload:

  • audio_id : ID của audio được tạo.
  • credits_used : Số lượng tín dụng đã sử dụng để tạo âm thanh.
  • voice_id : ID của giọng nói đã sử dụng.
  • speed : Tốc độ nói của âm thanh.
  • sample_rate : Tần số mẫu của âm thanh.
  • created_at : Thời gian tạo âm thanh (ISO 8601).
  • status: Trạng thái của request ("SUCCEED", "FAILED").
  • audio_url : URL để tải xuống tệp âm thanh đã tạo.
  • message : Thông báo về kết quả xử lý (ví dụ: "Your audio is generated successfully.").

Ví dụ

{
  "audio_id": 12345,
  "credits_used": 10,
  "voice_id": 1,
  "speed": 1.0,
  "sample_rate": 24000,
  "created_at": "2024-12-30T10:00:00Z",
  "status": "SUCCEEDED",
  "audio_url": "https://cdn-ausync-endpoint.azureedge.net/audio/sample_audio.wav",
  "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.