Public API v1

Get job status and audio URL

Poll this endpoint every 2–3 seconds until status is completed or failed. When completed, audioUrl contains a presigned S3 URL valid for 24 hours.

get/api/v1/tts/{jobId}

Path parameters

jobIdstring required

Response

Current job state; audioUrl is present once status is completed.

jobIdstring required
status'queued' | 'processing' | 'completed' | 'failed' required
audioUrlstring

Presigned S3 download URL. Only present when status=completed. Valid for 24 hours.

audioUrlExpiresInnumber

Seconds until audioUrl expires.

durationnumber
voiceIdstring
textLengthnumber
createdAtstring date-time
completedAtstring date-time
queuePositionnumber

Position in queue (only when status=queued).

estimatedWaitSecondsnumber

Estimated seconds until processing starts (only when status=queued).

errorstring

Example response

{
  "jobId": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "audioUrl": "https://s3.amazonaws.com/bucket/tts/job.wav?X-Amz-Expires=86400&...",
  "audioUrlExpiresIn": 86400,
  "duration": 3.42,
  "voiceId": "Tuyen",
  "textLength": 150,
  "createdAt": "2026-05-17T10:00:00Z",
  "completedAt": "2026-05-17T10:00:08Z",
  "queuePosition": 2,
  "estimatedWaitSeconds": 8,
  "error": "Generation failed after retries."
}

Changes

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