YouTube assemble
Steps
- Validate first:
node scripts/assemble.mjs --dir <project-folder> --checkIt reports missing files, unsupported types, missing durations and a voiceover longer than the visuals. Fixshot-list.jsonor ask the user for the missing assets. - Render:
node scripts/assemble.mjs --dir <project-folder>Output goes tooutput/video.mp4unless the shot list setsoutput. - Tell the user the output path and length, and ask them to watch it. Collect changes,
update the shot list or assets, and re-render with
--overwrite.
Run node scripts/assemble.mjs --help for the shot list format.
Output contract
JSON on stdout with ok, output and totalSeconds, and an MP4 in the project folder.
Failure handling
FFMPEG_MISSING: show the hint; the user installs FFmpeg or setsFFMPEG_PATH.OUTPUT_EXISTS: ask before re-running with--overwrite. Overwriting invalidates an existing upload approval.FFMPEG_FAILED: show the last lines of the error. Common causes are corrupt inputs or unsupported codecs; re-encode the asset or replace it.
