Convert VTT to ASS with the SubtoVTT API

Convert WebVTT to styled ASS/SSA subtitles with the SubtoVTT API. Add positioning and effects programmatically. One credit per call. v1 · stable

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

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) or position=top to 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.

Next

↑ Back to top