The media agent everyone copies lives in a wall of n8n nodes plus a paid posting tool. I rebuilt the whole thing inside the place I already work — Claude Code. I type an idea in chat: it expands the prompt, generates the video, captions it and cuts the dead air, and drops the finished Reel in a queue. Make, edit, post — without me touching three apps.
Everyone copies the same build: an "ultimate media agent" wired across dozens of n8n nodes, with a paid posting tool bolted on to push the clips out. It works — but it lives in a browser tab I have to babysit, and the posting alone runs $29–50 a month. I already spend my whole day in Claude Code, talking to it in plain English. So I rebuilt the agent there: same three jobs — make it, edit it, post it — but each one is a command I type in the chat I'm already in.
Phase one is /media make a vertical about AI routing. Claude takes that half-sentence, expands it into a full shot prompt, and fires Sora 2 or Veo 3 through kie.ai. The finished video lands in Google Drive and the run is logged. Phase two is /make-a-video clip.mp4 "captions + cut dead air" — it runs the clip through a HyperFrames edit pass with word-level Whisper captions and trims the silences. Both phases happen in the same chat window. I never open a video editor.
Phase three swaps the paid posting tool for self-hosted Postiz — one Docker container, $0 a month, queues posts on a schedule. That part is real and running. The honest caveat: only YouTube posts hands-off today. TikTok and Instagram both need platform API approval, and those OAuth applications are still pending. So right now the pipeline takes me from idea to a finished Reel sitting in the queue, and I flip it live on the platforms that aren't approved yet. Fully autonomous posting is one approval away, not one bug away.
The generate and edit phases are genuinely one command each. Posting is where reality bites: TikTok and Instagram won't grant API posting access until an app review clears, and that's out of my hands. So the demo you'll see ends with a queued Reel, not a published one on every platform. When the approvals land, the same pipeline posts everywhere without me — but I'm not going to pretend it already does.
Four pieces of the factory: the /media command expanding a one-line idea, kie.ai rendering the clip, the three-step pipeline on one diagram, and the cost line that made this worth building. Tap any image to enlarge it and read the exact prompt that drew it.




That's the payoff. I type a topic in the chat I'm already in — the prompt gets written, the video gets generated, the captions get burned in, the dead air gets cut, and a finished vertical Reel lands in the queue, with every step written to runs.md as an audit trail. The kicker writes itself: the same AI that writes my scripts now also makes, edits, and ships them — the whole creative stack collapsed into one terminal.
Sixty seconds: why I pulled the media agent out of n8n, the two commands that generate and edit a clip in chat, the honest caveat on hands-off posting, and the payoff — a topic typed in, a finished Reel queued out.
The /media generate skill, the /make-a-video caption-and-trim skill, the self-hosted Postiz docker-compose, and the runs.md audit pattern. Everything in this episode is free and open — clone the demo, drop in your own keys, run it from your own chat.
gh repo clone jacobskogstrom/claude-media-factory ~/claude-media-factory && cd ~/claude-media-factory && cat README.md
No GitHub? Comment MEDIA on the post and the bot DMs you the link.
Right now the factory ends with a queued Reel and one manual tap on the platforms that aren't approved yet. Next: the platform OAuth lands, I flip the switch, and a typed idea posts itself to YouTube, TikTok, and Instagram with zero taps — I'll show the first fully hands-off run, end to end.