Skip to content
DashboardGet API Key

Get a video translation request

client.VideoTranslate.Requests.Get(ctx, id) (*VideoTranslateRequestGetResponse, error)
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.

ParametersExpand Collapse
id string
minLength1
ReturnsExpand Collapse
type VideoTranslateRequestGetResponse struct{…}
ID string
formatuuid
Config VideoTranslateRequestGetResponseConfig

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.

SourceSrt VideoTranslateRequestGetResponseConfigSourceSrtOptional

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

Supplied VideoTranslateRequestGetResponseConfigSourceSrtSupplied
FileName stringOptional
Language stringOptional
SpeakerVoices map[string, string]Optional
TargetSrts map[string, VideoTranslateRequestGetResponseConfigTargetSrt]Optional
Supplied VideoTranslateRequestGetResponseConfigTargetSrtsSupplied
FileName stringOptional
Language stringOptional
TtsModel VideoTranslateRequestGetResponseConfigTtsModelOptional

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

One of the following:
const VideoTranslateRequestGetResponseConfigTtsModelElevenV4 VideoTranslateRequestGetResponseConfigTtsModel = "eleven_v4"
const VideoTranslateRequestGetResponseConfigTtsModelElevenMultilingualV2 VideoTranslateRequestGetResponseConfigTtsModel = "eleven_multilingual_v2"
CreatedAt Time
formatdate-time
DisableBackgroundAudio bool

Whether background audio was disabled for this request.

DisableLipSync bool

Whether lip sync was disabled for this request.

Formality bool
Model VideoTranslateRequestGetResponseModel

Product speech model selected for the request.

One of the following:
const VideoTranslateRequestGetResponseModelExpressive VideoTranslateRequestGetResponseModel = "expressive"
const VideoTranslateRequestGetResponseModelClassic VideoTranslateRequestGetResponseModel = "classic"
Status VideoTranslateRequestGetResponseStatus
One of the following:
const VideoTranslateRequestGetResponseStatusQueued VideoTranslateRequestGetResponseStatus = "queued"
const VideoTranslateRequestGetResponseStatusUploading VideoTranslateRequestGetResponseStatus = "uploading"
const VideoTranslateRequestGetResponseStatusProcessing VideoTranslateRequestGetResponseStatus = "processing"
const VideoTranslateRequestGetResponseStatusCompleted VideoTranslateRequestGetResponseStatus = "completed"
const VideoTranslateRequestGetResponseStatusFailed VideoTranslateRequestGetResponseStatus = "failed"
TargetLanguages []string
ErrorMessage stringOptional

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

maxLength1001
FinishedAt TimeOptional
formatdate-time
Outputs map[string, VideoTranslateRequestGetResponseOutput]Optional

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

Audio string
formaturi
Srt string
formaturi
Video string
formaturi
ReferenceID stringOptional
SourceLanguage stringOptional

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

StartedAt TimeOptional
formatdate-time
WebhookURL stringOptional

The configured terminal callback URL, when supplied.

formaturi

Get a video translation request

package main

import (
  "context"
  "fmt"

  "github.com/chamelaion/chamelaion-go/v2"
  "github.com/chamelaion/chamelaion-go/v2/option"
)

func main() {
  client := githubcomchamelaionchamelaiongo.NewClient(
    option.WithBearerToken("My Bearer Token"),
  )
  request, err := client.VideoTranslate.Requests.Get(context.TODO(), "x")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", request.ID)
}
{
  "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"
}