Sending images and scanned PDFs for translation

To translate scanned PDF or image file and get result as plain text, send a POST request to the GroupDocs.Translation Cloud REST API endpoint. To authorize the request, pass the access token in Authorization header (Bearer authentication).

The file and translation parameters are provided in JSON format in the request body.

  "sourceLanguage": "string",
  "targetLanguages": [
  "file": "string",
  "url": "string",
  "format": "Unknown",
  "rotationAngle": 0,
  "ishandwritten": true
Though you have a possibility to provide your file via cURL, please firstly upload it and pass its URL.

Evaluation mode

Evaluation mode is not available for scans and image files, kindly register account and try image translation with provided free credits.

Translation settings

PropertyTypeDefault valueDescription
sourceLanguageStringen (English)Language code of the source file.
targetLanguagesList of stringsn/aLanguage codes into which the file should be translated.
urlStringn/aLink to a file obtained while uploading it.
formatStringUnknownExtension of your file, shoud start with capital letter, e.g. Docx.
rotationAngleIntegernullThough skew correction is used, when the rotation angle is quite large (>15°) you should pass it manually.
ishandwrittenBooleanfalseIf scan or image contains only handwritten text, this option is available only for English.

Return value

If successful, this method returns JSON with a unique identifier (value of the id property) of the translation request in the queue:

	"status": 202,
	"message": "Starting translation",
	"id": "a4fc6c6e-81b0-43c8-b62b-b8bb99520ce9"

Otherwise, it returns a HTTP status code corresponding to the error.

What’s next

Translation will take a few seconds, depending on the size of the file, the volume of its textual content and the current GroupDocs.Translation Cloud load. See the article Fetching translations for information on how to get translations from the server.

cURL example

curl --location --request POST '' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...UV1hLfgNCSQ4VKGCOA' \
--data '{
  "sourceLanguage": "en",
  "targetLanguages": [
  "url": "",
  "format": "Pdf",
  "ishandwritten": false,
  "rotationAngle": 0
	"status": 202,
	"message": "Starting translation",
	"id": "a4fc6c6e-81b0-43c8-b62b-b8bb99520ce9"