首页博客 → 如何快速为竖屏短视频生成字幕

如何快速为竖屏短视频生成字幕

发布于 2026-08-20 · 5 分钟阅读

短视频大多是静音观看的——据不同统计,多达四分之三的播放没有声音。没有字幕的片子,观众一秒就划走。下面讲怎么自动生成字幕,并用一条命令把它烧进画面。

直接拿现成的字幕文件

最短的路径是直接请求字幕格式,时间轴已经排好:

from openai import OpenAI

client = OpenAI(base_url="https://voicesscribe.com/v1", api_key="your 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 个字符。放到竖屏上占掉半个画面,很难读。短视频需要三到五个词一组、快速切换的短句。

请求分段格式,自己重排断行:

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 给出描边,任何背景上都能看清。

发布前检查什么

用你自己的录音试一试。 注册只需一分钟,免费额度足够判断识别质量。

免费获取 API 密钥

常见问题

可以直接上传视频而不是音频吗?

只要不超过体积上限就可以。抽出音轨能省上传时间,转录结果完全一样。

srt 和 vtt 有什么区别?

两种字幕格式结构几乎相同。srt 在剪辑软件里更通用,vtt 是网页播放器的原生格式。

怎么做逐词跳动的字幕?

请求分段格式,把文本切成三到五个词一组,按词数在段内均分时间。

一分钟的片子多少钱?

按音频分钟计费,一分钟片子就是一分钟。新账号的免费分钟够做几十条。

相关阅读