Tài liệu API
tts
Tạo Giọng Đọc — Giọng đọc tiếng Việt quen thuộc của CapCut, trả file MP3 ngay.
type: cong-cu-mien-phioutput: audioMiễn phí
Input — tham số đầu vào
POST
/v1/generationsGửi JSON gồm "model": "tts" và các tham số dưới đây ở cùng cấp. Tham số không có trong bảng sẽ bị từ chối (400).
| Tham số | Kiểu | Giá trị hỗ trợ | Mô tả |
|---|---|---|---|
modelrequired | string | tts | Mã model |
textrequired | string | Tối đa 5.000 ký tự | Văn bản |
language | enum | vizh Mặc định: | Ngôn ngữ |
voice | enum | Lựa chọn thay đổi theo Mặc định: | Giọng đọc |
voice_2 | string | Tối đa 80 ký tự | Mã giọng khác (không bắt buộc) — Bỏ trống để dùng giọng chọn ở trên; điền mã giọng CapCut khác (Việt, Trung, Nhật, Anh) nếu cần |
speed | number | 0.7 – 1.5 Mặc định: | Tốc độ — 0.7 = chậm, 1 = tự nhiên, 1.5 = nhanh |
- Tham số file (string URL) nhận link công khai http(s) — máy chủ tự tải về — hoặc URL trả về từ API tải file POST /account/ai/uploads.
- Bỏ trống tham số không bắt buộc thì dùng giá trị mặc định.
Ví dụ request
curl -X POST https://nov.ai.vn/api/v1/generations \
-H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
-d '{
"model": "tts",
"text": "Một chú mèo phi hành gia",
"language": "vi",
"voice": "BV421_vivn_streaming",
"speed": 1
}'Output — kết quả trả về
Tác vụ chạy bất đồng bộ. POST /v1/generations trả ngay đối tượng generation với status queued hoặc processing; hỏi lại GET /v1/generations/{id} mỗi 5–10 giây tới khi status là succeeded, failed hoặc cancelled.
GET
/v1/generations/{id}{
"id": "3f1c...-uuid",
"object": "generation",
"code": "T8KQ2M4X",
"model": "tts",
"status": "succeeded", // queued | processing | succeeded | failed | cancelled
"progress": 100,
"cost": 2400, // số tiền đã trừ
"currency": "VND",
"refunded": false,
"output": {
"type": "audio",
"files": [{ "url": "https://nov.ai.vn/uploads/ai/outputs/....mp3", "type": "audio", "name": "audio.mp3" }],
"text": null
},
"error": null,
"created_at": "2026-10-30T08:00:00.000Z",
"completed_at": "2026-10-30T08:01:12.000Z"
}| Trường | Ý nghĩa |
|---|---|
| output.files[].url | Link file kết quả — nên tải về hệ thống của bạn, file trên máy chủ có thể được dọn sau một thời gian. |
| output.text | Nội dung văn bản (chỉ có với model trả văn bản). |
| cost | Số tiền VND đã trừ vào số dư; lỗi hoặc huỷ thì tự hoàn lại (refunded = true). |
| error | Lý do lỗi khi status = failed. |
Báo giá trước khi chạy
POST
/v1/generations/estimateCùng body với POST /v1/generations, không chạy và không trừ tiền.
# => { "object": "estimate", "model": "tts", "cost": 2400, "currency": "VND" }