⚒ shortsmith · local-first shorts engine
Bring your own AI clips, stills and voiceover. ShortSmith assembles them into finished shorts. Approve every post yourself. It publishes on schedule to YouTube, TikTok and Instagram — driven from your own machine.
Not public yet · no spam, no “community”, just one mail when early access opens. The address goes into our own Cloudflare store — no mailing-list vendor, no analytics, no cookies. Exactly what we keep.
↑ Not a mockup. Our own install, the day this page was built — real videos, real queue, real calendar, and two dead Instagram posts in red, because that is what that day looked like.
If one of these is you, the rest of this page is about you.
“My characters live in someone’s cloud.” Recurring faces, places that must look like themselves twice, a canon that breaks the moment a model forgets a face. Here, identity anchors are files you own — hashed, annotated, portable to any model that takes a reference image.
Receipt: we went to pull our own 64-element reference library out of a major platform. Two entries were already a literal “/placeholder” at the vendor — one we rebuilt from our own archive, one is gone.
“Which side of the line am I on?” Repetitive, template-made output loses monetization; YouTube’s own line is that AI as a tool stays welcome. Automation writes, assembles and schedules — a human still says yes to every single post. There is no agent tool and no CLI verb that can say it for you: every path but the window downgrades an incoming “approved”.
Receipt: no approve tool, no CLI verb. Approving pins the exact artifact. Swap a picture afterwards and the publisher refuses at the slot rather than ship something you never saw.
“Did it even post?” Quality over quantity, in both formats: most tools do shorts and stop. One engine assembles both — same canon, same format profile, same gate — with native scheduling, so the machine can be asleep when the slot fires.
Receipt: our own channel runs two daily slots — 03:00 and 15:00 — and full episodes on this exact install; Ep.4’s went out through it.
Clips, stills, voiceover — from any model, any vendor. Everything is content-hashed and yours the moment it lands.
A recipe is one video written down — which clips, which voiceover, which captions. Content, format, and channel identity stay separate, so one format feeds three channels with zero drift. Same recipe = same video, byte for byte.
Approval is one click, in one window. No agent tool, no CLI verb — every other way in downgrades an incoming “approved”. Approving pins the exact bytes you signed off, and editing an approved post revokes it.
Scheduled natively on YouTube, TikTok and Instagram. Your Mac must be awake at the moment it hands the post over; after that the platform holds it and it goes live on its own, awake or not. One command installs the background agent that keeps that true while you sleep. Covers, captions, first comments where an API exists: carried. Point it at an alert channel and it warns you before dead air — until you do, it tells you it cannot.
That orange button is how anything goes public here. We spent a week attacking our own gate — a save path that wrote its own status, a web page POSTing to localhost, one curl from a local script. Three got through. All three are closed, and each one is a named test sitting next to the code.
Deterministic, content-addressed rendering. Re-render last month’s post and get the same bytes — change the engine and you get a new render, never last month’s pixels. Formats survive any cadence.
Receipt: the render key folds the engine build itself. Three bumps in five days, and every one moved every key rather than serve last month’s pixels. Pinned in the test suite, not promised in a footnote.
Human sign-off on every post is the architecture, not a workflow suggestion — so when a platform asks who authored this, you have an answer.
Receipt: saving an approved recipe revokes the approval — unconditionally, without even looking at whether the document changed.
Platforms move the goalposts without announcing it, and a publishing tool frozen in time stops publishing. Chasing that is what the subscription buys.
Receipt: Instagram counts the hashtags written inline in your caption too. A daily died at its slot on 8 Aug; the schema now refuses the sixth one at save time.
“We don’t sell you a tool we think works. We run our channels on it, and it wakes us when something’s wrong — which is how we know it will wake you.”
| Spark · free at launch | Forge · early access | Smithy · early access | |
|---|---|---|---|
| Channels | 1 | up to 3 | unlimited |
| Assemble · gate · render | ✅ | ✅ | ✅ |
| Publishing | Launch kit — one folder per post: video, covers, copy, comments. Paste anywhere, even platforms with no API. | Scheduled publishing · your own keys, plus an aggregator account for IG and TikTok | Automation, queue-runner, priority updates |
| Source | bundle | bundle | repository |
| Stop paying, keep everything. Your installed version works forever — the subscription buys updates. Platforms change their rules weekly; updates are the product. | |||
Early-access pricing is set at launch. Joining the list costs nothing and holds your place.
A Mac or a Linux box, Node 23 or newer, ffmpeg and ffprobe on PATH, and the DejaVu fonts — the built-in doctor command checks every one of them before you render anything. Rendering happens on your hardware, so disk is the real budget. The watchdog ships as a macOS launchd agent, so on Linux you would wire up the systemd equivalent yourself. Windows we have not tested, and we would rather say so here than let you find out.
YouTube’s rule is now called Inauthentic Content, and it targets repetitive, template-made output; AI as a tool stays welcome. Which side you land on is the platform’s call, never ours. What ShortSmith gives you is the other half — a human sign-off on every post, and a pin on the exact bytes they signed off.
It’s readable source on your disk, so, technically: yes. What can’t be pirated is next month’s connector updates — and a publishing tool frozen in time stops publishing. We’d rather tell you that than sell you DRM.
Yours, all of it — model accounts, platforms, and the posting aggregator. Your spend, your data, your posts. We never see any of it. YouTube uploads go straight from your machine on your own Google project; TikTok and Instagram ride Blotato, a paid account in your name that we don’t resell. The free launch kit needs neither. There is no update server yet — when there is one, it will see a licence key and a version number, and we will say so here before it ships.
You keep the app forever, your assets are plain hashed files, your recipes are readable JSON, and the launch kit works with zero vendors. We built our own escape hatches; they’re yours too.
ShortSmith exists because we run channels too — and got tired of pipelines that lie, vendors that lose things, and mornings that start with “did it post?”. We built the forge we needed. Now it’s yours.