Dub an .srt subtitle file into a timecode-aligned WAV
Changed onSynthesizes each subtitle cue and places it at its start timecode (silence-padded; overruns shift later cues). Billed by total submitted cue-text characters (~1 token/char, minimum 50, × the AI surcharge only when you opt in with aiRefine=true) — NOT output duration. With aiRefine=true the subtitles are moderated and each cue is AI-normalized; by default cues are synthesized as provided, with no content check and no surcharge. Pass engine to choose the TTS engine (each is billed at its own multiplier), or omit it for the configured default — GET /v1/engines reports it as isDefault. Tokens are deducted upfront and refunded if synthesis fails.
Request
- Base URLhttps://api.vieneu.io
- Auth
- API key in header X-API-Key
- or HTTP bearer
Request body multipart/form-data
Example request
{
"voiceId": "Ngọc Lan",
"emotion": "natural",
"temperature": 1,
"applyPronunciation": true,
"engine": "v4"
}Response
The timecode-aligned track, plus per-cue placement showing where speed-fit or drift moved a cue.
Example response
{
"success": true,
"cuesCount": 42,
"audioUrl": "https://s3.amazonaws.com/bucket/srt/job.wav?X-Amz-Expires=86400&...",
"audioUrlExpiresIn": 86400,
"duration": 128.4,
"sampleRate": 48000,
"tokenCost": 1875,
"placements": [
{
"index": 7,
"scheduledStartMs": 12000,
"actualStartMs": 12180,
"windowMs": 2000,
"durationMs": 2400,
"speed": 1.2,
"overflowed": true
}
]
}Changes
- info
added the new optional request property
- info
- breaking
removed the enum value
v3of the request property
- breaking