Convert VTT to ASS programmatically with one HTTP request. The VTT to ASS API takes WebVTT captions and returns styled ASS/SSA subtitles — adding positioning, colors, and fonts that WebVTT cannot express.
Convert when you need to hand captions to a player or editor with full ASS styling support, or when you want to add {\an...} alignment and per-line placement that WebVTT leaves to the browser. One credit per conversion, 100 free credits to start.
Why convert VTT to ASS with an API
- Styling: add positioning and effects WebVTT can't carry.
- Editors: prep files for desktop subtitle editors.
- Automate: upgrade caption files to styled ASS in a pipeline.
Convert with cURL
curl -X POST https://api.example.com/api/v1/convert \
-H "Authorization: Bearer your_api_key" \
-F "[email protected]" \
-F "from=vtt" \
-F "to=ass" \
-F "position=bottom" \
-o movie.ass
Compact example — Python
import os, requests
resp = requests.post(
"https://api.example.com/api/v1/convert",
headers={"Authorization": f"Bearer {os.environ['SUBTOVTT_API_KEY']}"},
files={"file": ("movie.vtt", open("movie.vtt", "rb"), "text/vtt")},
data={"from": "vtt", "to": "ass", "position": "bottom"},
)
resp.raise_for_status()
open("movie.ass", "wb").write(resp.content)
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 | ASS (.ass) |
| Styling | Default style block, editable in the ASS header |
| Positioning | position param: none/top/middle/bottom/remove |
| Cue settings | WebVTT align/position mapped to ASS alignment |
| Usage | Players with ASS support, stylized captions |
Tip: pass
position=bottom(the default caption position) orposition=topto lift captions clear of on-screen overlays.
FAQ
Does WebVTT styling survive the conversion? Cue settings like align: and position: are mapped into ASS alignment; anything else uses the default style you can edit in the output's header.
Is VTT to ASS a lossy conversion? Only if you rely on WebVTT cue settings that have no ASS equivalent — in practice the direction is additive: you gain styling control.