Research, script, visuals, voice, edit, Shorts and scheduled publishing, every day, per channel, unattended. You own the source.
It already runs headless: launchd starts claude -p and the run publishes while you sleep. Any agent that can run a shell command drives the same CLI.
Bring your own agent
macOS launchd starts claude -p at the hour you pick and the run finishes on its own. That is how the three live channels publish every morning. The same commands work from any terminal, driven by anything that can run one.
The yca CLI runs through tsx. Every step reads and writes a typed artifact validated with zod, so an agent asks the CLI what the next step is instead of guessing, and a run that died at voiceover resumes at voiceover. Nothing sits behind a GUI or a runtime only one vendor can start.
launchd starts the daily runs with nobody logged into a chat window and nobody watching. Two long-form plus four Shorts on one channel, one long-form plus two Shorts on another, three clips on a third. Agent-driven operation is how the system is already used every night.
9 agents, 7 skills, 4 eval cases and six documents, including a harness.md that explains the agents, the skills and the evals themselves. They ship in .claude/ and Claude Code loads them on its own. Claude desktop, ChatGPT desktop, Codex, Cursor, Windsurf, Grok, Muse and API agents with a shell tool run the same yca commands and can be pointed at that same markdown as instructions, but they will not auto-load it, because it is Claude Code's format.
Four cases assert the things that cost money when they go wrong: the content-policy gate rejects a trend before any generation spend, a billing failure stops instead of retrying, a lagging publish status is resolved by checking YouTube rather than re-posting, and a half-finished run resumes from its own state. Run them with claude plugin eval . — the cases are read-only and the sandbox never starts the real vendor connectors, so an eval cannot publish a video, post to a channel or spend a credit. Change a prompt or a policy list, run the suite, and find out what you broke.
One thing the suite already told us, and it is in harness.md rather than hidden: the policy gate in src/policy/viral.ts is a word list. It catches a named brand. It does not catch "two world leaders in dark suits", which the reviewer agent has to judge. The evals are how you find out if that judgement drifts.
The kit does not ship an .mcp.json. The daily runs use the Higgsfield, Blotato and ElevenLabs connectors already configured in Claude Code, so on another agent you wire the equivalents yourself. Another agent can drive the pipeline through the CLI and read the same state. Nobody has run a full day of production on one, so budget setup time for the swap.
The daily bill
Find the story, write the script, make the visuals, record the voice, cut the long-form, cut the Shorts, publish on schedule. Miss a day and the algorithm notices. What it costs to buy that labour:
What it costs to run three daily channels yourself with the same AI tools this pipeline uses: roughly 360 pieces a month, editors and tool subscriptions included.
ReelForgeAI, faceless channel costs 2026The same volume bought at AI-native done-for-you market rates. Per channel that is somewhere between $1,000 and $4,500 a month of displaced spend.
Overseeros, YouTube agency pricing 2026A human agency rate card, for one video. Full-service retainers run $5,000 to $25,000 a month. This is the band the market has not reconciled with the one above.
Villo Studio, channel management costsWhat it does daily
Niche, tone, voice, visual style, cadence, publish targets. Five working channel configs ship with the kit as references, including a scripted long-form channel and a clips-only channel.
The scheduler starts a run at whatever hour you pick. Each run is a state machine: every step writes a typed artifact, holds a lease, and retries only on transient errors. A run that dies at the voiceover step resumes at the voiceover step.
The long-form and the Shorts are scheduled, each published with the synthetic-media disclosure set. yca status and the monitor skill tell you what ran, what it spent and what the reviewer rejected.
| Scripted channel, in orderresearch · script · visuals · voiceover · assemble · shorts · publish | 7 steps |
| Clips channel, in orderviralResearch · viralClips · viralFinish · publish | 4 steps |
| Agents, each scoped to one jobtrend scout, researcher, scriptwriter, script reviewer, policy reviewer, visuals producer, voice producer, publisher | 9 agents |
Not a mockup
Everything on this page can be claimed by anyone. These three things cannot. They were taken out of the running system on 26 September 2026 and pasted in unedited, apart from shortening the scheduler's submission ids.
now: 2026-09-26 15:50:43 EDT both-editions 2026-09-26-morning [done] research:done script:done visuals:done voiceover:done assemble:done shorts:done publish:done long published now 716cdc21… short trump-rejects-iran-seven-day-ceasefire scheduled 2026-09-26T13:30:00.000Z b6995de7… short kyiv-drone-attack-kills-seven scheduled 2026-09-26T16:30:00.000Z 1b5a0052… deja-viral 2026-09-26-morning [done] research:done visuals:done shorts:done publish:done short flyover-flinch-vs-unbothered scheduled 2026-09-26T14:00:00.000Z a302f092… short calm-sip-sudden-shadowbox scheduled 2026-09-26T20:00:00.000Z c2ebd50a… short grownup-prized-possession-scream scheduled 2026-09-27T00:00:00.000Z 76f248f2… deja-viral 2026-09-27-morning [done] research:done visuals:done shorts:done publish:done short new-species-just-dropped scheduled 2026-09-27T14:00:00.000Z 1a456052… short fake-heirloom-portrait-prank scheduled 2026-09-27T20:00:00.000Z b3676c47… short oh-boy-one-then-a-hundred scheduled 2026-09-28T00:00:00.000Z 0f7054f4… suddenly 2026-09-26-morning [done] research:done script:done visuals:done voiceover:done assemble:done shorts:done publish:done long published now 3b4ea016… thumbnail rejected: Please confirm that your YouTube account is verified, then reconnect it in Blotato to use custom thumbnails. (posted without thumbnail) short nahui-ollin-aztec-52-year-cycle scheduled 2026-09-26T17:00:00.000Z 3e11c67d… short india-asian-games-shooting-gold-sept-25 scheduled 2026-09-26T20:00:00.000Z 65516846… launchd: com.mizudev.yca.suddenly.morning pid=- last_exit=0 com.mizudev.yca.suddenly.catchup pid=- last_exit=0 com.mizudev.yca.both-editions.morning pid=- last_exit=0 com.mizudev.yca.both-editions.evening pid=- last_exit=0 com.mizudev.yca.both-editions.catchup pid=- last_exit=0 com.mizudev.yca.deja-viral.morning pid=- last_exit=0 com.mizudev.yca.deja-viral.catchup pid=- last_exit=0
Three channels, one morning. The line in red is a real failure: YouTube would not take the custom thumbnail on an unverified account, so the run posted the video without one and said so instead of reporting success. That is the behaviour you are buying — it tells you what went wrong at 5am rather than at the end of the month.
{ "id": "2026-09-26-morning", "channel_id": "suddenly", "edition": "morning", "status": "done", "mock": false, "steps": { // artifact paths are relative to the run dir "research": { "status": "done", "attempts": 1, "artifact": "research.json" }, "script": { "status": "done", "attempts": 1, "artifact": "script.json" }, "visuals": { "status": "done", "attempts": 1, "artifact": "visuals.json" }, "voiceover": { "status": "done", "attempts": 1, "artifact": "voiceover.json" }, "assemble": { "status": "done", "attempts": 1, "artifact": "assemble.json" }, "shorts": { "status": "done", "attempts": 1, "artifact": "shorts.json" }, "publish": { "status": "done", "attempts": 1, "artifact": "publish.json" } } }
Every step writes one of these before it hands over. It is what "resumes where it stopped" actually means: the run reads this file, sees which steps already have an artifact, and starts at the first one that does not. attempts is how you find out a step is flaky before it costs you a night.
research 15:05:54 → 15:05:54 0s script 15:13:20 → 15:13:20 0s voiceover 15:16:29 → 15:18:04 1m35s visuals 15:20:12 → 15:20:26 14s assemble 15:20:50 → 15:28:41 7m51s shorts 15:29:06 → 15:31:08 2m02s publish 15:38:31 → 15:38:31 0s ─────────────────────────────────── wall clock 33 minutes
Read off the timestamps in the same run.json. Thirty-three minutes of machine time for one edition and two Shorts, of which the two ffmpeg steps are ten. The steps that print 0s finished in a prior agent call and were recorded on handoff — the number is the state write, not the work.
The page above says a gate rejects real people, brands and music before any generation spend. Here is that gate's own record from one morning, including the part that is less flattering.
All 5 approved as written. No real person (toy researchers, paper grandma, anonymous people from behind, snail/teapot duo), no brand/IP (no Nat Geo, Ancestry, DC/Lanterns, Kardashian reference), no named music (all original score /SFX; oh-boy audio not used), no harm, format-level only. Sameness check: tilt-shift diorama, paper cut-out, macro nature, handheld phone-cam street, claymation — all visually distinct.
The honest part: the deterministic word list returned hits: [] on all five. It caught nothing. Every rejection above came from the reviewer agent reading the candidates. The word list is a cheap floor, not the gate — the architecture document in the kit says the same thing, and you should price the risk accordingly.
What we can actually show you
This is the working system we operate, sold as-is.
| Scripted long-form channelfull seven-step pipeline | 2 long-form + 4 Shorts / day |
| Second scripted channelsame pipeline, different config | 1 long-form + 2 Shorts / day |
| Clips channelfour-step viral pipeline | 3 AI clips / day |
Per-run state machine. Every step emits a typed artifact validated with zod, holds a lease so two runs can never touch the same channel, and retries only on transient errors. You re-run one step instead of the whole night.
A deterministic gate rejects real people, brands, music and gore before any generation call is made. The policy reviewer agent runs on top of it. Rejections cost you nothing but the research step.
There are no customer testimonials on this page, because there are no customers yet. What we can show you is the three channels above, the architecture document and the vitest suite in the kit.
Cost of ownership
Against the DIY anchor for three channels, the licence pays for itself in one to two months. After that you pay only for the stack it runs on, and that bill keeps coming.
| Line item | Monthly |
|---|---|
| A Mac that stays awake and logged inlaunchd will not run the pipeline on a sleeping or locked machine | hardware you own |
| Claude CodePro at the low end; Max 5× is realistic for three daily channels | $20–$200 |
| Higgsfieldimage and video generation credits, Starter to Ultra | $19–$129 |
| ElevenLabsnarration, Creator to Pro depending on minutes | $11–$99 |
| Blotatoscheduling and multi-account publishing | $29–$97 |
| Typical, three daily channels | $150–$400 |
A declined card at ElevenLabs stops the voiceover step, which stops the run. So does a Mac that went to sleep, an expired vendor token, or a plan that ran out of credits mid-month. The pipeline logs the failure and resumes cleanly once you fix it, but nothing publishes in the meantime. If you cannot keep a machine and four accounts healthy, buy a managed service instead.
Read this before you buy
You would find all four yourself. We would rather you found them here.
On 15 July 2025 YouTube renamed its repetitious-content policy to inauthentic content and now explicitly targets video "produced using a template with little to no variation" and content that is "easily replicable at scale". Mass-produced, generic or repetitive content does not earn ad revenue, and YouTube can demonetise retroactively. A system built to run the same daily pipeline across several channels is structurally the pattern that policy describes. This is an ongoing compliance burden you take on, not a one-off setup step.
What the kit does about it: the policy gate and the reviewer agent reject template-like sameness before publish. Every upload sets containsSyntheticMedia, and there is no switch to turn that off. SETUP.md tells you to vary channels genuinely and to apply your own editorial judgement on what ships. None of that is a guarantee. Read YouTube's policy page before you buy.
White Glove Content charges $86–$354/mo on its multi-channel operator track and already does scripts, AI voice, edits, thumbnails, SEO metadata and auto-posting, with five-business-day delivery. Channel Farm starts at $49/mo. If a few videos a week is your cadence, those are the better buy.
What this adds is unattended daily cadence at volume, and ownership. A five-day turnaround cannot publish every morning, and a per-channel subscription multiplies with every channel you add while a licence does not. The individual steps are not novel. You are paying for the scheduling, the run state machine, and the source sitting on your own disk.
Only about 9–17% of YouTube channels ever reach 1,000 subscribers, which is the floor for the Partner Programme, and daily news and trend content sits in a sub-$5 RPM band. This product makes no claim about views, subscribers, monetisation or revenue, and you should treat anyone who does with suspicion. Its value is displaced cost: work you are already paying for, that stops needing a person.
Buy it if daily production is already a line in your budget. Do not buy it as a route to YouTube income you do not have yet. The Partner Programme requirements are here.
This is a source licence and a setup guide, and no part of it is a service. When a vendor changes an API, you fix it in TypeScript you now own. There is no SLA, no onboarding call and no maintenance promise on the $4,997 tier. If that is not the deal you want, the setup tier below exists for it.
You get the full source, the architecture document, a vitest suite so you can see what broke, and a provider layer that keeps each vendor behind one small adapter file. Refund terms are 30 days, below.
The licence
Instant download after checkout. A 389 KB zip, 183 files, the whole system as we run it.
yca CLI, the session engine and run state machine, zod contracts, all ten step implementations, the provider layer, the policy gate, the viral report and launchd scheduling/yca-run, /yca-monitor, /yca-prebuild, /yca-new-channel, /yca-viral-leads, /eval-harness and /higgsfield-youtube-thumbnailNot included, deliberately: support, the original channels' brand image assets (they belong to those channels), any channel run data, and any vendor account. You bring your own Claude Code, Higgsfield, ElevenLabs and Blotato.
30-day refund, no questions asked. Email [email protected] within 30 days of purchase and we refund in full. You keep nothing you have to delete by hand: the licence simply ends.
Platform risk, stated at the point of sale. YouTube's inauthentic-content policy, updated 15 July 2025, explicitly targets templated and easily mass-produced content. This pipeline produces content daily on a template you configure. Every upload discloses synthetic media and that cannot be disabled. No monetisation, view, subscriber or revenue outcome is promised here or anywhere else on this page. What survives on YouTube is decided by YouTube.
We run the pipeline on your channel. No payment is taken here. Leave an email and we will reply with scope and a real quote.
The same licence, installed and running on your machine and your channels, with 30 days of integration support. No payment is taken here.
Questions worth asking
For a lot of people, you should. White Glove Content runs $86–$354/mo on its operator track and covers scripts, AI voice, edits, thumbnails, metadata and posting. If you want a handful of videos a week and no machine to babysit, that is a better deal than this and you should take it.
The difference is cadence, volume and ownership. A five-business-day delivery window cannot put a long-form and four Shorts out every morning. A per-channel subscription scales linearly with channels; a licence does not. And at the end of a year with them you have videos, whereas here you have a system you can modify, fork into a new niche, or point at a client's channel. None of the individual steps in this pipeline are novel. What you are buying is that they run together, unattended, every day, and that the code is yours.
It can, and you need to go in knowing that. YouTube's inauthentic content policy, renamed and clarified on 15 July 2025, explicitly targets content "produced using a template with little to no variation" and content "easily replicable at scale". Mass-produced, generic or repetitive uploads do not earn ad revenue, and YouTube applies this retroactively. A pipeline that runs the same steps nightly across several channels is structurally what that policy describes.
What the kit does about it: a deterministic policy gate and a reviewer agent that reject template-like sameness before anything publishes, forced AI disclosure on every upload through containsSyntheticMedia, and instructions in SETUP.md to vary channels for real and to keep a human editorial pass on what ships. That reduces the risk. It does not remove it, and no seller can honestly tell you otherwise. If a demonetisation would sink your business, this is not a safe purchase.
The pipeline itself is agent-agnostic. yca is a command-line tool run through tsx, every step reads and writes typed JSON artifacts on disk, and none of it is locked behind a GUI or a proprietary runtime. Anything that can run a shell command drives it: Codex, Cursor, Windsurf, an OpenAI or Anthropic API agent with a bash tool, or you at a terminal. Because the state is inspectable, the agent asks the CLI what the next step is instead of guessing, and it can pick up a run that stopped rather than restarting the night.
Two things are Claude-specific. The nine agents and seven skills in .claude/ are Claude Code's format, and only Claude Code loads them automatically; they are markdown, so another agent can be handed them as instructions or you can port them, but that is your work. And the kit ships no .mcp.json: the daily runs call Higgsfield, Blotato and ElevenLabs through connectors configured in Claude Code, so on another agent you wire those yourself.
Claude Code is what the three live channels run on, unattended through launchd, and it is the only path tested end to end. Another agent will work through the CLI. Nobody has yet proved a full day of production on one, and the swap is not free.
Yes, in practice. Scheduling is built on launchd, the media pipeline shells out to ffmpeg and two Python renderers, and the agents run through Claude Code. It needs a Mac that stays awake and stays logged in overnight. A Mac mini left on a shelf is the normal setup.
The TypeScript itself is not Apple-specific, so a competent developer could move the scheduling layer to cron or systemd on Linux. That is your work, not ours, and nothing in the licence promises it will be easy.
Roughly $150 to $400 a month in vendor spend for three daily channels, on top of a Mac you already own. That breaks down as Claude Code at $20–$200, Higgsfield at $19–$129, ElevenLabs at $11–$99 and Blotato at $29–$97, depending on tier and volume. Push more channels or longer videos and it goes up.
There is no licence renewal and no per-video fee from us. The full table is in the cost section.
No. Not at $4,997. You get the source, the architecture document, SETUP.md and the test suite, and that is the whole deal. There is no SLA, no onboarding call, no bug-fix promise and no guaranteed reply time. The only thing the support address handles at this tier is a broken download link or a refund.
If you want someone on the hook, the $15,000 tier includes setup and 30 days of integration support, or the managed tier means we run it. Both are enquiries above and neither takes payment on this page.
The pipeline stops at that step, logs the error, and resumes from that step once it is fixed. Fixing it is yours to do. Each vendor sits behind one small adapter in the provider layer, so a breaking change is usually one file, and the vitest suite tells you what broke. The design assumes breakage and aims for a fix a developer can finish in an afternoon.
We patch the system we run ourselves, but the licence carries no update entitlement. Buying it does not buy you future versions.
Yes. LICENCE.md is a single-operator commercial licence: one operator, unlimited channels, including channels you run for paying clients. Agencies are an intended buyer. What it does not permit is reselling, sublicensing or redistributing the code itself, or handing the kit to a client as their own. Read LICENCE.md in full before you buy if this matters to your business model, and email us if your setup sits in a grey area.
30 days, no questions asked. Email [email protected] from the address you paid with, within 30 days of purchase, and we refund in full. We do not ask you to prove you tried it, and we do not ask you to delete anything. This is source code, so we are relying on people being straight with us, and so far that has been fine.