Skip to content
DashboardGet API Key

Video Translate

Endpoints for creating and polling asynchronous video translations.

Translate a remote video
client.videoTranslate.generate(VideoTranslateGenerateParams { inputs, target_languages, config, 7 more } body, RequestOptionsoptions?): VideoTranslateGenerateResponse { request_id, status }
POST/v1/video-translate/generate
Translate an uploaded video
client.videoTranslate.generateWithMedia(VideoTranslateGenerateWithMediaParams { target_languages, video, config, 8 more } body, RequestOptionsoptions?): VideoTranslateGenerateWithMediaResponse { request_id, status }
POST/v1/video-translate/generate-with-media
ModelsExpand Collapse
VideoTranslateGenerateResponse { request_id, status }
request_id: string
formatuuid
status: "success"
VideoTranslateGenerateWithMediaResponse { request_id, status }
request_id: string
formatuuid
status: "success"

Video TranslateRequests

Endpoints for creating and polling asynchronous video translations.

Get a video translation request
client.videoTranslate.requests.retrieve(stringid, RequestOptionsoptions?): RequestRetrieveResponse { id, config, created_at, 13 more }
GET/v1/video-translate/requests/{id}
List video translation requests
client.videoTranslate.requests.list(RequestListParams { created_from, created_to, limit, 5 more } query?, RequestOptionsoptions?): RequestListResponse { data, pagination }
GET/v1/video-translate/requests
ModelsExpand Collapse
RequestRetrieveResponse { id, config, created_at, 13 more }
id: string
formatuuid
config: Config { 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?: SourceSrt { supplied, file_name, language }

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

supplied: true
file_name?: string
language?: string
speaker_voices?: Record<string, string>
target_srts?: Record<string, TargetSrts>
supplied: true
file_name?: string
language?: string
tts_model?: "eleven_v4" | "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" | "classic"

Product speech model selected for the request.

One of the following:
"expressive"
"classic"
status: "queued" | "uploading" | "processing" | 2 more
One of the following:
"queued"
"uploading"
"processing"
"completed"
"failed"
target_languages: Array<string>
error_message?: 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?: string
formatdate-time
outputs?: Record<string, Outputs>

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?: string
source_language?: string

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

started_at?: string
formatdate-time
webhook_url?: string

The configured terminal callback URL, when supplied.

formaturi
RequestListResponse { data, pagination }
data: Array<Data>
id: string
formatuuid
config: Config { 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?: SourceSrt { supplied, file_name, language }

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

supplied: true
file_name?: string
language?: string
speaker_voices?: Record<string, string>
target_srts?: Record<string, TargetSrts>
supplied: true
file_name?: string
language?: string
tts_model?: "eleven_v4" | "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" | "classic"

Product speech model selected for the request.

One of the following:
"expressive"
"classic"
status: "queued" | "uploading" | "processing" | 2 more
One of the following:
"queued"
"uploading"
"processing"
"completed"
"failed"
target_languages: Array<string>
error_message?: 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?: string
formatdate-time
outputs?: Record<string, Outputs>

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?: string
source_language?: string

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

started_at?: string
formatdate-time
webhook_url?: string

The configured terminal callback URL, when supplied.

formaturi

Video TranslateVoices

Endpoints for creating and polling asynchronous video translations.

List voices for speaker assignment
client.videoTranslate.voices.list(VoiceListParams { application, favorite, gender, 4 more } query?, RequestOptionsoptions?): VoiceListResponse { pagination, voices }
GET/v1/video-translate/voices
ModelsExpand Collapse
VoiceListResponse { pagination, voices }
voices: Array<Voice>
application: string

Intended use case, for example narration.

default_name: string
description: string
gender: "Male" | "Female" | "Other"
One of the following:
"Male"
"Female"
"Other"
is_favorite: boolean

Whether the authenticated account marked this voice as a favorite.

language: string

Primary language label.

name: string

Effective name (the account’s custom name when set, otherwise default_name).

voice_id: string

External voice ID. Use this value in config.speaker_voices.