NightPublishyoutube-channel-automation licence $4,997 once

It publishes before you wake up.

Research, script, visuals, voice, edit, Shorts and scheduled publishing, every day, per channel, unattended. You own the source.

183 files 10 step implementations 9 agents 7 skills one-time · no subscription CLI-first · bring your own agent

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.

overnight run · one scripted channel7 steps
  1. researchtrend sweep, sources collected, policy gate run before a cent of generation spend
  2. scriptlong-form draft, reviewed by a second agent, Shorts cut-points marked
  3. visualsillustration set generated to the channel's brand config
  4. voiceovernarration rendered and timed against the script
  5. assemblelong-form cut, captions burned, thumbnail built
  6. shortsvertical cuts from the marked points, captioned separately
  7. publishscheduled to YouTube with the synthetic-media disclosure set
  8. you are still asleep
Step order and step names are the real ones. Clock times are illustrative: run length depends on your channel config and how busy the vendors are.

Bring your own agent

Already runs headless.
Nobody clicks anything.

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.

AGENT 01

A CLI over typed state on disk

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.

AGENT 02

Proven unattended, tonight, on three channels

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.

AGENT 03

The workers, the procedures, and the tests on them

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.

AGENT 04

Evals, so your agent can change it without breaking it

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.

Claude Code is the tested path, and swapping is not free

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

Seven jobs a day,
per channel.

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:

ANCHOR 01 $2,900–$4,700 per month · DIY

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 2026
ANCHOR 02 $8,550–$13,500 per month · done for you

The 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 2026
ANCHOR 03 $1,000–$10,000+ per single video · human agency

A 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 costs

What it does daily

Three things you do once, then it runs.

The branch is the shape that matters: visuals and voiceover are separate steps with separate artifacts, and assemble will not start until both have one. The tick at the end is the synthetic-media disclosure, which the publish step sets on every upload.
STEP 01

Describe the channel in one YAML file

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.

STEP 02

Point launchd at it and go to bed

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.

STEP 03

Read the report over coffee

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.

The ten step implementations in src/steps
Scripted channel, in orderresearch · script · visuals · voiceover · assemble · shorts · publish7 steps
Clips channel, in orderviralResearch · viralClips · viralFinish · publish4 steps
Agents, each scoped to one jobtrend scout, researcher, scriptwriter, script reviewer, policy reviewer, visuals producer, voice producer, publisher9 agents

Not a mockup

This is the output, pasted.

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.

$ bin/status.sh
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.

run.json — the typed state record, one run

{
  "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.

timings — the same run, step by step

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.

What the policy gate actually caught

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.

Rejected before a cent was spent

  • Celebrity Lookalike / Star By Faceonly works with real celebrity likeness and a named app
  • Local community dispute trendreal local community dispute — policy skip
  • flyover-flinch-vs-unbotheredalready used — cross-run dedup
  • calm-sip-sudden-shadowboxalready used; rival spin is a crypto-tied persona

The reviewer's note on the five it passed

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

It is running tonight on three channels.

This is the working system we operate, sold as-is.

Live daily output, as of 26 September 2026
Scripted long-form channelfull seven-step pipeline2 long-form + 4 Shorts / day
Second scripted channelsame pipeline, different config1 long-form + 2 Shorts / day
Clips channelfour-step viral pipeline3 AI clips / day
ENGINEERING 01

A failed run resumes where it stopped

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.

The red step is where the night died. The bar under it is the lease — while it is held, no second run can touch that channel. On relaunch the run starts at that step, not at the left.
ENGINEERING 02

The policy gate spends nothing on a bad trend

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

$4,997 once. Then vendor bills.

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.

What you keep paying, monthly
Line itemMonthly
A Mac that stays awake and logged inlaunchd will not run the pipeline on a sleeping or locked machinehardware 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

Any one of those billing relationships can halt production

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

Four reasons this might be the wrong purchase.

You would find all four yourself. We would rather you found them here.

1. YouTube's July 2025 inauthentic-content policy points straight at this

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.

2. You can buy something similar-sounding for a tenth of this, monthly

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.

3. The revenue side of this genre is weak

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.

4. No support is included at this tier

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

Own the pipeline. Pay once.

$4,997one time · no subscription

Instant download after checkout. A 389 KB zip, 183 files, the whole system as we run it.

  • src/ the 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
  • .claude/ nine role-scoped agents and seven skills in Claude Code's format: /yca-run, /yca-monitor, /yca-prebuild, /yca-new-channel, /yca-viral-leads, /eval-harness and /higgsfield-youtube-thumbnail
  • channels/ five working channel configs as references, plus bin/ the run, catch-up and status scripts
  • docs/ ARCHITECTURE.md, agent conventions, viral-mirror, evals/ the eval suite, and tests/ the vitest suite
  • SETUP.md a first-run guide written for this kit, and LICENCE.md a single-operator commercial licence

Not 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.

Tier 02 · enquiry only
Managed, per channel
from $997/mo

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.

Tier 03 · enquiry only
Licence + setup + 30 days support
$15,000

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

The objections, answered.

Why not just use White Glove Content at a tenth of the price?

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.

Will YouTube penalise channels built this way?

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.

Can I run this with ChatGPT, Codex or Cursor instead of Claude Code?

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.

Do I need a Mac?

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.

What does it actually cost me every month?

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.

Is support included?

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.

What happens when a vendor changes their API?

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.

Can I run client channels on this?

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.

What are the refund terms?

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.