AI

AI File Translations

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

post/ai/file-translations

Request

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 1 revision of this API.