# Your first video, from supplied source to delivery

Start with a complete project. You do not need an AI account, a new voice or an optional model download to render the supplied examples. You do need the local tools in [setup-and-costs.md](setup-and-costs.md). Initial installation needs internet access.

Run every command from the extracted `local-video-kit` folder. Use a terminal, or ask your local coding assistant to run the same commands. The assistant needs access to this folder; an ordinary web chat upload is not the tested workflow.

## 1. Install and check

Install Node.js 20.9 or later, FFmpeg with libx264, FFprobe and Python 3.10 or later. Then:

```sh
npm ci
node scripts/first-video.cjs doctor
```

Fix a failed check before rendering. Supplied narration needs no MLX install. For a browser guide with the narrated walkthrough and real sample players, run `node scripts/guide-server.cjs`, then open the printed localhost address. This guide is read-only: its commands run in your terminal. Stop the server with Control-C.

## 2. Make a new project

```sh
node scripts/first-video.cjs init --starter explainer --profile profiles/night-studio.json --out projects/my-first-video
node scripts/first-video.cjs status projects/my-first-video
```

The command copies explicitly listed source inputs into a new folder and applies the supported Night Studio settings. Leave out `--profile` for Field Notes. The original starter stays intact. Existing output folders are rejected; use a new name when repeating this exercise.

Other starter names are `product-demo` and `recording-edit`. The product is a fictional task app. The recording starter uses original animated practice footage, not a free generated human presenter. Both native formats, narration, word timings, sound plans, captions and rights records are included in each starter.

## 3. Make one visible change

```sh
node scripts/first-video.cjs edit projects/my-first-video --headline "Make space for your next idea."
```

This changes the opening visual title in both plans. It checks text fit, keeps a `.before-edit.json` source backup and preserves spoken audio and caption words. It does **not** rewrite the narration. A short headline helps both layouts. Use `--scene` with an existing scene ID to target another title, or `--body` for a concise supporting line.

For a new spoken story, replace the script and permitted audio, align final words, retime the plans and check both formats. Read [free-local.md](free-local.md). Do not keep a starter's captions over an unrelated recording.

## 4. Render two actual layouts

```sh
node scripts/first-video.cjs render projects/my-first-video --format both
```

Wait for success. It writes `outputs/landscape.mp4` and `outputs/portrait.mp4` inside your project, plus matching English SRT/VTT files and a build record. These are native 1920×1080 and 1080×1920 layouts; the portrait example is not a crop of the horizontal movie. Existing MP4s are protected. After intentionally editing a working copy, add `--force` to replace its exports. Each run mixes sounds from a fresh clean render so effects are not layered twice.

Open and watch both exports from start to finish with sound. Check speech, word timing, title size, crops, transitions and the final frame. Review at phone size. The toolchain and rights checks do not replace your creative or listening review.

## 5. Collect a delivery folder

```sh
node scripts/first-video.cjs deliver projects/my-first-video --format both --out deliveries/my-first-video
```

Choose a new delivery folder outside the working source. Each format contains `video.mp4`, `captions.srt`, `captions.vtt`, an actual-frame `cover.png`, `source/`, `ASSET-RIGHTS.json` and `DELIVERY.json`. The manifest records byte counts and hashes; unresolved rights block delivery. It does not upload or publish anything, and a manifest does not establish ownership.

Keep your working source separately. A recipient needs the compatible toolkit version to rebuild it; the delivery folder is not a license to redistribute production tools. Read the full [export checklist](export-checklist.md) before sharing.

## Ask for the next change

Example assistant request:

> Use this local Make Video Skill kit and `projects/my-first-video`. Shorten the opening visual title, preserve its narration and timings, validate both layouts, then render both formats. Keep the source editable. Do not publish or call a paid service.

Changes can require different source files or preparation; this is not a promise that every edit is a single click. Reusable profiles cover supported settings only. Read [brand-settings.md](brand-settings.md), especially its engine, font, logo, voice and image boundaries.

Local rendering has no per-video service fee after setup. Hardware, electricity and initial downloads remain your costs. Optional ChatGPT/Codex or Claude access, premium narration, stock media and generated presenters are separate. The tested full model workflow is Apple Silicon macOS; other systems and an independent buyer machine have not been validated.
