Subtitle Conversion API

Convert between SRT, VTT and ASS subtitle formats with a single POST request. Free, keyless, no signup. Built on the same parser that powers DramaSub's translation pipeline.

Endpoint

POST https://www.dramasub.asia/api/tools/convert
Content-Type: application/json

Rate limit: 100 requests per day per IP (headers report your remaining quota). Max payload: 500 KB of subtitle text.

Request body

FieldTypeNotes
contentstringRequired. The subtitle file text.
fromstringOptional. srt | vtt | ass. Auto-detected when omitted.
tostringRequired. srt | vtt | ass — must differ from from.

Example — SRT → VTT

curl -X POST https://www.dramasub.asia/api/tools/convert \
  -H "Content-Type: application/json" \
  -d '{
    "content": "1\n00:00:01,000 --> 00:00:03,500\nAnyong!\n",
    "to": "vtt"
  }'

Response

{
  "from": "srt",
  "to": "vtt",
  "cueCount": 1,
  "converted": "WEBVTT\n\n1\n00:00:01.000 --> 00:00:03.500\nAnyong!"
}

JavaScript example

const res = await fetch("https://www.dramasub.asia/api/tools/convert", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ content: srtText, to: "vtt" }),
});
const { converted, cueCount } = await res.json();

Errors

StatusMeaning
400Invalid body, unsupported format, empty/unparseable content, from === to, or content over 500 KB
429Daily IP limit reached — try again tomorrow or use the web tools

Need translation, not just conversion? The web converter and subtitle translator are free in the browser.