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- License
- MIT
- Language
- Python
- Stars
- 78
- Data checked
- 2026-10-17
Snapshot figures reflect the check date and may change over time.

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.

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-remaketakes a viral video link or transcript, breaks it into a 5-beat structure and remaps it to your product as a renderablestoryboard.json.hook-3s-scriptdrafts 6–10 opening hooks at once, flags the recommended ones, and self-checks against advertising-law superlatives. - Storyboard and shots:
selling-point-storyboardlays out 15/30/60-second structures, one message per shot.multi-model-shot-promptsadapts 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-ttssynthesizes per-line voice-over with Microsoft’s free edge-tts;subtitles-and-text-effectsproduces four ASS caption/title styles that avoid each platform’s bottom product card and side buttons. - Render and distribution:
ffmpeg-auto-assembleis 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-exportcovers Douyin, TikTok Shop, WeChat Channels, Xiaohongshu, Taobao main-image video and Amazon;live-stream-clipsslices a livestream recording into vertical highlights by timestamp or caption keyword;cover-title-abpicks clean frames for A/B cover tests;multilingual-dubbingrenders an English version with--lang enonceline_enfields 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-remakeandhook-3s-scriptproduce a renderablestoryboard.json, not a prose script you still have to interpret. - Stores that livestream for hours daily:
live-stream-clipsturns a recording into 30-second vertical highlight cuts by timestamp, caption keyword or pause detection. - Going global:
multilingual-dubbingrenders an English cut with--lang enas soon asline_enfields 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.