---
title: "Upload Proofread SRT"
method: PUT
path: "/v3/video-translations/proofreads/{proofread_id}/srt"
tags: ["Video Translate"]
---

# Upload Proofread SRT

`PUT /v3/video-translations/proofreads/{proofread_id}/srt`

## Request

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

Replaces the proofread subtitles with an edited SRT file.

## Path parameters

- `proofread_id` string, required

## Request body

- UploadSRTRequest: Request body for PUT /v3/video-translations/proofreads/{id}/srt.
  - `srt` union, required: SRT file — provide as {type: 'url', url: '...'} or {type: 'asset_id', asset_id: '...'}
    - AssetUrl: Asset input via publicly accessible HTTPS URL.
      - `type` 'url', required: Input type discriminator
      - `url` string, required: Publicly accessible HTTPS URL for the asset
    - AssetId: Asset input via HeyGen asset ID from the asset upload endpoint.
      - `type` 'asset_id', required: Input type discriminator
      - `asset_id` string, required: HeyGen asset ID from the asset upload endpoint

## Response `200`

Successful response

- object
  - `data` ProofreadDetail: Detailed proofread resource.
    - `id` string, required: Unique proofread identifier
    - `title` string, nullable: Title of the proofread job
    - `status` 'processing' | 'completed' | 'failed', required
    - `output_language` string, nullable: Target language code
    - `input_language` string, nullable: Detected or specified source language code
    - `submitted_for_review` boolean, nullable: Whether the proofread has been submitted for review
    - `created_at` integer, nullable: Unix timestamp when the proofread was created
    - `failure_message` string, nullable: Error description. Only present when status is failed.

## 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 `asset_id, url` discriminator mapping keys to the `srt` request property
  - 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/proofreads/:proofread_id/srt/put.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)
