Tài nguyên
https://sangtao.ai/api/v2/assets/voicesTài liệu cho Tài nguyên.
Trả về tất cả giọng đọc TTS. Dùng field slug làm voiceId khi tạo video.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| id | number | ID số của voice |
| slug | string | ID duy nhất của voice — dùng làm voiceId |
| name | string | Tên hiển thị |
| code | string? | Mã voice (internal identifier) |
| language | string | Mã ngôn ngữ BCP-47 (VD: "vi", "en") |
| gender | string | "Male" hoặc "Female" |
| age | string | Nhóm tuổi (VD: "Young", "Middle Aged") |
| style | string? | Phong cách (VD: "calm", "news") — null nếu không có |
| useCase | string? | Gợi ý use case (VD: "news", "callcenter") |
| voiceDescription | string? | Mô tả đặc điểm giọng nói |
| voiceSampleUrl | string? | URL audio mẫu |
| voiceImageUrl | string? | URL ảnh đại diện voice |
| previewUrl | string? | URL audio preview |
| tags | string? | Tags phân tách bằng dấu phẩy (VD: "news,calm") |
| ttsModel | string? | Bộ giọng đọc dùng cho job này |
| isPremium | bool | true = giọng premium (Pro tier) |
| creditCostPer1kChars | number | Chi phí credit mỗi 1.000 ký tự |
| isMultiLanguage | bool | true = voice hỗ trợ nhiều ngôn ngữ |
Tier giọng & Giá
| Tier | isPremium | Chi phí |
|---|---|---|
| Free | false | Miễn phí 500 ký tự đầu, sau đó 1 credit / 200 ký tự |
| Pro 10 | true (cost = 10) | 10 credit / 1.000 ký tự |
| Pro 40 | true (cost = 40) | 40 credit / 1.000 ký tự |
| Pro 60 | true (cost = 60) | 60 credit / 1.000 ký tự |
Ví dụ response
{
"success": true,
"data": [
{
"slug": "vi-VN-HoaiMyNeural",
"name": "Hoài My",
"code": "vi-VN-HoaiMyNeural",
"language": "vi",
"gender": "Female",
"age": "Young",
"style": null,
"useCase": null,
"voiceDescription": "Giọng nữ trẻ, tự nhiên",
"voiceSampleUrl": "https://cdn.sangtao.ai/...",
"voiceImageUrl": "https://cdn.sangtao.ai/...",
"previewUrl": "https://cdn.sangtao.ai/...",
"tags": "",
"ttsModel": "standard",
"isPremium": false,
"creditCostPer1kChars": 0
}
]
}Trả về tất cả nhạc nền có sẵn. Dùng field slug làm backgroundMusic.trackId.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| id | number | ID số của track |
| slug | string | ID duy nhất — dùng làm trackId |
| name | string | Tên tiếng Anh |
| nameVi | string | Tên tiếng Việt |
| category | string? | Danh mục: news, cinematic, corporate, calm, lofi, electronic, upbeat, inspiring, emotional, podcast |
| tags | string? | Tags phân tách bằng dấu phẩy |
| audioUrl | string | URL audio trực tiếp |
| previewUrl | string? | URL audio preview ngắn |
| durationSeconds | number? | Thời lượng (giây) — null nếu chưa có |
Ví dụ response
{
"success": true,
"data": [
{
"slug": "grand_project-breaking-news-background-music_loop-505609",
"name": "Breaking Alert",
"nameVi": "Tin nóng",
"category": "news",
"tags": "news,urgent",
"audioUrl": "https://cdn.sangtao.ai/assets/...",
"previewUrl": "https://cdn.sangtao.ai/assets/...",
"durationSeconds": null
}
]
}/api/v2/assets/caption-presetsTrả về các preset caption có sẵn. Dùng field slug làm caption.preset khi tạo video.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| slug | string | ID duy nhất — dùng làm caption.preset |
| name | string | Tên hiển thị |
| description | string? | Mô tả style preset |
| category | string? | Danh mục (VD: "popular") |
| previewImageUrl | string? | URL preview video/ảnh |
| configJson | string | Chuỗi JSON chứa full config caption mà preset áp dụng |
| editableFieldsJson | string | Mảng JSON các field user có thể override |
| isPremium | bool | true = preset premium |
/api/v2/assets/overlaysTrả về các hiệu ứng overlay có sẵn. Dùng field slug làm tham số overlay khi tạo video.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| slug | string | ID duy nhất — dùng làm overlay |
| name | string | Tên tiếng Anh |
| nameVi | string | Tên tiếng Việt |
| category | string? | Danh mục (VD: "particles") |
| videoUrl | string | URL video overlay (loop lên output) |
| previewUrl | string? | URL preview ngắn |
/api/v2/assets/image-stylesTrả về các style tạo ảnh AI. Dùng field id hoặc name làm tham số imageStyle trong Voiceover Video.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| id | number | ID style duy nhất |
| name | string | Tên tiếng Anh (VD: "Anime", "Dark Realistic") |
| nameVi | string | Tên tiếng Việt |
| description | string | Mô tả tiếng Anh |
| descriptionVi | string | Mô tả tiếng Việt |
| previewImageUrl | string | Ảnh preview đầy đủ |
| previewThumbnailUrl | string | Ảnh thumbnail preview |
/api/v2/assets/credit-packagesTrả về các gói credit có thể mua. Hiển thị các mức giá và số bonus.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| id | guid | ID gói |
| slug | string | Định danh duy nhất |
| name | string | Tên gói hiển thị |
| creditAmount | decimal | Số credit trong gói |
| priceVnd | decimal | Giá VND |
| bonusPercent | int | Phần trăm bonus (VD: 20 = +20% credit) |
| subtitle | string | Mô tả ngắn hiển thị dưới tên gói |
| featuresJson | string | Chuỗi JSON liệt kê các tính năng gói |
| isFeatured | bool | true = gói nổi bật/được đề xuất |
| hasWatermark | bool | true = video có watermark |
| hasApiAccess | bool | true = có quyền truy cập API |
/api/v2/assets/video-layoutsTrả về các layout video có sẵn với preview và cấu hình. Dùng field slug làm layoutSlug trong Render Video.
Các field response
| Field | Type | Mô tả |
|---|---|---|
| id | guid | ID layout |
| slug | string | ID duy nhất — dùng làm layoutSlug |
| name | string | Tên hiển thị |
| description | string? | Mô tả layout |
| aspectRatio | string | Tỷ lệ khung hình: "16:9", "9:16", "1:1" |
| preview | string? | URL preview ảnh/video |
| configJson | string | Chuỗi JSON cấu hình layout |
| isSystemLayout | bool | true = layout hệ thống |
Thử — Giọng đọc
Endpoint này public — không cần API key.
Thử — Nhạc nền
Endpoint này public — không cần API key.
Thử — Preset caption
Endpoint này public — không cần API key.
Thử — Overlay
Endpoint này public — không cần API key.
Thử — Style ảnh
Endpoint này public — không cần API key.
Thử — Gói credit
Endpoint này public — không cần API key.
Thử — Layout video
Endpoint này public — không cần API key.