Assets & References

GEThttps://sangtao.ai/api/v2/assets/voices

Reference for Assets & References.

Returns all available TTS voices. Use the slug field as voiceId when creating videos.

Response Fields

FieldTypeDescription
idnumberNumeric voice ID
slugstringUnique voice identifier — use as voiceId
namestringDisplay name
codestring?Voice code (internal identifier)
languagestringBCP-47 language code (e.g. "vi", "en")
genderstring"Male" or "Female"
agestringVoice age group (e.g. "Young", "Middle Aged")
stylestring?Voice style (e.g. "calm", "news") — null if none
useCasestring?Suggested use case (e.g. "news", "callcenter")
voiceDescriptionstring?Description of the voice characteristics
voiceSampleUrlstring?Audio sample URL
voiceImageUrlstring?Avatar/image URL for the voice
previewUrlstring?Audio preview URL
tagsstring?Comma-separated tags for filtering (e.g. "news,calm")
ttsModelstring?Voice engine used for this job
isPremiumbooltrue = premium voice (Pro tier)
creditCostPer1kCharsnumberCredit cost per 1,000 characters
isMultiLanguagebooltrue = voice supports multiple languages

Voice Tiers & Pricing

TierisPremiumCost
FreefalseFirst 500 chars free, then 1 credit per 200 chars
Pro 10true (cost = 10)10 credits per 1,000 chars
Pro 40true (cost = 40)40 credits per 1,000 chars
Pro 60true (cost = 60)60 credits per 1,000 chars
Tip: Filter by creditCostPer1kChars to identify the tier: 0 = Free, 10 = Pro 10, 40 = Pro 40, 60 = Pro 60.

Example Response

JSON
{
  "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
    }
  ]
}

Returns all available background music tracks. Use the slug field as backgroundMusic.trackId.

Response Fields

FieldTypeDescription
idnumberNumeric track ID
slugstringUnique identifier — use as trackId
namestringEnglish display name
nameVistringVietnamese display name
categorystring?Category: news, cinematic, corporate, calm, lofi, electronic, upbeat, inspiring, emotional, podcast
tagsstring?Comma-separated tags for filtering
audioUrlstringDirect audio URL
previewUrlstring?Short preview audio URL
durationSecondsnumber?Track duration in seconds (null if unknown)

Example Response

JSON
{
  "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
    }
  ]
}
GET/api/v2/assets/caption-presets

Returns available caption preset styles. Use the slug field as caption.preset when creating videos.

Response Fields

FieldTypeDescription
slugstringUnique identifier — use as caption.preset
namestringDisplay name
descriptionstring?Description of the preset style
categorystring?Category (e.g. "popular")
previewImageUrlstring?Preview video/image URL
configJsonstringJSON string with the full caption config this preset applies
editableFieldsJsonstringJSON array of fields the user can override
isPremiumbooltrue = premium preset
Tip: When you send caption.preset = "basic", the server auto-applies all config from that preset. You can then override specific fields (e.g. highlightColors) alongside the preset.
GET/api/v2/assets/overlays

Returns available video overlay effects. Use the slug field as overlay parameter when creating videos.

Response Fields

FieldTypeDescription
slugstringUnique identifier — use as overlay
namestringEnglish display name
nameVistringVietnamese display name
categorystring?Category (e.g. "particles")
videoUrlstringOverlay video URL (looped over the output)
previewUrlstring?Short preview URL
GET/api/v2/assets/image-styles

Returns available AI image generation styles. Use the id or name field as imageStyle parameter in Voiceover Video.

Response Fields

FieldTypeDescription
idnumberUnique style ID
namestringEnglish name (e.g. "Anime", "Dark Realistic")
nameVistringVietnamese name
descriptionstringEnglish description
descriptionVistringVietnamese description
previewImageUrlstringFull-size preview image
previewThumbnailUrlstringThumbnail preview
GET/api/v2/assets/credit-packages

Returns available credit packages for purchase. Shows pricing tiers and bonus amounts.

Response Fields

FieldTypeDescription
idguidPackage ID
slugstringUnique identifier
namestringPackage display name
creditAmountdecimalNumber of credits included
priceVnddecimalPrice in VND
bonusPercentintBonus percentage (e.g. 20 = +20% credits)
subtitlestringShort description displayed under name
featuresJsonstringJSON string listing package features
isFeaturedbooltrue = highlighted/recommended package
hasWatermarkbooltrue = videos include watermark
hasApiAccessbooltrue = API access included
GET/api/v2/assets/video-layouts

Returns available video layouts with preview and configuration details. Use the slug field as layoutSlug in Render Video.

Response Fields

FieldTypeDescription
idguidLayout ID
slugstringUnique identifier — use as layoutSlug
namestringDisplay name
descriptionstring?Layout description
aspectRatiostringAspect ratio: "16:9", "9:16", "1:1"
previewstring?Preview image/video URL
configJsonstringJSON string with layout configuration
isSystemLayoutbooltrue = system-provided layout

Try — Voices

Try it outGET

This endpoint is public — no API key required.

Try — Background Tracks

Try it outGET

This endpoint is public — no API key required.

Try — Caption Presets

Try it outGET

This endpoint is public — no API key required.

Try — Overlays

Try it outGET

This endpoint is public — no API key required.

Try — Image Styles

Try it outGET

This endpoint is public — no API key required.

Try — Credit Packages

Try it outGET

This endpoint is public — no API key required.

Try — Video Layouts

Try it outGET

This endpoint is public — no API key required.