Hướng dẫn sử dụng API Openvoice

Hướng dẫn sử dụng API Openvoice cho Thành viên

Chào mừng bạn đến với API Openvoice! Hướng dẫn này sẽ giúp bạn hiểu cách sử dụng API của chúng tôi để tích hợp tính năng chuyển văn bản thành giọng nói (Text-to-Speech – TTS) vào các ứng dụng, website, hoặc quy trình tự động hóa của riêng bạn, bao gồm cả việc sử dụng với các công cụ như n8n.

1. API Key của bạn là gì và tìm ở đâu?

API Key là một chuỗi ký tự duy nhất được cấp cho tài khoản của bạn, dùng để xác thực các yêu cầu API và theo dõi mức sử dụng quota của bạn. Hãy giữ API Key của bạn bí mật và không chia sẻ công khai!

Bạn có thể tìm thấy API Key của mình tại trang tài khoản thành viên trên website của chúng tôi, trong phần giao diện tạo giọng nói. Thông thường, nó sẽ hiển thị rõ ràng và có nút “Sao chép” để bạn dễ dàng lấy.

2. Các Endpoint API

Chúng tôi cung cấp hai endpoint chính cho thành viên:

  • Endpoint TTS (Text-to-Speech): Dùng để gửi văn bản và nhận về file âm thanh giọng nói.
    • URL: https://apiov.chuan.in/api/tts
    • Phương thức: POST
  • Endpoint Quota: Dùng để kiểm tra thông tin quota sử dụng hiện tại của tài khoản bạn.
    • URL: https://chuanweb.com/wp-json/openvoice/v1/quota
    • Phương thức: GET

3. Xác thực API (Authentication)

Tất cả các yêu cầu đến API của chúng tôi đều yêu cầu xác thực bằng API Key của bạn. Bạn cần gửi API Key trong header của yêu cầu HTTP.

  • Header Name: X-API-Key
  • Header Value: [API_KEY_CỦA_BẠN] (Thay thế bằng API Key thực tế của bạn)

4. Sử dụng API TTS (Chuyển văn bản thành giọng nói)

Endpoint này cho phép bạn chuyển đổi văn bản thành giọng nói.

  • URL: https://apiov.chuan.in/api/tts
  • Phương thức: POST
  • Header bắt buộc:
    • X-API-Key: [API_KEY_CỦA_BẠN]
  • Body của yêu cầu (dạng multipart/form-data):
    • text (string, bắt buộc): Văn bản bạn muốn chuyển đổi.
    • style (string, tùy chọn): Phong cách giọng nói. Các giá trị có thể: default, whispering, cheerful, terrified, angry, sad, friendly. Mặc định là default.
    • lang (string, tùy chọn): Gợi ý ngôn ngữ của văn bản (ví dụ: vi cho tiếng Việt, en cho tiếng Anh). Nếu không cung cấp, API sẽ tự động phát hiện.
    • audio (file, tùy chọn): File âm thanh tham chiếu (MP3 hoặc WAV, tối đa 10MB) để clone giọng. Nếu không cung cấp, API sẽ sử dụng giọng mặc định cho ngôn ngữ được phát hiện.
  • Phản hồi thành công (Status Code: 200 OK):
    • API sẽ trả về một file âm thanh dạng audio/mpeg (MP3).
  • Phản hồi lỗi (Status Code khác 200):
    • API sẽ trả về một đối tượng JSON chứa thông báo lỗi. Ví dụ: {"error": "Daily word limit exceeded."}

Ví dụ sử dụng curl (Công cụ dòng lệnh phổ biến)

# Ví dụ 1: Chuyển đổi văn bản đơn giản (giọng mặc định)
curl -X POST \
  https://apiov.chuan.in/api/tts \
  -H "X-API-Key: YOUR_API_KEY_HERE" \
  -F "text=Xin chào, đây là giọng nói được tạo từ API Openvoice." \
  -F "lang=vi" \
  -o "output_vietnamese.mp3"

# Ví dụ 2: Chuyển đổi văn bản với phong cách cụ thể
curl -X POST \
  https://apiov.chuan.in/api/tts \
  -H "X-API-Key: YOUR_API_KEY_HERE" \
  -F "text=I am very happy to hear that!", \
  -F "style=cheerful" \
  -F "lang=en" \
  -o "output_cheerful.mp3"

# Ví dụ 3: Clone giọng từ file âm thanh (thay thế YOUR_AUDIO_FILE.mp3 bằng đường dẫn file của bạn)
curl -X POST \
  https://apiov.chuan.in/api/tts \
  -H "X-API-Key: YOUR_API_KEY_HERE" \
  -F "text=Bạn có thể nói chuyện như tôi không?" \
  -F "audio=@/path/to/your/YOUR_AUDIO_FILE.mp3;type=audio/mpeg" \
  -F "lang=vi" \
  -o "output_cloned_voice.mp3"

Hướng dẫn sử dụng với n8n

n8n là một công cụ tự động hóa mạnh mẽ, bạn có thể dễ dàng tích hợp API Openvoice vào các workflow của mình.

Bước 1: Thêm Node “HTTP Request”

Kéo và thả một node “HTTP Request” vào workflow của bạn.

Bước 2: Cấu hình Node “HTTP Request” cho TTS

  • Authentication: Chọn None (chúng ta sẽ thêm API Key thủ công vào Headers).
  • Method: POST
  • URL: https://apiov.chuan.in/api/tts
  • Headers:
    • Thêm một Header mới:
      • Name: X-API-Key
      • Value: [API_KEY_CỦA_BẠN] (Dán API Key của bạn vào đây)
  • Body Parameters:
    • Body Content Type: Chọn Form-Data.
    • Thêm các trường Form-Data:
      • Field 1:
        • Name: text
        • Value: [Văn bản bạn muốn chuyển đổi] (Bạn có thể lấy từ các node trước đó, ví dụ: {{ $json.text_input }})
      • Field 2 (Tùy chọn):
        • Name: style
        • Value: [Phong cách, ví dụ: default]
      • Field 3 (Tùy chọn):
        • Name: lang
        • Value: [Ngôn ngữ, ví dụ: vi]
      • Field 4 (Nếu muốn clone giọng):
        • Name: audio
        • Value: Chọn Binary Data. Sau đó, chọn Binary Property mà bạn muốn gửi (ví dụ: nếu bạn đã tải file lên bằng một node trước đó, nó có thể là data hoặc file).

Bước 3: Xử lý phản hồi (Audio)

Phản hồi từ API TTS là một file MP3. n8n sẽ nhận nó dưới dạng Binary Data.

  • Bạn có thể thêm một node “Write Binary File” để lưu file MP3 này vào một thư mục.
  • Hoặc chuyển tiếp Binary Data này đến các node khác (ví dụ: gửi qua email, tải lên dịch vụ lưu trữ đám mây).

5. Sử dụng API Quota (Kiểm tra mức sử dụng)

Endpoint này cho phép bạn kiểm tra số từ và số request đã sử dụng, cũng như giới hạn của gói thành viên hiện tại.

  • URL: https://chuanweb.com/wp-json/openvoice/v1/quota
  • Phương thức: GET
  • Header bắt buộc:
    • X-API-Key: [API_KEY_CỦA_BẠN]
  • Query Parameter bắt buộc:
    • api_key: [API_KEY_CỦA_BẠN] (API Key cũng cần được gửi trong query parameter cho endpoint này)
  • Phản hồi thành công (Status Code: 200 OK): API sẽ trả về một đối tượng JSON chứa thông tin quota của bạn.
    {
        "user_id": 123,
        "plan_label": "Gói Pro",
        "daily_words_limit": 30000,
        "words_used_today": 1500,
        "words_remaining": 28500,
        "requests_per_10_min_limit": 20,
        "requests_used_in_10_min": 3,
        "requests_remaining_in_10_min": 17
    }
    

Ví dụ sử dụng curl

curl -X GET \
  "https://chuanweb.com/wp-json/openvoice/v1/quota?api_key=YOUR_API_KEY_HERE" \
  -H "X-API-Key: YOUR_API_KEY_HERE"

Hướng dẫn sử dụng với n8n

Bước 1: Thêm Node “HTTP Request”

Kéo và thả một node “HTTP Request” vào workflow của bạn.

Bước 2: Cấu hình Node “HTTP Request” cho Quota

  • Authentication: Chọn None.
  • Method: GET
  • URL: https://chuanweb.com/wp-json/openvoice/v1/quota
  • Headers:
    • Thêm một Header mới:
      • Name: X-API-Key
      • Value: [API_KEY_CỦA_BẠN]
  • Query Parameters:
    • Thêm một Query Parameter mới:
      • Name: api_key
      • Value: [API_KEY_CỦA_BẠN]

Bước 3: Xử lý phản hồi (JSON)

Phản hồi từ API Quota là một đối tượng JSON. n8n sẽ tự động parse nó.

  • Bạn có thể sử dụng các node tiếp theo (ví dụ: “Set”, “If”, “Code”) để đọc và xử lý thông tin quota này. Ví dụ: kiểm tra {{ $json.words_remaining }} để xem còn bao nhiêu từ.

6. Lưu ý quan trọng

  • Bảo mật API Key: Luôn giữ API Key của bạn bí mật. Không nhúng trực tiếp vào mã nguồn frontend hoặc chia sẻ công khai.
  • Giới hạn sử dụng (Quota & Rate Limit): Hãy theo dõi quota hàng ngày và giới hạn request mỗi 10 phút của bạn để tránh bị chặn.
  • Xử lý lỗi: Luôn xử lý các phản hồi lỗi từ API trong ứng dụng của bạn.
  • Ngôn ngữ hỗ trợ: API tự động phát hiện ngôn ngữ, nhưng bạn nên cung cấp tham số lang để có kết quả tốt nhất.
  • File âm thanh tham chiếu: Đảm bảo file âm thanh bạn tải lên có chất lượng tốt, không quá ồn, và nằm trong giới hạn kích thước (tối đa 10MB) để việc clone giọng hiệu quả.

Chúc bạn thành công trong việc tích hợp API Openvoice vào các dự án của mình! Nếu có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với chúng tôi.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *