---
title: "Update Video Translation"
method: PATCH
path: "/v3/video-translations/{video_translation_id}"
tags: ["Video Translate"]
---

# Update Video Translation

`PATCH /v3/video-translations/{video_translation_id}`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v3/video-translations/{video_translation_id}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Updates the display title of a video translation job.

## Path parameters

- `video_translation_id` string, required

## Request body

- UpdateVideoTranslationRequest: Request body for PATCH /v3/video-translations/{id}.
  - `title` string, required: New title for the video translation

## Response `200`

Successful response

- object
  - `data` VideoTranslationDetail: Detailed video translation resource.
    - `id` string, required: Unique video translation identifier
    - `title` string, nullable: Title of the translation job
    - `status` 'pending' | 'running' | 'completed' | 'failed', required
    - `output_language` string, nullable: Target language code
    - `input_language` string, nullable: Detected or specified source language code
    - `duration` number, nullable: Video duration in seconds
    - `translate_audio_only` boolean, nullable: Whether only the audio was translated, keeping the original video
    - `video_url` string, nullable: Presigned download URL for the translated video. Only present when status is completed.
    - `audio_url` string, nullable: Presigned download URL for the translated audio. Only present when status is completed.
    - `srt_caption_url` string, nullable: Presigned download URL for the SRT caption file. Present when status is completed.
    - `vtt_caption_url` string, nullable: Presigned download URL for the VTT caption file. Present when status is completed.
    - `callback_id` string, nullable: Client-provided callback ID
    - `created_at` integer, nullable: Unix timestamp when the translation was created
    - `failure_message` string, nullable: Error description. Only present when status is failed.
    - `failure_code` string, nullable: Machine-readable failure reason. Only present when status is failed and the failure has a code.

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `404`: Resource not found
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 9 info
  - added the optional property `data/failure_code` to the response with the `200` status
  - added the optional property `error/errors` to the response with the `400` status
  - added the optional property `error/errors` to the response with the `401` status
  - added the optional property `error/errors` to the response with the `404` status
  - …5 more

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v3/video-translations/:video_translation_id/patch.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
