AI

AI File Translations

Required scopes: ai.translate (Read and Write).

post/users/{userId}/ai/file-translations

Request

Path parameters

userIdinteger required

User Identifier

Request body

storageIdinteger required

Storage Identifier of the file to translate. Get via List Storages

sourceLanguageIdstring

Source Language Identifier. Get via List Supported Languages. If not specified, auto-detection will be used.

targetLanguageIdstring required

Target Language Identifier. Get via List Supported Languages

type'auto' | 'android' | 'macosx' | 'resx' | 'properties' | 'gettext' | 'yaml' | 'php' | 'json' | 'xml' | 'ini' | 'rc' | 'resw' | 'resjson' | 'qtts' | 'joomla' | 'chrome' | 'dtd' | 'dklang' | 'flex' | 'nsh' | 'wxl' | 'xliff' | 'xliff_two' | 'html' | 'haml' | 'txt' | 'csv' | 'md' | 'mdx_v1' | 'mdx_v2' | 'flsnp' | 'fm_html' | 'fm_md' | 'mediawiki' | 'docx' | 'vsdx' | 'xlsx' | 'sbv' | 'properties_play' | 'properties_xml' | 'maxthon' | 'go_json' | 'dita' | 'idml' | 'mif' | 'stringsdict' | 'plist' | 'vtt' | 'vdf' | 'srt' | 'stf' | 'toml' | 'contentful_rt' | 'svg' | 'js' | 'coffee' | 'ts' | 'i18next_json' | 'xaml' | 'arb' | 'adoc' | 'fbt' | 'webxml' | 'nestjs_i18n' | 'loc'

Values available:

  • empty value or 'auto' — Try to detect file type by extension or MIME type
  • 'android' — Android (*.xml)
  • 'macosx' — Mac OS X / iOS (*.strings)
  • 'resx' — .NET, Windows Phone (*.resx)
  • 'properties' — Java (*.properties)
  • 'gettext' — GNU GetText (*.po, *.pot)
  • 'yaml' — Ruby On Rails (*.yaml, *.yml)
  • 'php' — Hypertext Preprocessor (*.php)
  • 'json' — Generic JSON (*.json)
  • 'xml' — Generic XML (*.xml)
  • 'ini' — Generic INI (*.ini)
  • 'rc' — Windows Resources (*.rc)
  • 'resw' — Windows 8 Metro (*.resw)
  • 'resjson' — Windows 8 Metro (*.resjson)
  • 'qtts' — Nokia Qt (*.ts)
  • 'joomla' — Joomla localizable resources (*.ini)
  • 'chrome' — Google Chrome Extension (*.json)
  • 'dtd' — Mozilla DTD (*.dtd)
  • 'dklang' — Delphi DKLang (*.dklang)
  • 'flex' — Flex (*.properties)
  • 'nsh' — NSIS Installer Resources (*.nsh)
  • 'wxl' — WiX Installer (*.wxl)
  • 'xliff' — XLIFF (*.xliff, *.xlf)
  • 'xliff_two' — XLIFF 2.0 (*.xliff, *.xlf)
  • 'html' — HTML (*.html, *.htm, *.xhtml, *.xhtm, *.xht, *.hbs, *.liquid)
  • 'haml' — Haml (*.haml)
  • 'txt' — Plain Text (*.txt)
  • 'csv' — Comma Separated Values (*.csv)
  • 'md' — Markdown (*.md, *.text, *.markdown...)
  • 'flsnp' — MadCap Flare (*.flnsp, .flpgpl .fltoc)
  • 'fm_html' — Jekyll HTML (*.html)
  • 'fm_md' — Jekyll Markdown (*.md)
  • 'mediawiki' — MediaWiki (*.wiki, *.wikitext, *.mediawiki)
  • 'docx' — Microsoft Office, OpenOffice.org Documents, Adobe InDesign, Adobe FrameMaker(*.docx, *.dotx, *.docm, *.dotm, *.xlsx, *.xltx, *.xlsm, *.xltm, *.pptx, *.potx, *.ppsx, *.pptm, *.potm, *.ppsm, *.odt, *.ods, *.odg, *.odp, *.imdl, *.mif)
  • 'vsdx' — Microsoft Visio (*.vsdx, *.vsdm)
  • 'xlsx' — Microsoft Excel (*.xlsx)
  • 'sbv' — Youtube .sbv (*.sbv)
  • 'properties_play' — Play Framework
  • 'properties_xml' — Java Application (*.xml)
  • 'maxthon' — Maxthon Browser (*.ini)
  • 'go_json' — Go (*.gotext.json)
  • 'dita' — DITA Document (*.dita, *.ditamap)
  • 'mif' — Adobe FrameMaker (*.mif)
  • 'idml' — Adobe InDesign (*.idml)
  • 'stringsdict' — iOS (*.stringsdict)
  • 'plist' — Mac OS property list (*.plist)
  • 'vtt' — Video Subtitling and WebVTT (*.vtt)
  • 'vdf' — Steamworks Localization Valve Data File (*.vdf)
  • 'srt' — SubRip .srt (*.srt)
  • 'stf' — Salesforce (*.stf)
  • 'toml' — Toml (*.toml)
  • 'contentful_rt' — Contentful (*.json)
  • 'svg' — SVG (*.svg)
  • 'js' — JavaScript (*.js)
  • 'coffee' — CoffeeScript (*.coffee)
  • 'nestjs_i18n' - NestJS i18n
  • 'loc' — LOC (*.loc)

Note: Use docx type to import each cell as a separate source string for XLSX file

parserVersioninteger

Using latest parser version by default.

Note: Must be used together with type

tmIdsinteger[]

Array of Translation Memory IDs. Get via List TMs

glossaryIdsinteger[]

Array of Glossary Identifiers. Get via List Glossaries

styleGuideIdsinteger[]

Array of Style Guide Identifiers. Get via List Style Guides

aiPromptIdinteger

Pre-Translation Prompt Identifier. Get via List Prompts

Note: Can't be used with aiProviderId or aiModelId in same request

aiProviderIdinteger

AI Provider Identifier. Get via List AI Providers

Note: Must be used together with aiModelId. Can't be used with aiPromptId in same request

aiModelIdstring

AI Model ID. Get via List AI Provider Models

Note: Must be used together with aiProviderId. Can't be used with aiPromptId in same request

instructionsstring[]

Custom instructions for translation

attachmentIdsinteger[]

Storage IDs of images to pass to AI as attachments (max 10). Get via List Storages

Only image files are allowed:

  • jpeg
  • jpg
  • png
  • gif
  • webp

Example request

{
  "storageId": 123,
  "sourceLanguageId": "en",
  "targetLanguageId": "uk",
  "type": "xliff",
  "parserVersion": 1,
  "tmIds": [
    123
  ],
  "glossaryIds": [
    456
  ],
  "styleGuideIds": [
    654
  ],
  "aiPromptId": 789,
  "aiProviderId": 12,
  "aiModelId": "gpt-4.1",
  "instructions": [
    "Keep a formal tone"
  ],
  "attachmentIds": [
    123
  ]
}

Response

AI File Translations job created successfully

Example response

{
  "data": {
    "identifier": "50fb3506-4127-4ba8-8296-f97dc7e3e0c3",
    "status": "finished",
    "progress": 100,
    "attributes": {
      "stage": "translate",
      "error": {
        "stage": "import",
        "message": "Failed to parse file"
      },
      "downloadName": "file.pdf",
      "sourceLanguageId": "en",
      "targetLanguageId": "uk",
      "originalFileName": "Sample_Chrome.json",
      "detectedType": "chrome",
      "parserVersion": 2
    },
    "createdAt": "2026-01-23T11:26:54+00:00",
    "updatedAt": "2026-01-23T11:26:54+00:00",
    "startedAt": "2026-01-23T11:26:54+00:00",
    "finishedAt": "2026-01-23T11:26:54+00:00"
  }
}

Changes

No recorded changes to this operation across all 2 revisions of this API.