# Blueprint: Shorts cutter

URL: https://insidethemachine.ai/build/shorts-cutter
Part: B-01. Family: Content studio. Status: Blueprint, not run yet.
Blueprint. Not run yet. The first real run is on a 128 GB Mac Studio from 10 Nov 2026.

Turn one long video into a handful of Shorts. Your machine does the listening and cutting. Claude picks the best moments.

- Input: One long video you made (a file on your computer).
- Output: 3 to 5 vertical clips with captions, plus a title idea for each.
- Runs from: 8 GB of memory.
- Tools: whisper-cpp (https://insidethemachine.ai/setups/whisper-cpp.md), ollama (https://insidethemachine.ai/setups/ollama.md)

## Claude's job

- Reads one-line summaries of the top moments (not the whole transcript) and picks the 3 to 5 that stand alone.
- Writes a hook line and a title for each pick.
- Final check: does each clip make sense without the rest of the video?

What Claude never sees: Claude never sees the video, the audio or the full transcript. It sees short summaries of the top-scored moments only.

## Local parts per memory size

Data: models.json 2026-10-15, speech.json 2026-10-15, images.json 2026-10-15.

| memory GB | Transcriber | Decider (Local Jev) | Drafter |
|---|---|---|---|
| 8 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.5 4B (needs 5.8 GB, runs, but tight) | Qwen3.5 4B (needs 5.8 GB, runs, but tight) |
| 16 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.5 0.8B (needs 2.6 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs, but tight) |
| 24 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.5 4B (needs 5.8 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs well) |
| 32 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.5 4B (needs 5.8 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs, but tight) |
| 48 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 64 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 96 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 128 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 192 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Qwen3.8-Flash-Next (125B-A6B) (needs 140 GB, runs, but tight) |
| 256 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Qwen3.8-Flash-Next (125B-A6B) (needs 140 GB, runs well) |
| 512 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Qwen3.8-Flash-Next (125B-A6B) (needs 140 GB, runs well) |

How each part is picked:
- Transcriber: Turns speech into text with timestamps. Rule: The most accurate speech-to-text model that fits and runs in whisper.cpp (Mac, Windows and Linux). Accuracy is the Open ASR word error rate: lower is better. (speech.json)
- Decider (Local Jev): Answers typed questions about each item: pick one, give a score, or yes/no. It never writes. Rule: The smartest chat model with an Ollama download that needs no more than a third of your usable memory. Smaller models answer sooner, and a decider only picks a label. If no model is that small, the drafter's model decides too. (models.json)
- Drafter: Writes the first draft of many small things: summaries, title options, reply drafts. Rule: The smartest chat model that fits your usable memory and has an Ollama download (the same model the /do recipes install). (models.json)
- Fit: We count 75% of your memory as usable for AI. The rest is for the system and your apps. Runs well: the model fits in usable memory with at least 10% to spare. Runs, but tight: it fits, but less than 10% of usable memory is left. Close other apps first. Needs N GB+: it does not fit. N is the smallest memory size it fits in. Size unknown: we do not know how much memory it needs.

## Steps

1. **Pick one video you own** (You; stage id `pick`): A long video file on your computer. Your own work only.
2. **Transcribe it** (Your machine, Transcriber; stage id `transcribe`): Speech to text with a timestamp on every sentence. Runs on your machine.
3. **Cut the text into moments** (A script; stage id `windows`): A script splits the transcript into 20 to 60 second windows that start and end on a full sentence.
4. **Score every moment** (Your machine, Decider (Local Jev); stage id `score`): Local Jev answers three typed questions per moment: how strong is the hook (score), does it make sense alone (yes/no), what is it about (pick one). Unsure answers are marked.
5. **Sum up the top moments** (Your machine, Drafter; stage id `summarise`): The drafter writes one line per top-scored moment. This is what Claude reads.
6. **Claude picks and titles** (Claude; stage id `choose`): Claude reads the one-liners, picks 3 to 5 moments and writes a hook line and title for each.
7. **Cut, crop and caption** (A script; stage id `cut`): ffmpeg cuts each pick, crops it to 9:16 and burns in captions from the transcript.
8. **Make it yours** (You; stage id `yours`): Watch every clip. Fix the captions, re-record a hook in your own voice, cut what is weak. Post fewer, better clips.
9. **Share your run (optional)** (You; stage id `share`): At the end, the script shows exactly what it would upload: your chip, memory, the models, how long each stage took and the token counts. No prompts, no outputs, no file names. Say yes and it goes to our review queue. Nothing is public until we approve it.

## Make it yours

- YouTube does not pay for mass-produced, repetitive content (its "inauthentic content" rule). Every clip needs your own judgement and edits, not just the machine's cut.
- Post the clips you would be proud of, not every clip the script makes.
- If a clip shows realistic AI-made people, voices or events, YouTube asks you to turn on the "altered or synthetic content" label when you upload.

## Receipts

- Claude tokens, this recipe: not run yet
- Claude tokens, all in Claude: not run yet
- Local minutes: not run yet
- Claude dollars (estimate): not run yet

No approved runs yet. Blueprints now, numbers later. We run every recipe on a 128 GB Mac Studio from 10 Nov 2026, then publish the receipts.

## Share your run

Opt-in. The script shows exactly what it would upload and asks first. It sends: Your chip, memory, graphics card and operating system; The recipe and the models you used; How long each stage took; Token counts: Claude in and out, local in and out; How many items came out; Tool versions; A fingerprint (SHA-256) of the log and up to 15 cleaned log lines; A handle you pick (not your name or email). Never: Your prompts or the model's answers; Your files, file names or folder paths; Emails, links, keys or IP addresses (the server rejects any upload that has one); Your IP address in plain form: we keep a scrambled copy for rate limits only. Nothing is public until a person approves it. Agents can submit with the `submit_run` tool of https://insidethemachine.ai/mcp.

Privacy: https://insidethemachine.ai/privacy.md
