WriftAI Logo
WriftAI Logo

Auto-Caption Your Videos with WriftAI

Oct 14, 2026

ยท

5 minute read

Manahil Mushtaq

Engineering

Models

Share

Whether it's a TikTok, Instagram Reel, YouTube Short, podcast clip, interview, or film, captions have become part of the video itself. And good captions are surprisingly hard to get right.

They need to keep up with the speaker, break at the right places, stay readable, and look good on top of whatever is happening in the video. A one-line caption that works for a fast-paced Reel might feel completely wrong in a long interview. Add word highlighting, different fonts, positioning, multiple languages, and suddenly there are a lot more decisions to make.

WriftAI is currently invite-only

If you don't have platform access yet, you won't be able to access the model in this post. Request access to try it out.

We shipped a model, sych/auto-video-captioning, to handle all of it.

Give it a video, choose how you want the captions to behave, and get back a captioned video along with the subtitle file. Here are a few examples of what you can do with it:

Use case

Useful controls

Result

Fast-paced short-form

Shorter lines, shorter durations, word highlighting

Captions that move with the video

Interviews and longer videos

More characters, multiple lines, longer durations

More text stays together

Styled captions

Font, size, color, position, stroke

Captions that match the video's visual style

Minimal subtitles

No highlighting, simple font and positioning

A cleaner subtitle look

Multilingual videos

Language

Caption videos in 99 supported languages

English translation

Translate to English

Translate captions from a supported language into English

Start with simple captions

Sometimes you just need straightforward captions that follow the speaker without drawing too much attention to themselves.

These settings provide a straightforward starting point. Captions appear one line at a time, with up to 40 characters per line and a maximum duration of three seconds. The right timing depends on the pace of the speech. Shorter durations can make captions change more frequently, while longer durations give viewers more time to read.

Setting

Value

Characters per line

40

Lines per caption

1

Minimum caption duration

0.5 seconds

Maximum caption duration

3 seconds

Word highlighting

Off

Simple captions

Source: Cosmos Laundromat - First Cycle. Official Blender Foundation release. by Blender, licensed under Creative Commons Attribution (reuse allowed). The clip was trimmed and then captioned using WriftAI.

Keeping captions readable

Four parameters matter most here:

  • Max Characters per Line: controls how much text can fit on a line.
  • Max Lines: controls how many lines a caption can use.
  • Max Caption Duration: controls how long a caption can remain visible.
  • Min Caption Duration: controls the minimum preferred duration for a caption.

Together, these parameters determine how much text the viewer sees at once and how quickly the captions move.

Highlighting spoken words

Using the same video clip, we can enable word highlighting without changing the other caption settings.

Setting

Value

Word highlighting

On

Highlight color

#FFFF00

Simple captions with word highlighting

Captions as visual elements

Captions can do more than display what's being said. They can also contribute to a video's visual identity. For this example, we used a different 27-second segment from the same video and changed the typography, colors, outline, and line length to create a bolder style.

Setting

Value

Characters per line

10

Lines per caption

1

Font name

Bebas Neue Regular

Font size

90

Minimum caption duration

0.5 seconds

Maximum caption duration

2 seconds

Word highlighting

Off

Font color

#F28C45

Stroke color

#292321

Stroke width

2

Opacity

60%

Caption position

Center

Styled captions

The short lines, large centered font, and orange text give the captions a much stronger visual presence. This configuration shows how much the presentation can change without requiring a different captioning workflow. You can experiment with fonts, colors, spacing, and timing to match the style of your video.

Captions for longer speech

Short, frequently changing captions aren't always the best fit for longer conversations. When a speaker delivers a longer phrase, allowing two lines can keep more of the text together and make it easier to follow. For this video, we used a 36-character line limit, two lines per caption, and longer display durations.

Setting

Value

Characters per line

36

Lines per caption

2

Minimum caption duration

1.5 seconds

Maximum caption duration

4 seconds

Word highlighting

Off

Font name

Montserrat SemiBold

Font size

42

Font color

#F2F2F2

Stroke color

#000000

Stroke width

2

Opacity

90%

Letter spacing

1

Longer captions with a two-line layout

Source: Interview with an Agile Coach - Sprint2 by Kai Lentit, licensed under Creative Commons Attribution (reuse allowed). The clip was trimmed and then captioned using WriftAI.

Compared with the short, bold captions in the previous example, this configuration prioritizes readability over visual emphasis. The two-line layout accommodates longer phrases, and the longer durations give viewers more time to read them.

The goal isn't to use one configuration for every video. It's to adjust the caption behavior to suit the content, whether that means short, prominent captions or longer subtitles that keep more of a conversation together.

Fonts for different styles and scripts

The model includes fonts for both visual styling and different writing systems:

Style / script

Example fonts

Clean / modern

Montserrat SemiBold, Poppins Bold, Roboto Bold

Bold / expressive

Anton Regular, Bebas Neue Regular

Arabic / Urdu

Noto Sans Arabic Bold, Noto Nastaliq Urdu Regular

South Asian scripts

Noto Sans Devanagari Regular, Noto Sans Bengali Regular

East Asian scripts

Noto Sans JP, Noto Sans KR, Noto Sans SC

Hebrew

Noto Sans Hebrew Regular

This matters for multilingual videos because the font needs to support the writing system being rendered, not just the visual style you want.

Multilingual support

Captions aren't limited to English. The model supports 99 languages, including English, Urdu, Chinese, Korean, Japanese, Arabic, Hindi, and Bengali. If you already know the language of the video, you can set Language to English. If you don't, set it to Auto and the model will detect it.

Translating captions into English

There's also a separate Translate to English option. When it's on, captions are translated from the video's spoken language into English. Translation only goes into English. It doesn't translate from one non-English language into another.

Running the model

Once you've decided how you want the captions to behave, you can caption your video directly in the model's Playground without writing any code, or call the model from your own application.

sych/auto-video-captioning playground on WriftAI

WriftAI also provides SDKs for JavaScript/TypeScript, Python and Go, plus a CLI. Below is an example using the Python SDK:


1from pathlib import Path
2
3from wriftai import File, Client
4
5client = Client()
6
7prediction = client.predictions.create(
8 model="sych/auto-video-captioning",
9 input={
10 "video": File(Path("/path/to/video.mp4")),
11 "language": "auto",
12 "max_chars_per_line": 40,
13 "max_lines": 2,
14 "max_caption_duration": 3.0,
15 "min_caption_duration": 0.5,
16 "caption_position": "bottom",
17 "font_name": "Montserrat SemiBold",
18 "font_size": 48,
19 "font_color": "#FFFFFF",
20 "highlight_words": True,
21 "highlight_color": "#FFFF00",
22 "opacity": 1.0,
23 "stroke_color": "#000000",
24 "stroke_width": 3.0,
25 "letter_spacing": 0.0,
26 "translate_to_english": False
27 },
28 wait=True,
29)
30
31print(prediction.output)
32# {
33# "video": "https://cdn.wrift.ai/temporary/video-6808ef49.mp4",
34# "subtitles": "https://cdn.wrift.ai/temporary/captions-0b31f87b.ass"
35# }

You don't need to specify every parameter. The defaults are there for a straightforward captioning workflow, and you can override the settings that matter for your particular video. The full list of parameters and their defaults is on the model's API page.

What comes back

The model returns the captioned video and a separate subtitle file, so you can publish the video as is or edit the subtitles separately.

Auto video captioning pipeline

That's the idea behind the model: one captioning workflow, configured to fit each video.

Scale Your Projects.
Build With Confidence.

Scale your projects effortlessly with WriftAI. Seamlessly integrate and optimize performance as you expand and innovate.

ยฉ 2026 Sych Inc.