OpenAPI spec for text translation

Request Translation

post

/translate

Authorizations
Body
source_langenum

Language of the text to be translated. If this parameter is omitted, the API will attempt to detect the language of the text and translate it.

Example: EN
Options: BG, CS, DA, DE, EL, EN, ES, ET, FI, FR, HU, ID, IT, JA, KO, LT, LV, NB, NL, PL, PT, RO, RU, SK, SL, SV, TR, UK, ZH
target_langenumrequired

The language into which the text should be translated.

Example: DE
Options: AR, BG, CS, DA, DE, EL, EN-GB, EN-US, ES, ET, FI, FR, HU, ID, IT, JA, KO, LT, LV, NB, NL, PL, PT-BR, PT-PT, RO, RU, SK, SL, SV, TR, UK, ZH, ZH-HANS, ZH-HANT
contextstring

Additional context that can influence a translation but is not translated itself.

Characters included in the context parameter will not be counted toward billing.

Example: This is context.
show_billed_charactersboolean

When true, the response will include the billed_characters parameter, giving the number of characters from the request that will be counted by DeepL for billing purposes.

split_sentencesenum

Sets whether the translation engine should first split the input into sentences.

Possible values are:

  • 0 - no splitting at all, whole input is treated as one sentence
  • 1 (default when tag_handling is not set to html) - splits on punctuation and on newlines
  • nonewlines (default when tag_handling=html) - splits on punctuation only, ignoring newlines
Example: 1
Options: 0, 1, nonewlines
preserve_formattingboolean

Sets whether the translation engine should respect the original formatting, even if it would usually correct some aspects.

formalityenum

Sets whether the translated text should lean towards formal or informal language. This feature is only available for certain target languages. Setting this parameter with a target language that does not support formality will fail, unless one of the prefer_... options are used. Possible options are:

  • default (default)
  • more - for a more formal language
  • less - for a more informal language
  • prefer_more - for a more formal language if available, otherwise fallback to default formality
  • prefer_less - for a more informal language if available, otherwise fallback to default formality
Example: prefer_more
Options: default, more, less, prefer_more, prefer_less
model_typeenum

Specifies which DeepL model should be used for translation.

Options: quality_optimized, prefer_quality_optimized, latency_optimized
tag_handlingenum

Sets which kind of tags should be handled. Options currently available:

  • xml
  • html
Example: html
Options: xml, html
outline_detectionboolean

Disable the automatic detection of XML structure by setting the outline_detection parameter to false and selecting the tags that should be considered structure tags. This will split sentences using the splitting_tags parameter.

glossary_idstring

Specify the glossary to use for the translation. Important: This requires the source_lang parameter to be set. The language pair of the glossary has to match the language pair of the request.

Example: def3a26b-3e84-45b3-84ae-0c0aaf3525f7
textstring[]required

Text to be translated. Only UTF-8-encoded plain text is supported. The parameter may be specified many times in a single request, within the request size limit (128KiB). Translations are returned in the same order as they are requested.

non_splitting_tagsstring[]

Comma-separated list of XML tags which never split sentences.

splitting_tagsstring[]

Comma-separated list of XML tags which always cause splits.

ignore_tagsstring[]

Comma-separated list of XML tags that indicate text not to be translated.

Responses
{
  "translations": [
    {
      "detected_source_language": "EN",
      "text": "Hallo, Welt!",
      "billed_characters": 42,
      "model_type_used": "quality_optimized"
    }
  ]
}

Last updated