{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Subtitle & Document Translator — SRT, VTT, DOCX",
    "description": "Translate SRT and VTT subtitles into 110 languages with every timestamp preserved byte-for-byte, plus plain text and DOCX/PPTX documents that keep their original layout. Two engines: a fast affordable one and a professional high-accuracy one. Bulk input, per-character billing.",
    "version": "1.0",
    "x-build-id": "CdGJAUpAtDfpa5Mp2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sian.agency~ai-subtitle-and-document-translator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sian.agency-ai-subtitle-and-document-translator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/sian.agency~ai-subtitle-and-document-translator/runs": {
      "post": {
        "operationId": "runs-sync-sian.agency-ai-subtitle-and-document-translator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/sian.agency~ai-subtitle-and-document-translator/run-sync": {
      "post": {
        "operationId": "run-sync-sian.agency-ai-subtitle-and-document-translator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode",
          "engine",
          "targetLanguages"
        ],
        "properties": {
          "mode": {
            "title": "What are you translating?",
            "enum": [
              "text",
              "subtitles",
              "document"
            ],
            "type": "string",
            "description": "text — plain strings, product copy, UI labels, transcripts. subtitles — .srt / .vtt files with every timestamp preserved byte-for-byte. document — .docx / .pptx files that come back with their original layout, styles and images intact (professional engine only).",
            "default": "text"
          },
          "engine": {
            "title": "Translation engine",
            "enum": [
              "ai",
              "deepl"
            ],
            "type": "string",
            "description": "Fast — a modern language model. Cheap enough for whole back-catalogues, and the only engine free plans can use. Professional — the highest-accuracy engine available, with native formality control and document support. Paying plans only.",
            "default": "ai"
          },
          "targetLanguages": {
            "title": "Target languages",
            "type": "array",
            "description": "Every language you pick is a separate translation and is charged separately. Free runs translate into one language.",
            "items": {
              "type": "string",
              "enum": [
                "AF",
                "AN",
                "AR",
                "AS",
                "AY",
                "AZ",
                "BA",
                "BE",
                "BG",
                "BN",
                "BR",
                "BS",
                "CA",
                "CS",
                "CY",
                "DA",
                "DE",
                "DE-CH",
                "DE-DE",
                "EL",
                "EN-GB",
                "EN-US",
                "EO",
                "ES",
                "ES-419",
                "ET",
                "EU",
                "FA",
                "FI",
                "FR",
                "FR-CA",
                "FR-FR",
                "GA",
                "GL",
                "GN",
                "GU",
                "HA",
                "HE",
                "HI",
                "HR",
                "HT",
                "HU",
                "HY",
                "ID",
                "IG",
                "IS",
                "IT",
                "JA",
                "JV",
                "KA",
                "KK",
                "KO",
                "KY",
                "LA",
                "LB",
                "LN",
                "LT",
                "LV",
                "MG",
                "MI",
                "MK",
                "ML",
                "MN",
                "MR",
                "MS",
                "MT",
                "MY",
                "NB",
                "NE",
                "NL",
                "OC",
                "OM",
                "PA",
                "PL",
                "PS",
                "PT-BR",
                "PT-PT",
                "QU",
                "RO",
                "RU",
                "SA",
                "SK",
                "SL",
                "SQ",
                "SR",
                "ST",
                "SU",
                "SV",
                "SW",
                "TA",
                "TE",
                "TG",
                "TH",
                "TK",
                "TL",
                "TN",
                "TR",
                "TS",
                "TT",
                "UK",
                "UR",
                "UZ",
                "VI",
                "WO",
                "XH",
                "YI",
                "ZH",
                "ZH-HANS",
                "ZH-HANT",
                "ZU"
              ],
              "enumTitles": [
                "Afrikaans (AF)",
                "Aragonese (AN)",
                "Arabic (AR)",
                "Assamese (AS)",
                "Aymara (AY)",
                "Azerbaijani (AZ)",
                "Bashkir (BA)",
                "Belarusian (BE)",
                "Bulgarian (BG)",
                "Bengali (BN)",
                "Breton (BR)",
                "Bosnian (BS)",
                "Catalan (CA)",
                "Czech (CS)",
                "Welsh (CY)",
                "Danish (DA)",
                "German (DE)",
                "German (Swiss) (DE-CH)",
                "German (DE-DE)",
                "Greek (EL)",
                "English (British) (EN-GB)",
                "English (American) (EN-US)",
                "Esperanto (EO)",
                "Spanish (ES)",
                "Spanish (Latin American) (ES-419)",
                "Estonian (ET)",
                "Basque (EU)",
                "Persian (FA)",
                "Finnish (FI)",
                "French (FR)",
                "French (Canadian) (FR-CA)",
                "French (FR-FR)",
                "Irish (GA)",
                "Galician (GL)",
                "Guarani (GN)",
                "Gujarati (GU)",
                "Hausa (HA)",
                "Hebrew (HE)",
                "Hindi (HI)",
                "Croatian (HR)",
                "Haitian Creole (HT)",
                "Hungarian (HU)",
                "Armenian (HY)",
                "Indonesian (ID)",
                "Igbo (IG)",
                "Icelandic (IS)",
                "Italian (IT)",
                "Japanese (JA)",
                "Javanese (JV)",
                "Georgian (KA)",
                "Kazakh (KK)",
                "Korean (KO)",
                "Kyrgyz (KY)",
                "Latin (LA)",
                "Luxembourgish (LB)",
                "Lingala (LN)",
                "Lithuanian (LT)",
                "Latvian (LV)",
                "Malagasy (MG)",
                "Maori (MI)",
                "Macedonian (MK)",
                "Malayalam (ML)",
                "Mongolian (MN)",
                "Marathi (MR)",
                "Malay (MS)",
                "Maltese (MT)",
                "Burmese (MY)",
                "Norwegian (bokmål) (NB)",
                "Nepali (NE)",
                "Dutch (NL)",
                "Occitan (OC)",
                "Oromo (OM)",
                "Punjabi (PA)",
                "Polish (PL)",
                "Pashto (PS)",
                "Portuguese (Brazilian) (PT-BR)",
                "Portuguese (European) (PT-PT)",
                "Quechua (QU)",
                "Romanian (RO)",
                "Russian (RU)",
                "Sanskrit (SA)",
                "Slovak (SK)",
                "Slovenian (SL)",
                "Albanian (SQ)",
                "Serbian (SR)",
                "Sesotho (ST)",
                "Sundanese (SU)",
                "Swedish (SV)",
                "Swahili (SW)",
                "Tamil (TA)",
                "Telugu (TE)",
                "Tajik (TG)",
                "Thai (TH)",
                "Turkmen (TK)",
                "Tagalog (TL)",
                "Tswana (TN)",
                "Turkish (TR)",
                "Tsonga (TS)",
                "Tatar (TT)",
                "Ukrainian (UK)",
                "Urdu (UR)",
                "Uzbek (UZ)",
                "Vietnamese (VI)",
                "Wolof (WO)",
                "Xhosa (XH)",
                "Yiddish (YI)",
                "Chinese (simplified) (ZH)",
                "Chinese (simplified) (ZH-HANS)",
                "Chinese (traditional) (ZH-HANT)",
                "Zulu (ZU)"
              ]
            },
            "default": [
              "ES"
            ]
          },
          "sourceLanguage": {
            "title": "Source language",
            "enum": [
              "auto",
              "AF",
              "AN",
              "AR",
              "AS",
              "AY",
              "AZ",
              "BA",
              "BE",
              "BG",
              "BN",
              "BR",
              "BS",
              "CA",
              "CS",
              "CY",
              "DA",
              "DE",
              "EL",
              "EN",
              "EO",
              "ES",
              "ET",
              "EU",
              "FA",
              "FI",
              "FR",
              "GA",
              "GL",
              "GN",
              "GU",
              "HA",
              "HE",
              "HI",
              "HR",
              "HT",
              "HU",
              "HY",
              "ID",
              "IG",
              "IS",
              "IT",
              "JA",
              "JV",
              "KA",
              "KK",
              "KO",
              "KY",
              "LA",
              "LB",
              "LN",
              "LT",
              "LV",
              "MG",
              "MI",
              "MK",
              "ML",
              "MN",
              "MR",
              "MS",
              "MT",
              "MY",
              "NB",
              "NE",
              "NL",
              "OC",
              "OM",
              "PA",
              "PL",
              "PS",
              "PT",
              "QU",
              "RO",
              "RU",
              "SA",
              "SK",
              "SL",
              "SQ",
              "SR",
              "ST",
              "SU",
              "SV",
              "SW",
              "TA",
              "TE",
              "TG",
              "TH",
              "TK",
              "TL",
              "TN",
              "TR",
              "TS",
              "TT",
              "UK",
              "UR",
              "UZ",
              "VI",
              "WO",
              "XH",
              "YI",
              "ZH",
              "ZU"
            ],
            "type": "string",
            "description": "Leave on automatic detection unless the source is genuinely ambiguous (very short strings, mixed-language files).",
            "default": "auto"
          },
          "text": {
            "title": "Text",
            "type": "string",
            "description": "A single piece of text to translate. Used when mode is text."
          },
          "texts": {
            "title": "Text list",
            "type": "array",
            "description": "Several strings to translate in one run. Identical strings are translated once and charged once. Used when mode is text.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "subtitleUrls": {
            "title": "Subtitle file URLs",
            "type": "array",
            "description": "Direct links to .srt or .vtt files. Every timestamp, cue index, blank line and byte-order mark comes back exactly as it went in.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "subtitleFiles": {
            "title": "Upload subtitle files",
            "type": "array",
            "description": "Upload .srt or .vtt files instead of linking them.",
            "default": []
          },
          "outputFormat": {
            "title": "Output format",
            "enum": [
              "same",
              "srt",
              "vtt"
            ],
            "type": "string",
            "description": "same keeps the input format. Choosing srt or vtt converts the file: only the decimal separator changes, never the digits of a timestamp.",
            "default": "same"
          },
          "lineWrap": {
            "title": "Line wrapping",
            "enum": [
              "preserve",
              "single",
              "none"
            ],
            "type": "string",
            "description": "preserve keeps the source line count, adding a line only when one would exceed the character limit below. single collapses each cue to one line. none leaves the engine output untouched.",
            "default": "preserve"
          },
          "maxCharsPerLine": {
            "title": "Max characters per line",
            "minimum": 10,
            "maximum": 200,
            "type": "integer",
            "description": "Readability limit used when line wrapping is set to preserve. 42 is the Netflix and BBC subtitle standard.",
            "default": 42
          },
          "documentUrls": {
            "title": "Document URLs",
            "type": "array",
            "description": "Direct links to .docx or .pptx files. Requires the professional engine and a paying plan. PDF and XLSX are not supported.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "documentFiles": {
            "title": "Upload documents",
            "type": "array",
            "description": "Upload .docx or .pptx files instead of linking them. Maximum 30 MB per file.",
            "default": []
          },
          "formality": {
            "title": "Formality",
            "enum": [
              "default",
              "more",
              "less"
            ],
            "type": "string",
            "description": "Register of the translation. The professional engine applies this natively on the 15 languages that distinguish formality; the fast engine applies it through its instructions on every language.",
            "default": "default"
          },
          "preserveTags": {
            "title": "Preserve inline formatting",
            "type": "boolean",
            "description": "Keeps italics, bold, colour tags, positioning overrides and voice spans around the same words they wrapped in the source.",
            "default": true
          },
          "maxSpendUsd": {
            "title": "Maximum spend for this run (USD)",
            "minimum": 0.01,
            "type": "number",
            "description": "Safety cap. The run is priced up front and aborts before anything is charged if the estimate exceeds this. Leave empty for no cap."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}