# Blueprint: Videos → newsletter

URL: https://insidethemachine.ai/build/videos-to-newsletter
Part: B-02. Family: Content studio. Status: Blueprint, not run yet.
Blueprint. Not run yet. We will run it on our own newsletter, The Gap Report, from 10 Nov 2026.

Turn this week's videos into a newsletter draft. Your machine drafts each section. Claude writes the intro and does the final edit.

- Input: This week's videos (files, or the caption files you already have).
- Output: A newsletter draft: subject line, intro, one section per video.
- 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

- Writes the subject line and the intro: the hard writing.
- Edits the sections the checker flagged.
- Final review of the whole draft.

What Claude never sees: Claude sees the drafted sections, not the full transcripts.

## Local parts per memory size

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

| memory GB | Transcriber | Drafter | Decider (Local Jev) |
|---|---|---|---|
| 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) | Gemma 4 12B (needs 11.2 GB, runs, but tight) | Qwen3.5 0.8B (needs 2.6 GB, runs well) |
| 24 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs well) | Qwen3.5 4B (needs 5.8 GB, runs well) |
| 32 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs, but tight) | Qwen3.5 4B (needs 5.8 GB, runs well) |
| 48 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Gemma 4 12B (needs 11.2 GB, runs well) |
| 64 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) | Gemma 4 12B (needs 11.2 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-Flash-Next (125B-A6B) (needs 140 GB, runs, but tight) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 256 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8-Flash-Next (125B-A6B) (needs 140 GB, runs well) | Qwen3.8 27B (needs 22.7 GB, runs well) |
| 512 | Distil-Whisper large-v3.5 (needs 2 GB, runs well) | Qwen3.8-Flash-Next (125B-A6B) (needs 140 GB, runs well) | Qwen3.8 27B (needs 22.7 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)
- 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)
- 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)
- 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. **Gather the week's videos** (You; stage id `gather`): Video files, or the caption files you already have (then skip the next step).
2. **Transcribe each video** (Your machine, Transcriber; stage id `transcribe`): Speech to text with timestamps. Runs on your machine.
3. **Draft one section per video** (Your machine, Drafter; stage id `draft`): About 120 words, 3 key points and one quote with its timestamp.
4. **Check every draft** (Your machine, Decider (Local Jev); stage id `check`): Local Jev asks: does it state a number that is not in the transcript (yes/no)? Is it in plain words (score)? Flags go to Claude.
5. **Claude writes the top and edits** (Claude; stage id `edit`): Subject line, intro, fixes to flagged sections, one final read.
6. **Make it yours** (You; stage id `yours`): Add your own take. Check every number against the video. Then paste it into your newsletter tool.
7. **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

- Readers subscribe to you. Add a paragraph only you could write.
- Check every number and quote against the video before you send.

## 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
