Menu
Home / Skills / product-video-starter
← All Skills
Video production v0.1.1 Updated 2026-10-10

Product video starter

Render a short editable vertical product demo from local media, English copy and optional user supplied voiceover audio with Node.js and local FFmpeg.

Run with: Node.js 18+ Local FFmpeg / FFprobe

Use a fresh output directory for each render. The package needs Node.js 18+, ffmpeg and ffprobe, and does not generate narration.

$ node scripts/render-video.mjs ./input.json --output ./output-01

A small local path from product media to an editable demo

product-video-starter is a free, bounded workflow for a short vertical product demo. Give it one product image or video, three English copy blocks and a duration from 15 to 30 seconds. It uses the ffmpeg and ffprobe commands already available on your machine; it does not call a paid media service or download assets.

Download the free Skill (ZIP)

Extract the ZIP into a new project folder, keep the product-video-starter/ directory intact, and provide your own input JSON. The package is a local workflow and is not published to npm.

Inputs and dependencies

  • A local product image (.png, .jpg, .jpeg, .webp or .ppm) or an FFmpeg-readable product video.
  • A title of up to 60 characters and English hook, body and cta copy of up to 84 characters each.
  • A duration between 15 and 30 seconds.
  • Optional user supplied English voiceover audio. The Skill has no text-to-speech path.
  • Node.js 18 or newer, plus ffmpeg and ffprobe on PATH.

The input paths are resolved relative to the JSON file. Client media and voiceover files stay in the user’s project and are never placed in this download.

Outputs

Run this from the extracted Skill directory:

node scripts/render-video.mjs ./input.json --output ./output-01

Each fresh output directory contains:

  • video.mp4: a 720×1280 H.264 vertical render.
  • captions.srt: the caption source used by the render.
  • project.json: editable source paths, copy and caption timings.
  • render-report.json: FFmpeg version, stream information and decode evidence.
  • README.md: a local handoff note.

Use a new output directory for every revision. Existing output files are not overwritten. To change timing, edit the three contiguous captions start/end pairs in project.json; they must cover the full duration. Change the copy fields to change the words.

Preview and evidence

Open the self hosted technical preview

The preview uses a local demo input and a silent render. It demonstrates the package path and output shape; add a user provided voiceover when narration is needed. A passing decode check, a screenshot or this controlled input does not establish publishing quality, product performance or customer adoption.

Fixed limits

This is a small local renderer with one media input, three caption blocks and a fixed vertical layout. It has no general editor, transitions, music mixing, remote media, TTS, automatic publishing or platform-specific performance promise. If narration is required, supply a voiceover file you own and listen through the complete result to check delivery and sync.

The package contains no customer files or third-party stock media. Review the complete output for composition, claims, caption readability and audio before publishing.

By FeedSkills · Clear inputs. Editable outputs.
Browse Skills →