Public API v1

Dub an .srt subtitle file into a timecode-aligned WAV

Synthesizes 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 pronunciation-normalized; by default cues are synthesized as provided, with no content check and no surcharge. Pass engine ("v3" default, "v4" premium — billed at its own multiplier) to choose the TTS engine. Tokens are deducted upfront and refunded if synthesis fails.

post/api/v1/srt

Response

The timecode-aligned track, plus per-cue placement showing where speed-fit or drift moved a cue.

successboolean required
cuesCountnumber required

Number of subtitle cues synthesized.

audioUrlstring required

Presigned S3 download URL for the timecode-aligned WAV.

audioUrlExpiresInnumber required

Seconds until audioUrl expires.

durationnumber required

Total duration of the dubbed track (seconds).

sampleRatenumber required

Output sample rate.

tokenCostnumber required

Tokens deducted (computed from total cue text).

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

No recorded changes to this endpoint across all 1 revision of this API.