Skip to content

Subtitles

Integrate

Model id veed/subtitles
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/veed/subtitles?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "preset": "glass"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.20 200 API credits your files are measured before the run Run it on this page

Get API key
VEED · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required video_url
Drop a file, or

Source video for subtitling; either upload the file or paste its URL.

•required

Style selection governing typography, color, arrangement, and animation, with richer rendering responsive to input context. Basic presets use a multiplier of 1 and deliver predictable results through fixed, lightweight styling: vegas, rizz, mint, flex, sprout, karl, hustle, kitty, slay, ali, diego, vinta, lowkey, capri, casper, shadeplay, boo, corpo, beans, plain, simple.

Language to translate subtitles into; for the most reliable translation with `srt_content` or `srt_file_url`, also supply their source language in `language`. Without a target, subtitles remain in the original spoken language.

Advanced srt_file_url · language · srt_content · vocabulary · customization
Drop a file, or

Supply subtitles instead of running transcription by uploading an .srt file or pasting its URL.

Language of the source audio, rather than the generated subtitles. Matching it to the audio improves transcription accuracy.

Raw subtitle text in SRT format, supplied instead of srt_file_url. Providing it bypasses transcription.

Optional transcription vocabulary, active only when neither srt_content nor srt_file_url is supplied. Include brand names and specialist jargon that transcription providers often misspell, for example "VEED" → "vid".

Optional preset customization, retaining default values wherever fields are omitted. Overrides can adjust vertical placement and shadow strength, plus font, weight, and hex color separately for every word-importance tier.

POST /run/veed/subtitles?wait=20 quote → $0.20
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/veed/subtitles?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "preset": "glass"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Subtitles

Adds rendered subtitles to a video (`video_url`) using a required style `preset`, with 30 presets available. It transcribes automatically, or skips that if you give `srt_file_url` or `srt_content`. `language` sets the source language for accuracy, and `translation_language` translates the subtitles. A `vocabulary` list of up to 100 terms and `customization` overrides refine the result.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
video_urlrequired video
Typeurl · video
≤ 2,083 characters
Source video for subtitling; either upload the file or paste its URL.
presetrequired
Typeenum
glasswhisperglide2fusionglideterminalhandwrittenbackdropbackdrop2simpleplainbeanscorpobooshadeplaycasper
+14 morecaprilowkeyvintadiegoalislaykittyhustlekarlsproutflexmintrizzvegas
Style selection governing typography, color, arrangement, and animation, with richer rendering responsive to input context. Basic presets use a multiplier of 1 and deliver predictable results through fixed, lightweight styling: vegas, rizz, mint, flex, sprout, karl, hustle, kitty, slay, ali, diego, vinta, lowkey, capri, casper, shadeplay, boo, corpo, beans, plain, simple.
languageoptional
Typeenum
af-ZAam-ETar-AEar-BHar-DZar-EGar-ILar-IQar-JOar-KWar-LBar-MAar-OMar-PSar-QAar-SA
+148 morear-TNast-ESaz-AZbabasbe-BYbg-BGbrbs-BAca-ESceb-PHckb-IQcs-CZcy-GBda-DKde-DEdyuel-GRen-AUen-GBen-INen-NZen-USeoes-ARes-BOes-CLes-COes-CRes-DOes-ECes-ESes-GTes-HNes-MXes-NIes-PAes-PEes-PRes-PYes-SVes-USes-UYes-VEet-EEeu-ESfa-IRfffi-FIfil-PHfofr-CAfr-FRfygagdgl-ESha-NGhawhe-ILhr-HRhsbhthu-HUhy-AMid-IDigis-ISit-ITja-JPja-Latn-JPjv-IDka-GEkabkam-KEkea-CVkk-KZko-KRkuky-KGlalb-LUlglijln-CDlo-LAlt-LTluo-KElv-LVmgmi-NZmk-MKmn-MNms-MYmt-MTnb-NOnl-NLnso-ZAny-MWoc-FRpl-PLps-AFpt-BRpt-PTro-ROrohru-RUrw-RWsahsk-SKsl-SIsmsn-ZWso-SOsq-ALsr-Latn-RSsr-RSsrdsssu-IDsv-SEsw-KEsw-TZtg-TJth-THtktntoktontr-TRts-ZAttuk-UAumb-AOur-INur-PKuz-UZvi-VNvrowo-SNxh-ZAyiyo-NGyue-Hant-HKzhzh-HKzh-TWzu-ZA
Language of the source audio, rather than the generated subtitles. Matching it to the audio improves transcription accuracy.
translation_languageoptional
Typeenum
abaceachaf-ZAakalzam-ETar-AEar-BHar-DZar-EGar-ILar-IQar-JOar-KWar-LB
+198 morear-MAar-OMar-PSar-QAar-SAar-TNawaayaz-AZbanbbcbe-BYbembewbg-BGbhobikbmbs-BAbtsbtxbuaca-ESceb-PHcggchmckb-IQcnhcocrhcrscs-CZcvcy-GBda-DKde-DEdindoidovdvdzeeel-GRen-AUen-GBen-INen-NZen-USeoes-ARes-BOes-CLes-COes-CRes-DOes-ECes-ESes-GTes-HNes-MXes-NIes-PAes-PEes-PRes-PYes-SVes-USes-UYes-VEet-EEeu-ESfa-IRfffi-FIfil-PHfjfr-CAfr-FRfygagaagdgl-ESgngomha-NGhawhe-ILhilhmnhr-HRhrxhthu-HUhy-AMid-IDigilois-ISit-ITja-JPja-Latn-JPjv-IDka-GEkk-KZko-KRkriktukuky-KGlalb-LUlglilijlmoln-CDlo-LAlt-LTltgluo-KEluslv-LVmaimakmgmi-NZminmk-MKmn-MNmni-Mteims-Arabms-MYmt-MTnb-NOnewnl-NLnrnso-ZAnusny-MWoc-FRompagpampappl-PLps-AFpt-BRpt-PTqurnro-ROromru-RUrw-RWscnsgshnsk-SKsl-SIsmsn-ZWso-SOsq-ALsr-Latn-RSsr-RSssstsu-IDsv-SEsw-KEsw-TZszltettg-TJth-THtitktntr-TRts-ZAttuguk-UAur-INur-PKuz-UZvi-VNxh-ZAyiyo-NGyuayue-Hant-HKzhzh-HKzh-TWzu-ZA
Language to translate subtitles into; for the most reliable translation with `srt_content` or `srt_file_url`, also supply their source language in `language`. Without a target, subtitles remain in the original spoken language.
srt_file_urloptional
Typeurl · file
≤ 2,083 characters
Supply subtitles instead of running transcription by uploading an .srt file or pasting its URL.
srt_contentoptional
Typestring | null
Raw subtitle text in SRT format, supplied instead of srt_file_url. Providing it bypasses transcription.
vocabularyoptional
Typeobject[]
≤ 100 items
Optional transcription vocabulary, active only when neither srt_content nor srt_file_url is supplied. Include brand names and specialist jargon that transcription providers often misspell, for example "VEED" → "vid".
vocabulary[].wordrequired
Typestring
1 – 100 characters
Provide the term's correct spelling, preferably a brand, product name, or specialized term from your domain.
vocabulary[].replacesrequired
Typestring[]
1 – 20 items
List each misspelling once to have it replaced by `word`. Matching requires a complete word but ignores capitalization: `['vid']` matches `vid`, `Vid`, and `VID`, without separate entries for each case.
customizationoptional
Typeobject
Optional preset customization, retaining default values wherever fields are omitted. Overrides can adjust vertical placement and shadow strength, plus font, weight, and hex color separately for every word-importance tier.
customization.positionoptional
Typeenum
topcenterbottom
Screen position along the vertical axis for static subtitles.
customization.shadowoptional
Typeenum
noneminmidmax
Readability enhancement for subtitles against bright or visually busy backgrounds.
customization.text_customizationsoptional
Typeobject
Text appearance settings by tier, covering baseline words and highlighted words.
customization.text_customizations.baselineoptional
Typeobject
Default text appearance for all transcript words, visible before any individual word receives emphasis.
customization.text_customizations.highlightedoptional
Typeobject
Styling for the mid-rank word tier, which presets typically emphasize with greater size or weight. Words enter this tier automatically when marked noteworthy, including key nouns, action verbs, and salient adjectives.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "veed/subtitles",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 200,
    "usd": "0.20",
    "charged": 200,
    "refunded": 0
  },
  "input": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "preset": "glass"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Rendered video containing styled subtitles.

More models: Video to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/veed/subtitles.md. All models and guides: https://doitong.com/developers/llms.txt