SuperAPI AI 工具集

reel-export

设计与创作

查看项目

更新于 10-15 16:21

技能介绍

用途

reel-export 用于把横向或方形的动态视频(motion video)转换为 1080×1920 的竖屏 Instagram Reel 或 TikTok 文件,使其能正常上传、不被应用二次处理导致色彩变淡或画质异常。它面向需要在竖屏短视频平台发布动态图形的场景,强调竖屏安全区、色彩范围与编码格式的规范。

开始前的准备

如果存在 brand.md 和 MOTION.md,先阅读。如果没有,先运行 brand-intake,或者直接向用户索取十六进制色值、字体和 logo 文件。资料明确指出:在没有这些品牌信息的情况下,不能称结果符合品牌规范。

主要能力与步骤

第一步:索取四项输入并等待

  • 视频:任意 MP4、任意尺寸。
  • 标题(headline):两行短句,需逐字提供。它是用户静音观看时读到的钩子。
  • logo:以附件形式提供,当视频提到某个产品或公司时需要。
  • 视频周围的背景色:默认近黑色 #0B0B0F。

第二步:安全区

应用会在 Reel 边缘绘制自己的按钮、字幕和头像,因此所有文字和 logo 需要保持在:

  • y 360 至 y 1420 之间(底部 500px 内不放内容)
  • 避开右侧 120px

标题放在该区域顶部,视频放在其下方。16:9 视频按 1080 宽缩放后高 608,放在 y 660 处合适。

第三步:生成叠加层并编码

用 HTML 构建一张 1080×1920 的透明 overlay.png,包含标题和任何 logo,然后截图。资料指出可自行设定样式的文字优于用 ffmpeg 烧录的文字。随后执行给定的 ffmpeg 命令(见下方代码),它会加入一条静音 AAC 音轨;如果视频本身有声音,把 -map 2:a 换成 -map 0:a。

命令:

ffmpeg -y -i in.mp4 -loop 1 -i overlay.png -f lavfi -i anullsrc=r=48000:cl=stereo -filter_complex "color=c=0x0B0B0F:s=1080x1920:r=30[bg];[0:v]fps=30,scale=1080:-2,setsar=1[v];[bg][v]overlay=0:660:shortest=1[o];[o][1:v]overlay=0:0:shortest=1,scale=out_color_matrix=bt709:out_range=tv,format=yuv420p[out]" -map "[out]" -map 2:a -shortest -c:v libx264 -profile:v high -crf 18 -pix_fmt yuv420p -color_range tv -colorspace bt709 -color_primaries bt709 -color_trc bt709 -c:a aac -b:a 128k -movflags +faststart reel.mp4

第四步:上传前检查

执行 ffprobe 命令:

ffprobe -v error -show_entries stream=codec_type,codec_name,width,height,pix_fmt,color_range,color_space -of compact reel.mp4

通过标准为:视频为 h264、1080×1920、yuv420p、color_range=tv、bt709,并含一条 aac 音频流。如果看到 hevc 或 color_range=pc,需要重新编码。之后从中间取一帧,按手机尺寸查看。

适用场景

  • 将宽屏动态图形适配到 Instagram Reel 或 TikTok 竖屏格式。
  • 需要带标题钩子与品牌 logo 的竖屏导出,且内容避开应用 UI 遮挡。
  • 需要保证上传后色彩与编码正确的 H.264 limited-range 输出。

限制与注意事项

  • 缺少 brand.md / MOTION.md 且未提供色值、字体、logo 时,不能宣称结果符合品牌规范。
  • 手机录制常为 HEVC 全范围(full range),直接上传可能出现色彩变淡或被糟糕地重编码;每次编辑之后都应重新导出 H.264 limited-range 文件。
  • logo 直接压在画面上,在亮帧中会消失;应把每个 logo(及其标签)放在各自的深色圆角底板上。
  • faststart 很重要:没有 -movflags +faststart,文件要完全加载后才能开始播放。
  • 标题保持两行,便于用户一秒内读完(示例:"This Mac launch" / "is 100% code")。
  • 具体收费、价格、平台支持范围等信息暂未提供。