## 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.

### Parameters

- `id string`

### Returns

- `type VideoTranslateRequestGetResponse struct{…}`

  - `ID string`

  - `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 VideoTranslateRequestGetResponseConfigSourceSrt`

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

      - `Supplied VideoTranslateRequestGetResponseConfigSourceSrtSupplied`

        - `const VideoTranslateRequestGetResponseConfigSourceSrtSuppliedTrue VideoTranslateRequestGetResponseConfigSourceSrtSupplied = true`

      - `FileName string`

      - `Language string`

    - `SpeakerVoices map[string, string]`

    - `TargetSrts map[string, VideoTranslateRequestGetResponseConfigTargetSrt]`

      - `Supplied VideoTranslateRequestGetResponseConfigTargetSrtsSupplied`

        - `const VideoTranslateRequestGetResponseConfigTargetSrtsSuppliedTrue VideoTranslateRequestGetResponseConfigTargetSrtsSupplied = true`

      - `FileName string`

      - `Language string`

    - `TtsModel VideoTranslateRequestGetResponseConfigTtsModel`

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

      - `const VideoTranslateRequestGetResponseConfigTtsModelElevenV4 VideoTranslateRequestGetResponseConfigTtsModel = "eleven_v4"`

      - `const VideoTranslateRequestGetResponseConfigTtsModelElevenMultilingualV2 VideoTranslateRequestGetResponseConfigTtsModel = "eleven_multilingual_v2"`

  - `CreatedAt 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.

    - `const VideoTranslateRequestGetResponseModelExpressive VideoTranslateRequestGetResponseModel = "expressive"`

    - `const VideoTranslateRequestGetResponseModelClassic VideoTranslateRequestGetResponseModel = "classic"`

  - `Status VideoTranslateRequestGetResponseStatus`

    - `const VideoTranslateRequestGetResponseStatusQueued VideoTranslateRequestGetResponseStatus = "queued"`

    - `const VideoTranslateRequestGetResponseStatusUploading VideoTranslateRequestGetResponseStatus = "uploading"`

    - `const VideoTranslateRequestGetResponseStatusProcessing VideoTranslateRequestGetResponseStatus = "processing"`

    - `const VideoTranslateRequestGetResponseStatusCompleted VideoTranslateRequestGetResponseStatus = "completed"`

    - `const VideoTranslateRequestGetResponseStatusFailed VideoTranslateRequestGetResponseStatus = "failed"`

  - `TargetLanguages []string`

  - `ErrorMessage string`

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

  - `FinishedAt Time`

  - `Outputs map[string, VideoTranslateRequestGetResponseOutput]`

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

    - `Audio string`

    - `Srt string`

    - `Video string`

  - `ReferenceID string`

  - `SourceLanguage string`

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

  - `StartedAt Time`

  - `WebhookURL string`

    The configured terminal callback URL, when supplied.

### Example

```go
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)
}
```

#### Response

```json
{
  "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"
    }
  }
}
```
