Skip to content
DashboardGet API Key

Get a video translation request

GET/v1/video-translate/requests/{id}

Returns an account-owned request by UUID or exact reference ID (requests of other accounts return 404). Completed artifact URLs are freshly signed on every read; SRT content is never returned.

Path ParametersExpand Collapse
id: string
minLength1
ReturnsExpand Collapse
id: string
formatuuid
config: object { source_srt, speaker_voices, target_srts, tts_model }

The request config as returned by the API. SRT content is replaced by metadata, speaker_voices keys are canonical speaker IDs, and other keys are returned unchanged.

source_srt: optional object { supplied, file_name, language }

Public description of a supplied SRT. The subtitle content is never returned.

supplied: true
file_name: optional string
language: optional string
speaker_voices: optional map[string]
target_srts: optional map[object { supplied, file_name, language } ]
supplied: true
file_name: optional string
language: optional string
tts_model: optional "eleven_v4" or "eleven_multilingual_v2"

The explicitly selected text-to-speech model. Omitted when the request used the default.

One of the following:
"eleven_v4"
"eleven_multilingual_v2"
created_at: string
formatdate-time
disable_background_audio: boolean

Whether background audio was disabled for this request.

disable_lip_sync: boolean

Whether lip sync was disabled for this request.

formality: boolean
model: "expressive" or "classic"

Product speech model selected for the request.

One of the following:
"expressive"
"classic"
status: "queued" or "uploading" or "processing" or 2 more
One of the following:
"queued"
"uploading"
"processing"
"completed"
"failed"
target_languages: array of string
error_message: optional string

Present only when failed. A safe, bounded description, for example SRT or speaker validation errors found after the video was processed.

maxLength1001
finished_at: optional string
formatdate-time
outputs: optional map[object { audio, srt, video } ]

Present only when completed, keyed by requested target language. URLs are signed on every read.

audio: string
formaturi
srt: string
formaturi
video: string
formaturi
reference_id: optional string
source_language: optional string

Explicit source language, or the detected one once processing starts.

started_at: optional string
formatdate-time
webhook_url: optional string

The configured terminal callback URL, when supplied.

formaturi

Get a video translation request

curl https://api.chamelaion.com/api/v1/video-translate/requests/$ID \
    -H "Authorization: Bearer $CHAMELAION_BEARER_TOKEN"
{
  "id": "4c98dd00-a982-47d9-a8d6-e1f0b35a8944",
  "reference_id": "customer-job-42",
  "source_language": "en",
  "target_languages": [
    "de",
    "fr"
  ],
  "disable_background_audio": false,
  "disable_lip_sync": false,
  "formality": false,
  "config": {
    "source_srt": {
      "file_name": "interview.srt",
      "language": "en",
      "supplied": true
    },
    "target_srts": {
      "de": {
        "file_name": "target-de.srt",
        "language": "de",
        "supplied": true
      }
    },
    "speaker_voices": {
      "0": "21m00Tcm4TlvDq8ikWAM",
      "1": "AZnzlk1XvdvUeBnXmlld"
    }
  },
  "status": "completed",
  "created_at": "2026-10-07T12:00:00Z",
  "started_at": "2026-10-07T12:00:01Z",
  "finished_at": "2026-10-07T12:04:00Z",
  "outputs": {
    "de": {
      "video": "https://storage.example/signed/de.mp4",
      "audio": "https://storage.example/signed/de.wav",
      "srt": "https://storage.example/signed/de.srt"
    },
    "fr": {
      "video": "https://storage.example/signed/fr.mp4",
      "audio": "https://storage.example/signed/fr.wav",
      "srt": "https://storage.example/signed/fr.srt"
    }
  }
}
{
  "id": "9d2b8c7e-0b5f-4f3e-9a51-2a9e3f1c5b77",
  "target_languages": [
    "de"
  ],
  "source_language": "en",
  "disable_background_audio": false,
  "disable_lip_sync": false,
  "formality": false,
  "config": {
    "speaker_voices": {
      "7": "21m00Tcm4TlvDq8ikWAM"
    }
  },
  "status": "failed",
  "created_at": "2026-10-07T12:00:00Z",
  "started_at": "2026-10-07T12:00:01Z",
  "finished_at": "2026-10-07T12:01:10Z",
  "error_message": "speaker_voices references speakers that are not in the source subtitles: 7 (source speakers: 0, 1)"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}
Returns Examples
{
  "id": "4c98dd00-a982-47d9-a8d6-e1f0b35a8944",
  "reference_id": "customer-job-42",
  "source_language": "en",
  "target_languages": [
    "de",
    "fr"
  ],
  "disable_background_audio": false,
  "disable_lip_sync": false,
  "formality": false,
  "config": {
    "source_srt": {
      "file_name": "interview.srt",
      "language": "en",
      "supplied": true
    },
    "target_srts": {
      "de": {
        "file_name": "target-de.srt",
        "language": "de",
        "supplied": true
      }
    },
    "speaker_voices": {
      "0": "21m00Tcm4TlvDq8ikWAM",
      "1": "AZnzlk1XvdvUeBnXmlld"
    }
  },
  "status": "completed",
  "created_at": "2026-10-07T12:00:00Z",
  "started_at": "2026-10-07T12:00:01Z",
  "finished_at": "2026-10-07T12:04:00Z",
  "outputs": {
    "de": {
      "video": "https://storage.example/signed/de.mp4",
      "audio": "https://storage.example/signed/de.wav",
      "srt": "https://storage.example/signed/de.srt"
    },
    "fr": {
      "video": "https://storage.example/signed/fr.mp4",
      "audio": "https://storage.example/signed/fr.wav",
      "srt": "https://storage.example/signed/fr.srt"
    }
  }
}
{
  "id": "9d2b8c7e-0b5f-4f3e-9a51-2a9e3f1c5b77",
  "target_languages": [
    "de"
  ],
  "source_language": "en",
  "disable_background_audio": false,
  "disable_lip_sync": false,
  "formality": false,
  "config": {
    "speaker_voices": {
      "7": "21m00Tcm4TlvDq8ikWAM"
    }
  },
  "status": "failed",
  "created_at": "2026-10-07T12:00:00Z",
  "started_at": "2026-10-07T12:00:01Z",
  "finished_at": "2026-10-07T12:01:10Z",
  "error_message": "speaker_voices references speakers that are not in the source subtitles: 7 (source speakers: 0, 1)"
}
{
  "error": "missing authorization header"
}
{
  "error": "invalid authorization format"
}
{
  "error": "missing token"
}
{
  "error": "invalid token"
}
{
  "error": "unauthorized"
}
{
  "error": "rate limit exceeded"
}
{
  "error": "internal error"
}