← Charles Tay How it was made ·

The Keys

A two-minute watercolour story about one HDB flat, made on a Windows desktop that I ran entirely from my Mac.

the video

An old man sits alone in the flat he has lived in for 41 years, and remembers. The people and the flat are made up.

how the instructions and files moved

I never sat at the PC. I talked to Claude on my MacBook, and that Claude sent instructions to a second Claude on the Windows desktop. Instructions and files took different routes: instructions through Claude, using Remote Control, and files directly between the machines over Syncthing, on my home network only.

How instructions and files moved between the Mac and the PCYou chat with Claude on the Mac and approve installs on the PC. Claude on the Mac sends instructions to Claude on the PC over Remote Control, and writes the job files to the To PC folder. Syncthing copies the job files to the PC's Inbox. Claude on the PC runs the tools, which write pictures, audio, the video and status files to the Outbox. Syncthing copies those back to the Mac's PC Outbox folder, and the video goes to YouTube from the Mac. MacBook ProDesktop PCYouClaude on the Macplans, writes the job, reviewsClaude on the PCruns each step, then stops~/To PCjob files and promptsD:\Inboxjob files arriveTools on the PCComfyUI + Qwen-Image: picturesACE-Step: musicKokoro: narrationHyperFrames: videoD:\Outboxpictures, audio, video, status~/PC Outboxresults land on the MacYouTubeuploaded from the Macapproves installsinstructions (SendMessage over Remote Control)runswritesSyncthingSyncthingupload in ChromeinstructionsfilesSyncthing stays on the home network How instructions and files moved between the Mac and the PCYou chat with Claude on the Mac and approve installs on the PC. Claude on the Mac sends instructions to Claude on the PC over Remote Control, and writes the job files to the To PC folder. Syncthing copies the job files to the PC's Inbox. Claude on the PC runs the tools, which write pictures, audio, the video and status files to the Outbox. Syncthing copies those back to the Mac's PC Outbox folder, and the video goes to YouTube from the Mac. MacBook ProYouClaude on the Macplans, writes the job, reviews~/To PCjob files and promptsDesktop PCD:\Inboxjob files arriveClaude on the PCruns each step, you approve installsTools on the PCComfyUI + Qwen-Image: picturesACE-Step: musicKokoro: narrationHyperFrames: videoD:\Outboxpictures, audio, video, statusBack on the Mac~/PC Outboxresults land on the MacYouTubeinstructionsSyncthingSyncthing
Solid lines are instructions. Dashed lines are files. The PC's Claude reports by writing status files to the Outbox, and the Mac watches for them.
  1. 1

    Instructions. The Mac's Claude sends short messages to the PC's Claude: "do Step 1 only, then stop".

  2. 2

    Job files. The Mac's Claude writes the job into ~/To PC. Syncthing copies it to D:\Inbox on the PC.

  3. 3

    Results. The PC writes everything to D:\Outbox. Syncthing copies it to ~/PC Outbox on the Mac, where a small loop waits for a named file and tells the Mac's Claude it has arrived.

  4. 4

    Approvals. Every install or setting change on the PC needs my OK, and the PC logs it in an audit file.

the ten pictures

A loss at the start, memories in the middle, the neighbours' knock as the turn, and a granddaughter's own keys at the end. People are shown from behind or as hands, so no one has to look the same from picture to picture.

An old man sits alone at a round table with two cups of tea.
The quiet flat
Young hands take a set of keys and a brown envelope.
The keys
A young couple stand in a bare new flat.
An empty flat
Char kway teow on newspaper, kopi in plastic bags.
First dinner
Kopi, kaya toast and eggs on a marble table.
The coffee shop
Old men at chess while children cycle.
The void deck
Couplets, pelita lamps and a kolam on one corridor.
Festivals
Monsoon rain and one pair of slippers.
Rain
Neighbours hold out a tingkat and a tin of murukku.
The knock
A granddaughter holds up her keys beside him.
New keys

the morning, step by step

The PC stopped after each step and waited for me.

The morning as a timelineA timeline from 07:45 to 09:50 on 8 November 2026. Test picture: 2 minutes; 10 pictures: 14 minutes; Scene 7 again: 3 minutes; Install music, voice tools: 24 minutes; 3 music options: 13 minutes; Narration, 10 lines: 3 minutes; Video render: 3 minutes; Upload and YouTube checks: 9 minutes. Charles made a decision after the test picture, the pictures, the scene 7 fix, the music options and the render.08:0008:3009:0009:30Test pictureyou: "run all 10"10 picturesyou: "photos look good"Scene 7 againyou: OK to installInstall music, voice tools3 music optionsyou pick C + af_heartNarration, 10 linesVideo renderyou: "it's good"Upload and YouTube checksthis job on the graphics cardthis job, no graphics cardon the Mac The morning as a timelineA timeline from 07:45 to 09:50 on 8 November 2026. Test picture: 2 minutes; 10 pictures: 14 minutes; Scene 7 again: 3 minutes; Install music, voice tools: 24 minutes; 3 music options: 13 minutes; Narration, 10 lines: 3 minutes; Video render: 3 minutes; Upload and YouTube checks: 9 minutes. Charles made a decision after the test picture, the pictures, the scene 7 fix, the music options and the render.08:0008:3009:0009:30Test pictureyou: "run all 10"10 picturesyou: "photos look good"Scene 7 againyou: OK to installInstall music, voice tools3 music optionsyou pick C + af_heartNarration, 10 linesVideo renderyou: "it's good"Upload and YouTube checksthis job on the graphics cardthis job, no graphics cardon the Mac
8 November 2026, to the nearest minute or two. The gaps are other jobs sharing the same graphics card, and me deciding.

what ran on the PC

StepToolSettingsTime
PicturesComfyUI, Qwen-Image 2.1 Q8 GGUF1664x928, 25 stepsAbout 47 s each on an RTX 4070 Ti
MusicACE-Step 1.5 turboInstrumental, 175 s, 72 BPM, three versionsAbout 3.3 min each
NarrationKokoro-82M, on the CPUVoice af_heart, speed 0.92About 1 min
VideoHyperFrames, Chrome, FFmpeg1920x1080, 30 fps, slow pans, captionsRender 2 min 52 s

The music ducks under the voice, dips a further 6 dB across the rain scene, and rises back for the knock and the new keys. The final mix is −16 LUFS.

what went wrong

ProblemFix
Fake Chinese on the couplets, even when told "plain red paper, no writing"Ask for the real phrases: 岁岁平安, 年年有余, 福. One of three seeds got every character right, and that one was kept.
Clock faces always came out with numbersLeft as they are.
Kokoro misread "kopi" and "kolam"Respelled them for the voice. "Tingkat" still comes out as "tinkat".
The music generator treats a timed arc as a hint, so no version dropped for the rainMade the drop in the mix.

licences and credits

The pictures come from Qwen-Image 2.1, under the Qwen Research Licence, which is non-commercial ("research or evaluation purposes only"). So this video can't be monetised unless the pictures are remade with another model. ACE-Step 1.5 is MIT and Kokoro-82M is Apache 2.0.

Idea and direction by Charles Tay. Story and narration written by Claude. AI-generated pictures, voice and music. Video: HyperFrames.