> For the complete documentation index, see [llms.txt](https://developer.doctranslate.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.doctranslate.io/document-translation-api/translation-api/api-v3/translate-multiple-files-currently-supports-document-summarization.md).

# Translate Multiple Files (currently supports document, summarization)

#### HTTP request <a href="#http-request" id="http-request"></a>

POST `/v3/process`

**Authorization**

*OAuth2PasswordBearer***(***Bearer token or API key)*

```
Authorization: OAuth2PasswordBearer
```

Header API Key

```
X-API-Key: <your_api_key>
```

**Request Body schema: json data**

<table><thead><tr><th width="287">KEY</th><th width="119">TYPE</th><th>VALUE</th></tr></thead><tbody><tr><td>task_type</td><td>String</td><td>Classifying tasks corresponding to each translation mode such as: <code>document</code>, <code>images</code>, <code>audio</code>, <code>video</code>, <code>summarization</code>, <code>create_video</code></td></tr><tr><td>original_lang</td><td>String</td><td>The original language of the content. Optional but recommended for better accuracy.</td></tr><tr><td>dest_lang</td><td>String</td><td>The target language for translation.</td></tr><tr><td>process_mode</td><td>String</td><td>Describes how the file should be processed 'replace', 'append', 'append_reverse' .</td></tr><tr><td>translate_type</td><td>String</td><td>Specifies the translation engine or version to be used.<br><code>Paraphrase</code>, <code>Professional</code></td></tr><tr><td><p></p><p>meta_files</p></td><td>String</td><td><p>The value is taken from the upload api<br></p><pre><code>Example: [
    {
        "filename": "2.text_image.pdf",
        "status": true,
        "credits": 4.92,
        "task_id": "f911298671b240f5984060c62cbbb218",
        "size": "0.18 MB"
    },
    {
        "filename": "5.text_images.docx",
        "status": true,
        "credits": 2.89,
        "task_id": "af60061f95c8439a9ee55971b37a7e06",
        "size": "0.3 MB"
    }
]
</code></pre></td></tr><tr><td>is_translate_images</td><td>Bool</td><td>Flag indicating whether images within the document should also be translated.</td></tr><tr><td>tone</td><td>String</td><td>Tone of the translation, if applicable</td></tr><tr><td>domain_translate_document</td><td>String</td><td>The domain or field of the content for document, which can help in choosing specialized translation models.</td></tr><tr><td>domain_translate_image</td><td>String</td><td>The domain or field of the content for image, which can help in choosing specialized translation models.</td></tr><tr><td>domain_translate_audio</td><td>String</td><td>The domain or field of the content for audio, which can help in choosing specialized translation models.</td></tr><tr><td>domain_translate_video</td><td>String</td><td>The domain or field of the content video, which can help in choosing specialized translation models.</td></tr><tr><td>bilingual_text_style__font</td><td>String</td><td>Used to set the font for the bilingual translation mode and when process_mode=append</td></tr><tr><td>bilingual_text_style__color</td><td>String</td><td>Used to set the color for the bilingual translation mode and when process_mode=append</td></tr><tr><td>dictionary</td><td>List</td><td><p>Optional custom dictionary in JSON format to be used for the translation, specifying word-level translations.</p><pre><code>Example: [
    {
       "ori_lang": "en",
       "des_lang": "vi"
       "ori_word": "hello",
       "des_word": "xin chào",
    },
    {
       "ori_lang": "en",
       "des_lang": "vi"
       "ori_word": "hi",
       "des_word": "chào",
    }]
</code></pre></td></tr><tr><td>custom_prompt</td><td>String</td><td>Custom prompt to be used for the translation</td></tr><tr><td>output_format</td><td>String</td><td><p></p><p></p><h4>1. <strong>Scanned PDFs</strong></h4><p>These are image-based PDFs, typically from printed or photographed documents.</p><ul><li><strong>auto</strong>: Automatically selects the best format for readability. The translated text will follow the original content as closely as possible, but layout may vary.</li><li><strong>docx</strong>: Text is extracted and translated with a focus on preserving the original wording. Layout and formatting may not be retained.</li><li><strong>pptx</strong>: Not recommended unless the scanned file has a visual structure that benefits from slide-based formatting.</li></ul><h4>2. <strong>Regular PDFs</strong></h4><p>These contain selectable digital text and may include structured layouts or design elements.</p><ul><li><strong>auto</strong>: Automatically chooses between DOCX and PPTX to best preserve the original layout and formatting.</li><li><strong>docx</strong>: Suitable for text-based documents. May simplify layout while keeping the content intact.</li><li><strong>pptx</strong>: Best for visually rich documents (e.g., presentations, flyers). Maintains layout, formatting, and visual fidelity.</li></ul></td></tr></tbody></table>

**Response**

**200:** Success

Response schema: *application/json*

| KEY          | VALUE                                                                                                                                                                                                                |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| status\_code | 200                                                                                                                                                                                                                  |
| content      | { "data": { "task\_id": "0d05c89e6f2c472ab86b291516e8e466" }, "errors": \[], "error\_description": "", "start\_time": "2024-03-11 13:05:42.080757", "end\_time": "2024-03-11 13:05:42.348086", "status": "success" } |

**400:** Bad Request

| KEY          | VALUE                                                                                                                                                                                                   |   |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
| status\_code | 400                                                                                                                                                                                                     |   |
| content      | { "data": {}, "errors": \[ "Error" ], "error\_description": "Error while sending message. Please check server!", "start\_time": "yyyy-mm-dd hh-mm-ss utc+7", "end\_time": "yyyy-mm-dd hh-mm-ss utc+7" } |   |
|              |                                                                                                                                                                                                         |   |

**401: A**uthentication Error

| KEY          | VALUE                             |   |
| ------------ | --------------------------------- | - |
| status\_code | 401                               |   |
| content      | { "detail": "Not authenticated" } |   |
|              |                                   |   |

Response schema: *application/json*

| detail |   |
| ------ | - |
