Slow Motion Birds: the whole pipeline
Updated Sun / 2026-09-06 / 3:59 PM CT · v1.0.1 · internal planning doc
Every stage from the shutter to the official Slow Motion Birds YouTube and Instagram accounts: who does the work, when tags get written, what it costs. Color key for who works: YOU SCRIPT (free) GEMINI API (cents) CLAUDE (plan tokens) PAID APP YOU OWN
The spine: capture to posted
0 · Capture YOU $0
a7S III, 120 fps bursts at the feeders. The camera itself writes the first metadata: aC####M01.XML sidecar per clip (lens, gamma, frame rate, timecode). Cards dump to the laptop's _TO NAS folder or straight to the NAS.v
1 · Ingest + catalog SCRIPT $0, zero tokens, already live
road-media-pull ferries card dumps to the NAS inbox every 30 minutes; inbox-filer files dated batches; proxy-engine cuts 1440p edit proxies and writes each clip's tech row (camera, lens, gamma, fps, duration) into catalog.sqlite. This is where raw footage first carries machine-readable metadata beyond the camera's own sidecar. Sidecar self-heal: if a transfer path drops Sony's M01.XML, the morning job regenerates it from the identical metadata Sony embeds INSIDE every MP4 (sony-xml-restore, proven 36/36 on 2026-09-06), so reconnecting cards just for XML files is retired. Existing sidecars are never overwritten, and because each is extracted from its own clip (keyed by Sony's embedded UMID, a globally unique clip ID), a sidecar can never be matched to the wrong file.v
2 · Describe + tag GEMINI API ~6.2k tokens per slowed minute, about $0.04-0.08 per full 36-clip day on paid Flash
The 6:30 AMbird-daily-brief job renders small Rec.709 describe-proxies and has Gemini return strict JSON per clip: every bird event with timestamps, species with an honest confidence, behavior, a best moment, a 0-10 keeper score, insects never counted as birds (benchmarked 2026-09-05: 7 of 7 events, zero invented). THIS is when tags get added. Next version also writes them two places: into catalog.sqlite (queryable) and as XMP sidecar files beside the masters (portable: Premiere's search reads them, and so does NeoFinder).v
2b · NeoFinder PAID APP already owned, zero new cost
Yes, NeoFinder stays involved, as a reader. Your MacBook already runsneofinder-autoupdate, which rescans the NAS volumes on a schedule; once stage 2 writes XMP sidecars, NeoFinder's next pass indexes the species and behavior tags automatically. It becomes your human search window over all 24 TB ("show me every Ruby-throated chase clip") without being load-bearing in the automation. Nothing to configure; it inherits.v
3 · The morning pick YOU about 60 seconds of your day
The brief lands at bird-daily-brief.pages.dev and in your inbox: ranked keepers, preview clips, caption drafts. You saypost <slug>. That phrase is the only door to publishing, on every lane, forever.v
4 · Render, per product SCRIPT CLAUDE YOU
| Product | Cadence | How it gets made | Cost per piece |
|---|---|---|---|
| 90-second reel | daily | Your pick's cutlist feeds reel-render.sh: cuts from ORIGINALS, s709 grade, 5x conform, 9:16 blurred backdrop, caption staged. Fully automated after your one word. | $0, zero tokens |
| 3-minute best-of | weekly | A Sonnet session assembles the week's top cutlists into one timeline, adds a cleared track from the Musicbed-logged list, renders, and shows you the export before anything posts. | ~20-40k Claude tokens |
| 1-hour ambient film | monthly-ish | The max-quality lane: bird-selects (classical motion detection, frame-exact, free) sweeps the month's archive into a Premiere selects sequence inside a NAS Production; you do the taste pass on the MacBook (this is the "legit edit"); Calvin exports via Media Encoder and logs the music use. An Opus session orchestrates and QCs. | $0 detection + ~50-150k Claude tokens + your editing time (the real cost) |
v
5 · QC CLAUDE ~5-15k tokens/week
Claude spot-checks only where Gemini and the local BioCLIP species model disagree, plus one look at anything about to publish. The 2026-09-05 ground-truth method (frame extraction + verification zooms) is the audit tool when accuracy ever feels off.v
6 · Publish SCRIPT $0 after your word
On yourpost <slug>: Instagram via ig-publish.py (needs its one-time credential), YouTube upload (through your logged-in browser today, YouTube API draft uploads after a one-time OAuth). Titles, descriptions, chapters, and platform tags are generated from the SAME stage-2 records, so nothing is retyped. Published video IDs get written back into the catalog and the clip's XMP, so NeoFinder can answer "which clips are already posted."v
7 · Archive SCRIPT PAID APPS
Masters + XMP live on the NAS, mirrored per the backup jobs, indexed by NeoFinder, insured by Backblaze. The metadata travels WITH the footage forever because it lives in sidecars, not in any one app.The three methodologies, head to head
Lane 1 · Scripts + Gemini describe (running since this morning)
Cost: roughly $1-3/month Gemini paid tier, zero Claude tokens on the happy path. Gets you: daily tagging, ranked keepers, 90-second reels to one word, searchable archive. Ceiling: no taste; template captions; it finds and describes, it does not feel. Benchmarked at 7/7 recall with zero invented events, which is why the "Gemini pads" are absolutely still worth it: they are hundred-times-cheaper eyes doing the volume work Claude vision would do at ~8-15k tokens per minute.Lane 2 · Claude rules at the decision points (Sonnet weekly, Opus monthly)
Cost: ~100-300k plan tokens per week all-in. Gets you: the 3-minute assemblies, captions in your voice, QC arbitration, error recovery, and the Opus orchestration of the film lane. This is the "rules for Opus" idea, scoped to where judgment actually changes the output.Lane 3 · All-Claude hands-on (what the benchmark day was)
Cost: the expensive one: a Fable/Opus session driving everything interactively. Gets you: the highest judgment per frame and the ability to invent new methods. Right use: design changes, benchmark reruns, and the final pass on flagship films. Wrong use: daily volume, where it burns 50-100x Lane 1 for the same event log.Verdict: it is not a choice between them; it is a stack. Lane 1 runs every day for pennies, Lane 2 fires on a weekly/monthly rhythm where taste matters, Lane 3 is the workshop you visit when the system itself should change. The "best system even if expensive" for legit edits is the 1-hour film lane: free frame-exact detection, Opus orchestration, and YOUR hands on the Premiere timeline, because the expensive ingredient in a legit edit was never tokens, it is your eye.
What is not built yet (the honest gaps)
1. Gemini billing: checkout staged in your browser; until then free tier describes only a few clips/day. 2. XMP sidecar writing (stage 2's second half): small brief upgrade, next build. 3. Adobe sign-in on Calvin: unlocks the Premiere Production + bird-selects Phase 0. 4. Instagram credential: revives ig-publish. 5. YouTube API OAuth: replaces browser uploads with draft uploads. 6. 3-minute assembly runbook: written after the first week of briefs proves the cutlists.
Changelog
1.0.1 (2026-09-06): stage 1 gains the sidecar self-heal (embedded-XML restore, card reconnect retired).
1.0.0 (2026-09-06): first edition, written the morning after the Gemini benchmark (7/7) and the daily brief going live.