Skip to main content
POST
Create Document Translation
Use this endpoint when you want to translate a document file instead of an array of text strings. Submit a document with its source and target languages, and CAMB.AI starts an asynchronous document translation task. The response includes a task_id. Poll Get Document Translation Status until the task reaches SUCCESS, then use the returned run_id with Get Document Translation Result to retrieve the translated document download URL.

Response

The create response contains only the task identifier:
  • task_id: the identifier for the asynchronous document translation task.
It does not return a run_id at creation time. The run_id is available from Get Document Translation Status once the task reaches SUCCESS.

Supported Inputs

Provide either:
  • media_file: upload the document directly as multipart form data.
  • media_url: provide a URL to the document file.
Supported document formats include DOCX and SRT. DOCX is useful for document workflows where the translated output should remain a downloadable document. SRT is useful when you already have subtitle timing and want the subtitle text translated while keeping the file-based workflow.

Language and Terminology

  • source_language: the language of the source document.
  • target_language: the language to translate into.
  • chosen_dictionaries: optional dictionary IDs to enforce approved terminology.
  • translation_style: optional guidance for tone, wording, or terminology preferences. Omit this field when you do not need custom style instructions.
Use Get Source Languages and Get Target Languages to find supported language tags and IDs.

DOCX Example

SRT Example

Document translation is asynchronous. Store the task_id from this response so you can poll task status and fetch the final download URL.

Authorizations

x-api-key
string
header
required

The x-api-key is a custom header required for authenticating requests to our API. Include this header in your request with the appropriate API key value to securely access our endpoints. You can find your API key(s) in the 'API' section of our studio website.

Body

multipart/form-data
source_language
string
required

Source language of the document. Pass a locale tag (en-us, fr-fr, es-es). Numeric language IDs (1 or "1") still work but are deprecated. See all source languages.

Example:

"en-us"

target_language
string
required

Target language for the translated document. Pass a locale tag (fr-fr, es-es, de-de). Numeric language IDs still work but are deprecated. See all target languages.

Example:

"fr-fr"

project_name
string | null

Enter a distinctive name for your project that reflects its purpose or content. This name will be displayed in your CAMB.AI workspace dashboard and used to organize related assets, transcriptions, etc.. . Choose something memorable that helps you quickly identify this specific project among your other voice, audio and localization tasks.

Required string length: 3 - 255
Example:

null

project_description
string | null

Provide details about your project's goals and specifications. Include information such as the target languages for translation or dubbing, desired voice characteristics, emotional tones to capture, or specific audio processing requirements, outlining the workflow here can serve as valuable documentation for organizational purposes.

Required string length: 3 - 5000
Example:

null

media_file
file

Document file to translate. Supported formats include DOCX and SRT. Leave blank when using media_url.

media_url
string<uri>

URL to a document file for translation. Leave blank when uploading media_file.

Example:

""

chosen_dictionaries
integer[] | null

Optional dictionaries to apply during document translation.

Minimum array length: 1
translation_style
string | null

Optional free-text guidance for the translation style.

Response

Successful Response

task_id
string
required
Last modified on November 11, 2026