Assemble ordered visuals and narration into a narrated MP4 with FFmpeg.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "demo-video" skill from askskill: 1. Download https://raw.githubusercontent.com/microsoft/hve-core/main/.github/skills/experimental/demo-video/SKILL.md 2. Save it as ~/.claude/skills/demo-video/SKILL.md 3. Reload skills and tell me it's ready
Assemble the ordered frames/clips and matching narration WAV files from segments.yml into a narrated MP4 at the specified output path.
A concatenated MP4 demo video with per-segment narration.
Generate the video without changing segment order, using 1280x720 resolution and 24 fps.
A finished video rendered at the requested resolution and frame rate.
Use duration to fix the length of still-frame segments, keep other segments on default timing, and export the MP4.
A video that includes still-image segments with fixed durations.
Product managers or designers can combine ordered screenshots and voiceover into a first-pass walkthrough video. It is useful for internal reviews, solution explainers, and prototype demos.
When you already have several short screen recordings and matching narration, this skill can normalize and concatenate them into a single MP4 for sharing and playback.
When you need consistent output resolution, frame rate, and segment length, you can control the final render through the manifest and parameters.
This document describes a skill for assembling narrated demo videos. It reads a `segments.yml` manifest, processes ordered still frames or video clips, and muxes matching WAV narration into a final MP4. The docs cover the manifest structure, top-level output/resolution/fps settings, segment fields, and quick-start bash and PowerShell wrappers.
This skill assembles a narrated demo video from ordered visual segments and matching narration audio. It is designed for first-pass walkthrough videos that combine captured prototype frames or clips with per-segment voiceover WAV files.
The workflow takes a manifest that describes each segment, resolves the visual source, and uses FFmpeg to render each segment into a normalized video clip before concatenating them into a final MP4. The narration track is muxed from WAV files so the output can be reviewed as a polished walkthrough without requiring a separate video-editing tool.
Use a segments.yml manifest with optional top-level output settings and an ordered list of segments. Each entry describes a visual source and the narration audio to combine for that portion of the video. All paths resolve relative to the manifest file.
output: ./output/demo.mp4 # optional; destination path for the assembled MP4
resolution: 1280x720 # optional; default 1280x720
fps: 24 # optional; default 24
segments:
- type: frame
visual: ./frames/intro.png
narration: ./audio/intro.wav
duration: 4.5
- type: clip
clip: ./clips/interaction.mp4
narration: ./audio/interaction.wav
output sets the destination path for the assembled MP4, resolved relative to the manifest; the --output or -OutputPath argument overrides it when suppliedresolution controls the output width and height in WIDTHxHEIGHT form (default 1280x720); the --resolution or -Resolution argument overrides itfps sets the frame rate applied when rendering each segment (default 24); the --fps or -Fps argument overrides ittype identifies whether the segment is a still image (frame) or a motion clip (clip)visual points to an image file for a frame segmentclip points to a motion clip file for a clip segmentnarration points to the WAV file generated from narration text (the script also accepts narration_wav as an alias)duration is optional and overrides the inferred duration when you want a fixed segment lengthUse the bash or PowerShell wrappers to invoke the assembler from the skill directory.
scripts/assemble-video.sh --manifest examples/segments.yml --output ./output/demo.mp4
scripts/Invoke-AssembleVideo.ps1 -ManifestPath examples/segments.yml -OutputPath ./output/demo.mp4
The assembly step accepts the following high-level controls:
--manifest or -ManifestPath selects the YAML manifest to process--output or -OutputPath sets the destination MP4 path--fps or -Fps controls the output frame rate for rendered segments--resolution or -Resolution controls the output width and height in the form WIDTHxHEIGHTduration per segment lets you override the inferred length when narration timing is known in advanceNarration quality is the single biggest driver of how polished the final video feels. Prioritize neural voices from Azure AI Speech (part of Azure AI Foundry) through the tts-voiceover skill for any video you intend to share.
tts-voiceover skill backed by Azure AI Speech neural voices (for example en-US-Andrew:DragonHDLatestNeural or en-US-Jenny:DragonHDLatestNeural). These produce natural, presentation-grade narration and are the default for shareable output.espeak-ng require no credentials but sound noticeably robotic. Treat them as a no-network smoke-test fallback, not a delivery format. Regenerate narration with Azure AI Speech before publishing.See the tts-voiceover skill for the neural voice catalog, --voice and --rate controls, and Azure authentication (Entra ID or key).
…
It assembles ordered visual segments and matching narration into a narrated MP4. The workflow uses a YAML manifest and FFmpeg for first-pass walkthrough videos.
You need a `segments.yml` manifest with ordered segment entries, each pointing to the visual source and narration WAV file, plus optional `duration`, `output`, `resolution`, and `fps` settings.
The docs show bash and PowerShell wrapper examples, using `assemble-video.sh` or `Invoke-AssembleVideo.ps1` from the skill directory. See the source repository for more details.
Provides the foundational rules and workflow for Design Thinking coaching.
Helps you write cleaner, safer, more maintainable Python code.
Turns Design Thinking outputs into RPI-ready handoff context.
Compress replies to terse, accurate output with selectable intensity levels.
Use a Python CLI to automate reading and writing Mural content.
Review code changes across perspectives and produce structured findings.
Convert videos into optimized GIF animations with FFmpeg.
Edit footage, structure videos, add AI enhancements, and polish final cuts.
Extract key frames or short clips from videos for analysis and editing.
Render, color grade, merge, and concat videos with parallel FFmpeg workflows.
Turn any video into a Chinese narrated recap for reuse and sharing.
Process videos with FFmpeg for speed changes, concatenation, optimization, and file handling.