Creative#Video generation#Ecommerce#Coding agent

ecommerce-video-skills: 13 agent skills turn product photos into shoppable videos, rendered locally with ffmpeg

13 installable agent skills cover the shoppable-short-video pipeline, and the final cut is rendered locally with ffmpeg — no API key anywhere.

Project facts

GitHub Ecosystem
Repositorygithub.com/xianyu110/ecommerce-video-skills
License
MIT
Language
Python
Stars
78
Data checked
2026-10-17

Snapshot figures reflect the check date and may change over time.

Diagram of one product photo flowing through hook, storyboard, voice-over and render nodes into a vertical ad video

Ask a model for a “Douyin script for my water bottle” and you get the easy part. The hard part of a shoppable short video is everything after the script: the 3-second hook, the shot list, the image-to-video prompts, the voice-over, the captions, and finally assembling it all into a 1080×1920 cut. xianyu110/ecommerce-video-skills (MIT, Python, about 78 stars as of 2026-10-17) splits that whole chain into 13 individually installable agent skills for Claude Code / Codex / Cursor — and its real differentiator is the last step: a Python script drives ffmpeg locally to produce the finished video, with no API key anywhere in the render path.

Diagram of one product photo flowing through hook, storyboard, voice-over and render nodes into a vertical ad video

Core features

Input is a few product photos; output is a 9:16 cut with voice-over, captions and BGM. The pipeline has four stages:

  • Hook and script: viral-remake takes a viral video link or transcript, breaks it into a 5-beat structure and remaps it to your product as a renderable storyboard.json. hook-3s-script drafts 6–10 opening hooks at once, flags the recommended ones, and self-checks against advertising-law superlatives.
  • Storyboard and shots: selling-point-storyboard lays out 15/30/60-second structures, one message per shot. multi-model-shot-prompts adapts the same storyboard to Seedance, Kling, Veo, Runway and friends — the first step locks the product’s shape, color and logo to reduce “cool video, but the product changed”, and every shot has a local Ken Burns fallback so nothing depends on a paid model.
  • Voice and captions: ai-voiceover-edge-tts synthesizes per-line voice-over with Microsoft’s free edge-tts; subtitles-and-text-effects produces four ASS caption/title styles that avoid each platform’s bottom product card and side buttons.
  • Render and distribution: ffmpeg-auto-assemble is the pipeline’s endpoint — xfade transitions, auto-ducked BGM, two-pass loudness normalization to roughly −14 LUFS, one command out to MP4 plus SRT. platform-spec-export covers Douyin, TikTok Shop, WeChat Channels, Xiaohongshu, Taobao main-image video and Amazon; live-stream-clips slices a livestream recording into vertical highlights by timestamp or caption keyword; cover-title-ab picks clean frames for A/B cover tests; multilingual-dubbing renders an English version with --lang en once line_en fields exist, with voices pre-listed for SEA, JP/KR and LATAM.

Typical use cases

  • A solo seller who needs vertical shoppable videos across Douyin / TikTok Shop / WeChat Channels / Xiaohongshu but can’t justify a video editor’s retainer: the pipeline runs locally end to end, the voice-over is free, and once wired up it puts out clips daily.
  • Anyone with a rival ad link who wants their own product version fast: viral-remake and hook-3s-script produce a renderable storyboard.json, not a prose script you still have to interpret.
  • Stores that livestream for hours daily: live-stream-clips turns a recording into 30-second vertical highlight cuts by timestamp, caption keyword or pause detection.
  • Going global: multilingual-dubbing renders an English cut with --lang en as soon as line_en fields exist; SEA, JP/KR and LATAM voice lists are ready-made.

Quick start

npx skills add xianyu110/ecommerce-video-skills
pip install -r requirements.txt   # pillow, numpy, edge-tts; ffmpeg (with libass) installed separately
python scripts/assemble.py examples/aura-bottle/storyboard.json --lang en \
  --voice en-US-AndrewNeural -o out/aura-en.mp4
python scripts/export_platform.py out/aura.mp4 --platform douyin channels xiaohongshu

The bundled examples/aura-bottle demo turns six images into a 17-second cut — run that once before swapping in your own product. Each skill folder carries its own scripts with no cross-dependencies, so you can install just the hook or caption skill alone, via npx skills add, Claude Code’s /plugin marketplace add, or a plain copy into ~/.claude/skills/, ~/.codex/skills/ or .cursor/skills/.

Summary

The line between this and a pile of prompt templates is the render: free edge-tts voice, local ffmpeg assembly, zero API keys, and a fallback for every shot. The trade-off is that real photoreal motion still depends on whether you connect an image-to-video model, and voice, captions and platform specs all deserve a human pass before upload. Two skills stand out on their own: the advertising-law self-check inside hook-3s-script catches superlatives like “cheapest” and “number one” that genuinely draw fines in shoppable contexts, and live-stream-clips alone pays for the repo if you livestream in hours-long sessions. As of 2026-10-17: 78 stars, 13 forks, created 2026-10-04, still active 10-16. The sister repo ecommerce-image-skills handles the upstream images, so the two form a complete photos-to-video chain.

For other paths into automated video, MoneyPrinterV2 automates the content-to-monetization loop more aggressively; NocoDB works better as the database behind a batch-production catalog.