爱意满满的作品展示区。
boisy

开源了 12 个电商短视频 Agent Skills:一张商品图 → 带配音字幕的 15 秒竖屏视频,本地 ffmpeg 出片

  •  
  •   boisy · 1h 51m ago · 67 views

    之前发过一个电商出图的 Skills ,有人问能不能接着把图变成视频。这周把这部分也做完了,开源( MIT ):

    https://github.com/xianyu110/ecommerce-video-skills?utm_source=v2ex&utm_medium=post&utm_campaign=ecommerce-video-skills&utm_content=body

    想解决的问题:让大模型写带货分镜很容易,但写完还得自己开剪映一镜一镜拖。我想让 agent 不光写脚本,还能把片子真剪出来。

    做法:让 agent 输出一份 storyboard.json (每镜:用哪张图、怎么动、说什么、字幕高亮哪个词),然后本地一条命令渲染:

    python scripts/assemble.py storyboard.json -o out/demo.mp4
    

    脚本做的事:edge-tts 逐句配音 → 镜头时长按配音实际长度反推 → 静图做 Ken Burns (逐帧 scale+crop ,比 zoompan 稳)→ xfade 转场(居中在镜头分界,不吃配音)→ ASS 字幕 / 花字 / CTA → 合成一段免版权 BGM ,有人声时自动压低 → 两遍 loudnorm 到约 -14 LUFS → MP4 + SRT 。纯 Python + ffmpeg ,剪辑这一步不需要任何 API Key ( edge-tts 需要联网)。

    效果:下面这条只用了一张 800×800 的随手拍,14.5 秒、1080×1920 ,我机器上 27 秒左右渲染完:

    MP4: https://upload.maynor1024.live/file/1791169831745_evs-one-photo-demo-9x16.mp4

    拆成了 12 个 skill,每个文件夹一个 SKILL.md ,可以只装需要的:

    • 3 秒钩子( 9 种类型,≤18 字,带广告法禁用词自检)
    • 卖点分镜( 15/30/60 秒结构,直接输出 storyboard.json )
    • 图生视频提示词 / 多模型适配( Seedance 、可灵、Veo 、Runway 、海螺、万相…,带商品一致性锁,不编造模型参数)
    • edge-tts 配音、字幕花字、ffmpeg 自动成片
    • 平台导出(抖音 / TikTok Shop / 视频号 / 小红书 3:4 / 淘宝主图 1:1 / Amazon 16:9 )+ 安全区预览
    • 直播录像切 9:16 高光、开箱 / 对比评测模板、多语言配音(--lang en )、封面标题 A/B

    安装:npx skills add xianyu110/ecommerce-video-skills,或者 Claude Code 里 /plugin marketplace add xianyu110/ecommerce-video-skills,或者直接把 skills/ 复制到 ~/.claude/skills / ~/.codex/skills / .cursor/skills 。不用 agent 的话,脚本也能单独跑,仓库里带了一个 6 张图的示例。

    已知局限:

    • 静图 Ken Burns 终究不是实拍,适合测款和铺量,跑出数据的品建议补实拍;
    • 平台的时长 / 大小上限变化太快,没写死,导出时只给提示;
    • 示例商品是 AI 生成的虚构商品。

    欢迎拍砖,尤其是做电商的朋友:哪些平台规格 / 模板最想要?

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1330 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:28 · PVG 00:28 · LAX 09:28 · JFK 12:28
    ♥ Do have faith in what you're doing.