Public API v1

Get the status of several jobs in one call

Changed on

Poll up to 50 jobs with ONE request instead of one connection per job. Each entry has exactly the shape of GET /v1/tts/{jobId}. Ids that are unknown or not yours are listed in missing — a batch is never rejected because of one bad id. Prefer this whenever you have more than one job in flight: it costs the server one database read for the whole batch, and the edge proxy caps concurrent connections per source address.

get/api/v1/tts

Request

  • Base URL
    https://api.vieneu.io
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Query parameters

idsstring required
Example:550e8400-e29b-41d4-a716-446655440000,6ba7b810-9dad-11d1-80b4-00c04fd430c8

Comma-separated jobIds, 1–50.

Response

Statuses in request order, plus the ids that could not be resolved.

missingstring[] required

Ids that were not found — unknown, malformed, or belonging to another account (indistinguishable on purpose).

Example response

{
  "jobs": [
    {
      "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."
    }
  ],
  "missing": [
    "0f7c1a2b-0000-4000-8000-000000000000"
  ]
}

Changes