ГлавнаяБлог → Как быстро сделать субтитры для коротких видео

Как быстро сделать субтитры для коротких видео

Опубликовано 2026-08-20 · 5 мин чтения

Короткие видео смотрят без звука — по разным оценкам, до трёх четвертей просмотров идут в беззвучном режиме. Ролик без титров такой зритель пролистывает за секунду. Разберём, как получать субтитры автоматически и вшивать их в видео одной командой.

Готовый файл субтитров

Самый короткий путь — попросить сразу формат субтитров, тогда разметка по времени уже сделана:

from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="ваш ключ")

with open("reel.mp4", "rb") as f:
    srt = client.audio.transcriptions.create(
        model="whisper-1", file=f, response_format="srt")

open("reel.srt", "w", encoding="utf-8").write(srt)

Видеофайл можно отправлять как есть, если он укладывается в лимит размера. Для длинных роликов сначала выньте звуковую дорожку — она в двадцать раз легче.

Почему стандартные строки слишком длинные

Субтитры из коробки рассчитаны на горизонтальное видео: строка в 40–50 символов. На вертикальном экране такая строка занимает половину кадра и читается плохо. Для коротких роликов нужны фразы по 3–5 слов, сменяющиеся часто.

Решение — запросить сегменты и пересобрать разбивку самому:

r = client.audio.transcriptions.create(
    model="whisper-1", file=f, response_format="verbose_json")

for seg in r.segments:
    words = seg["text"].split()
    step = (seg["end"] - seg["start"]) / max(len(words), 1)
    for i in range(0, len(words), 4):
        chunk = " ".join(words[i:i+4])
        print(round(seg["start"] + i * step, 2), chunk)

Получаются короткие фразы с собственным временем показа — ровно то, что нужно вертикальному формату.

Вшить титры в видео

Площадки показывают загруженный файл субтитров не всегда и не везде, поэтому надёжнее вжечь их в картинку:

ffmpeg -i reel.mp4 -vf "subtitles=reel.srt:force_style='FontSize=16,Bold=1,Alignment=2,MarginV=90,Outline=2'" -c:a copy reel-sub.mp4

Alignment=2 прижимает текст к нижнему краю по центру, MarginV поднимает его над интерфейсом плеера, Outline даёт обводку, за счёт которой текст читается на любом фоне.

Что проверить перед публикацией

Попробуйте на своих записях. Регистрация занимает минуту, бесплатных минут хватает, чтобы оценить качество.

Получить ключ бесплатно

Частые вопросы

Можно ли отправить видеофайл, а не аудио?

Да, если он укладывается в лимит размера. Для экономии времени и трафика лучше вынуть звуковую дорожку — результат распознавания будет тем же.

Чем srt отличается от vtt?

Это два формата подписей с почти одинаковой структурой. srt универсальнее для редакторов, vtt — родной формат для веб-плееров.

Как сделать субтитры пословно, как в популярных роликах?

Запросите формат с сегментами и разбейте текст на группы по 3–5 слов, распределив время внутри сегмента пропорционально словам.

Сколько стоит обработка минутного ролика?

Оплата идёт за минуты аудио, поэтому минутный ролик стоит одну минуту тарифа. Новым клиентам бесплатных минут хватает на несколько десятков роликов.

Читайте также