POST /translator/translate/ass

Translate ASS

Translate ASS/SSA subtitle files while preserving timing, styles, and formatting tags.

Translation API

Translate ASS (Advanced SubStation Alpha) and SSA subtitle files while preserving all timing, styles, formatting overrides, and drawing commands. Only the dialogue text is translated, maintaining perfect synchronization and visual styling. Widely used in anime fansubs and advanced subtitle workflows.

HTTP Request

1
POST /translator/translate/ass

Parameters

ParameterTypeRequiredDefaultDescription
sourcestringNo"auto"Source language code. Use auto for automatic detection
targetstringYesTarget language code

Request Body

Send the ASS/SSA content as the raw request body with Content-Type: text/plain.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[Script Info]
Title: Example Subtitles
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Welcome to the world of subtitles.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,This format supports advanced styling and effects.
Dialogue: 0,0:00:08.50,0:00:12.00,Default,,0,0,0,,Let's see how translation preserves everything.

Response

1
2
3
4
5
6
7
8
{
  "status": true,
  "data": {
    "translated_ass": "[Script Info]\nTitle: Example Subtitles\nScriptType: v4.00+\n\n[V4+ Styles]\nFormat: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\nStyle: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1\n\n[Events]\nFormat: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text\nDialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Bienvenido al mundo de los subtitulos.\nDialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,Este formato admite estilos y efectos avanzados.\nDialogue: 0,0:00:08.50,0:00:12.00,Default,,0,0,0,,Veamos como la traduccion preserva todo.",
    "source_language": "en",
    "source_language_name": "English"
  }
}

Response Fields

FieldTypeDescription
statusbooleanWhether the request was successful
data.translated_assstringThe translated ASS content with timing and styles preserved
data.source_languagestringDetected or specified source language code
data.source_language_namestringHuman-readable name of the source language

Code Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import requests

url = "https://multi-format-ai-translator-the-most-complete.p.rapidapi.com/translator/translate/ass"

querystring = {
    "source": "auto",
    "target": "es"
}

payload = """[Script Info]
Title: Example Subtitles
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Welcome to the world of subtitles.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,This format supports advanced styling and effects.
Dialogue: 0,0:00:08.50,0:00:12.00,Default,,0,0,0,,Let's see how translation preserves everything."""

headers = {
    "Content-Type": "text/plain",
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "multi-format-ai-translator-the-most-complete.p.rapidapi.com"
}

response = requests.post(url, headers=headers, params=querystring, data=payload)
data = response.json()

# Save the translated subtitles to a file
with open("subtitles_es.ass", "w", encoding="utf-8") as f:
    f.write(data["data"]["translated_ass"])

print("ASS subtitles translated and saved.")
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const url = "https://multi-format-ai-translator-the-most-complete.p.rapidapi.com/translator/translate/ass";

const params = new URLSearchParams({
  source: "auto",
  target: "es",
});

const ass = `[Script Info]
Title: Example Subtitles
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Welcome to the world of subtitles.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,This format supports advanced styling and effects.`;

const response = await fetch(`${url}?${params}`, {
  method: "POST",
  headers: {
    "Content-Type": "text/plain",
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "multi-format-ai-translator-the-most-complete.p.rapidapi.com",
  },
  body: ass,
});

const data = await response.json();
console.log(data.data.translated_ass);
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
curl -X POST "https://multi-format-ai-translator-the-most-complete.p.rapidapi.com/translator/translate/ass?source=auto&target=es" \
  -H "Content-Type: text/plain" \
  -H "X-RapidAPI-Key: YOUR_API_KEY" \
  -H "X-RapidAPI-Host: multi-format-ai-translator-the-most-complete.p.rapidapi.com" \
  -d '[Script Info]
Title: Example Subtitles
ScriptType: v4.00+

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Welcome to the world of subtitles.
Dialogue: 0,0:00:04.50,0:00:08.00,Default,,0,0,0,,This format supports advanced styling and effects.'
Start building today

Get your API key and make your first request in under a minute.

Get Your API Key on RapidAPI