> 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-v1/document-translation.md).

# Document Translation

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

POST `/v1/translate/document`

**Authorization**

*OAuth2PasswordBearer*

```
Authorization: OAuth2PasswordBearer
```

**Request Body schema: multipart/form-data**

| KEY                             | TYPE     | VALUE                                                                                                                        |
| ------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------- |
| file                            | File     | Upload the document to be translated. Supported formats include `DOCX, PDF, PPTX, and XLSX.`                                 |
| file\_type                      | String   | The type of the file being translated. Supported formats include `DOCX, PDF, PPTX, and XLSX`.                                |
| original\_lang                  | String   | The original language of the content. Optional but recommended for better accuracy.                                          |
| dest\_lang                      | String   | The target language for translation.                                                                                         |
| process\_mode                   | String   | Describes how the file should be processed 'replace', 'append'.                                                              |
| style\_mode                     | Interger | <p>Default: 0</p><p>Specifies the styling preference for the translation output. Influences formatting and presentation.</p> |
| translate\_type                 | String   | <p>Specifies the translation engine or version to be used.<br><code>Paraphrase</code>, <code>Professional</code></p>         |
| is\_translate\_images           | Bool     | Flag indicating whether images within the document should also be translated.                                                |
| tone                            | String   | Tone of the translation, if applicable                                                                                       |
| domain                          | String   | The domain or field of the content, which can help in choosing specialized translation models.                               |
| bilingual\_text\_style\_\_font  | String   | Used to set the font for the bilingual translation mode and when process\_mode=append                                        |
| bilingual\_text\_style\_\_color | String   | Used to set the color for the bilingual translation mode and when process\_mode=append                                       |
| dictionary                      | String   | Optional custom dictionary in JSON format to be used for the translation, specifying word-level translations.                |
| custom\_prompt                  | String   | Custom prompt to be used for the translation                                                                                 |

**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 |   |
| ------ | - |
