Chuyển văn bản thành giọng nói
Nhận một đoạn văn bản và trả về link file audio đọc nội dung đó, xử lý đồng bộ.
Backpressure: hệ thống giới hạn tối đa 18 request TTS xử lý đồng
thời — nếu đạt giới hạn, trả về 503 SERVICE_OVERLOADED kèm
Retry-After: 2.
Circuit breaker: nếu nhà cung cấp lỗi 5 lần trong 10 lần gọi gần
nhất, circuit breaker mở trong 30 giây — trong lúc này mọi request
nhận 503 AI_PROVIDER_UNAVAILABLE kèm Retry-After là số giây còn
lại.
Headers
Key tuỳ chọn, tự sinh phía client, giúp request tính phí retry an toàn. Gửi lại nguyên vẹn cùng một giá trị khi retry: lần gọi thành công đầu tiên được tính phí một lần, kết quả được replay lại cho các lần gọi sau với cùng key (trong vòng 24 giờ). Gửi lại trong lúc request gốc vẫn đang xử lý sẽ nhận 409 DUPLICATE_REQUEST.
Request
Văn bản cần đọc.
Mã giọng đọc — lấy tại GET /tts/voices. Bắt buộc.
Mã model dùng để tạo giọng nói — lấy tại GET /tts/models.
Bắt buộc; modelId ngoài danh sách model hợp lệ sẽ bị từ chối
với 400.
Gợi ý ngôn ngữ, ví dụ vi. Dành cho tương lai — provider hiện bỏ qua trường này.
Tham số cấu hình tuỳ chọn cho model đã chọn — một tập con của
field config trả về tại GET /tts/models (ví dụ
speed, speechEmotion, speechStyle, age tuỳ model, đặt
tên dạng camelCase). Được chuyển thẳng cho nhà cung cấp AI,
không được xác thực (validate) ở tầng public-service — giá
trị speed/option không hợp lệ sẽ bị nhà cung cấp từ chối. Chỉ
những tham số được gửi mới bị ghi đè; tham số bỏ trống dùng giá
trị mặc định của provider.
Response
Thành công.
Mã tra cứu request, dùng khi cần đối soát phí, liên hệ hỗ trợ, hoặc tra cứu lại qua GET /tts/jobs.
URL tải file audio đã tổng hợp — trỏ tới endpoint tải xuống self-host của public-service (GET /tts/audio), KHÔNG phải link CDN của nhà cung cấp. File được lưu trữ tối đa 30 ngày, URL sống đủ theo vòng đời file.
Độ dài âm thanh đầu ra (giây).
Dung lượng file audio đầu ra (byte), đo phía server.
Tổng thời gian xử lý end-to-end (mili-giây).
Mã ngôn ngữ đã gửi khi tổng hợp — có thể null nếu không gửi.