Convert ASS to SRT programmatically with one HTTP request. The ASS to SRT API strips the styling and positioning that ASS files carry and produces plain SRT text — the format virtually every tool can read. If a player or editor chokes on .ass, converting to SRT is the fix.
ASS stores rich formatting (fonts, colors, {\an} positioning, drawing commands). SRT supports none of it, so the conversion keeps the dialogue text and drops the styling. One credit per conversion, 100 free credits to start.
Why convert ASS to SRT with an API
- Compatibility: SRT opens everywhere; ASS does not.
- Cleanup: drop fonts, colors, and positions in one call.
- Automate: convert subtitle libraries without opening an editor.
Convert with cURL
curl -X POST https://api.example.com/api/v1/convert \
-H "Authorization: Bearer your_api_key" \
-F "[email protected]" \
-F "from=ass" \
-F "to=srt" \
-o movie.srt
Compact example — PHP
<?php
$curl = curl_init('https://api.example.com/api/v1/convert');
$post = [
'file' => new CURLFile('movie.ass', 'text/x-ssa', 'movie.ass'),
'from' => 'ass',
'to' => 'srt',
];
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $post,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('SUBTOVTT_API_KEY')],
CURLOPT_RETURNTRANSFER => true,
]);
$body = curl_exec($curl);
curl_close($curl);
file_put_contents('movie.srt', $body);
Full examples by language
- Convert SRT to VTT with Python
- Convert SRT to VTT with Node.js
- Convert SRT to VTT with cURL
- Convert SRT to VTT with PHP
- Convert SRT to VTT in the browser
Format notes
| Topic | Detail |
|---|---|
| Output | SubRip (.srt) |
| Styling | Fonts, colors, positions dropped |
| Overrides | Inline {\...} overrides removed |
| Dialogue | Text kept, timing preserved |
| Usage | Widest editor and player compatibility |
Tip: if the ASS file has sound effects in brackets (
[music]), passclean_sdh=1to strip them during the same conversion.
FAQ
Is SSA the same as ASS? Close — SSA is the older specification that ASS extends. This API reads both .ass and .ssa content.
What about ASS positioning? Positioning ({\an...}) is dropped in SRT output. If you need to keep placement, convert to ASS or WebVTT instead.