Content
How to Make Viral Instagram Reels With Claude (We Cracked It)
The Ootto Team · 8 min read · June 20, 2026
Here's the thing nobody tells you about AI content: making a reel with AI is easy. Making one that actually goes viral is the hard part. Anyone can ask Claude for a script — but generic AI content sounds generic, and the algorithm scrolls right past it.
There are three doors into what follows. Take one now, or read the whole thing first and decide at the end.
Do it yourself
Free
Open source. You supply the hours.
- Twelve Claude skills: teardown, hooks, script, caption, calendar
- A Remotion starter that renders a 1080×1920 reel
- Nothing posts for you; you upload it yourself
Run it in your Claude
$20/week
The connector. You stay the operator.
- A personal rfk_ key for Ootto's MCP server
- Every Ootto tool inside your own Claude
- It renders and posts, but asks you first
Done for you
$599
One time. We run it, you approve.
- We run the whole factory for your account
- Reels scripted in your brand voice, on a calendar
- You approve each one; comments become leads
We spent months on the second half of that problem. We launched multiple Instagram accounts, studied what actually takes off, and turned the playbook into a set of free Claude skills. Here's the best reel that system has produced so far, on an account we built from zero:
The rest of this post is the pipeline: how it works, and how to run it yourself for nothing.
Why most AI Instagram content flops
The problem isn't the writing. Claude can write a script in seconds. The problem is that a blank-slate prompt gives you average — and average doesn't go viral. Virality comes from proven patterns: the hooks, pacing, and structure that already work in your niche, applied in your own voice.

So the trick isn't "generate a reel." It's: study what's already viral, then rebuild it as an original. That's a workflow, not a one-shot prompt.
How we cracked it: a content growth factory
We encoded the whole thing into twelve Claude skills — a content team in one install. You feed Claude a viral reel, it breaks the reel down frame by frame, and it builds you an original that uses the proven structure but says your thing.
Here is the factory as it actually runs. Every stage below is a real step with a real file behind it, not a diagram we drew to look busy:
Find a reference
Scrape a creator's reels, rank them by views, and pick the format that already won in your niche.
scripts/hunt.py
Tear it down
Apify's Instagram scraper pulls the caption and metrics. When there's no Apify token it falls back to a local teardown: download the video, cut a frame every half-second, and transcribe the audio with Whisper.
factory/apify.py · scripts/transcribe.py
Draft an original
Your brand profile plus the teardown become a new script: the structure that worked, saying your thing, never their words.
factory/reels.py
Render the motion
The script becomes a carousel.json, and Remotion renders it to a 1080×1920 reel at 30fps.
scripts/render_reel.py
You approve
The pipeline stops and waits for a human. Nothing reaches Instagram on its own.
publish.py refuses without --yes
Publish
Only after your yes does a separate call push the reel to Instagram, or cross-post it to TikTok.
reel_post · tiktok_post
Answer comments and DMs
A keyword rule posts a public reply and DMs the resource. No rule matches, nothing sends: it defers to you.
autoreply_run
Two things worth noticing. The teardown is not one tool but two: Apify's Instagram scraper grabs the caption and the numbers, and when there's no Apify token it falls back to downloading the video, slicing a frame every half-second, and running the audio through Whisper. And the render is a real render. The script becomes a carousel.json, and Remotion turns that into a 1080×1920 video at 30fps.
The twelve skills:
- Content Factory — the orchestrator that runs the others in order.
- AI Brain — gives Claude permanent memory of what's worked for you (more on this below).
- Agent Reach — pulls what your niche is actually engaging with this week.
- Reel Analyzer — feed it any viral reel; it studies the hook, structure, pacing, and visuals.
- Going Viral — the patterns behind reels that took off, as a checklist.
- Viral Hook Writer — 10 scroll-stopping hooks for the first 1–3 seconds, ranked.
- Reel Scripter — turns the breakdown into a tight 30–45s original script in your voice.
- Reel Builder — assembles the full reel: beat-by-beat script, on-screen text, the visual per beat, and caption.
- Caption & Hashtags — caption + tiered hashtags + a first comment built for saves and reach.
- Content Repurposer — turns one blog post or podcast into 5+ reel ideas.
- Content Calendar — sequences your ideas into a postable 2-week calendar.
- Comment Responder — writes the keyword rule that turns a commenter into a DM.
They're free and open-source: Claude Content Skills on GitHub — install as a Claude Code plugin, or copy the prompts into Claude.
The secret weapon: memory
This is what separates viral from generic. Generic AI content sounds generic because the model starts from a blank slate every time. The fix is memory — give Claude your winning reels, transcripts, brand voice, and a competitor swipe file, and every script comes from your proven patterns instead of nothing.

We do this with Google NotebookLM connected to Claude (the open-source notebooklm-mcp server). Fill a notebook with what's worked, and the skills above generate from it. We wrote up the whole memory setup in Claude's permanent memory with NotebookLM.
How to run it yourself
- Install the free skills: github.com/Ootto-AI/claude-content-skills.
- Connect your memory (NotebookLM) so Claude writes from your proven patterns, not a blank page.
- Feed Claude a viral reel in your niche → run Reel Analyzer → Hook Writer → Scripter → Builder.
- Post on the 2-week calendar the Content Calendar skill builds. Test hooks. Keep what works; feed the winners back into memory.
It's the same loop we use — just run by hand. If you want the broader version of automating your content, we covered that too.
The step we won't automate
Look at the fifth stage of the pipeline again. It stops, and it waits for a person. That is not a missing feature. That is the product.

Claude does publish. It calls reel_post, and the reel goes up. But it shows you the reel and waits for your yes first. Never unattended, never on a schedule with nobody watching.
It matters a great deal where that guarantee lives, and in our stack it currently lives in two places with two very different strengths:
- In the script pipeline, it is a check in the code path.
scripts/publish.pyruns as a dry run by default. Without an explicit--yesflag it prints the caption it would post and exits. No prompt can talk it into publishing, because the flag simply is not there. - In the MCP connector, it is a rule in a prompt. The
reel_posttool verifies your subscription and that you own the account, and then it posts. There is no confirmation argument and no dry-run mode. What stops it is that Claude asks you first.
Those are not the same promise, and we are not going to pretend they are. A check in the path cannot be argued with. A rule in a prompt is only as good as a model's judgment on a bad day.
So here is the precise sentence, and it is the one we will keep saying: the script pipeline refuses to publish without an explicit confirmation, and the connector asks you before it posts. One of those is enforced by the code. The other is enforced by Claude asking. If that distinction matters to you, and it should, the enforced one is publish.py.
Why we ask first
This is not a hypothetical, and it is not our anecdote either. It is what happens when nothing caps an agent.
In March 2025 a developer described what his comment-and-DM bot did when it met another bot:
I built a chatbot for someone who gets tons of social media comments / messages… When it talked to the other bot, infinite conversation… in 48 hrs my chatbot sent 230,000 messages by mistake (to another bot). It cost > $1,000… Was the lesson worth $1000? Absolutely not.
His own post-mortem, two days later, is this entire argument in one sentence:
since I'm building everything custom, I'm not using the protections offered by out of the box solutions… if you're technical enough to build a bot, you're probably just a few steps away from building one that sends 230,000 messages
Source: u/Contechjohnson, r/socialmedia, 24 March 2025. The bot was not malicious, and it was not stupid. It simply had no ceiling.
That is the case for asking first, and it is why the free skills stop exactly where they stop. They draft. You post.
Three doors
Free is genuinely free, and it costs you time. It is worth being exact about how much. The skills draft; nothing in the free repo posts for you. You will install Node and Remotion, which pulls down a headless Chromium; add ffmpeg and yt-dlp if you want the local teardown; bring your own transcription key; and connect an Instagram Business account yourself. Budget an afternoon for the setup, then roughly an hour per reel: feeding in the reference, running each skill, rendering, and uploading by hand. If you enjoy that, this is honestly everything we use.
The connector is for people who already live in Claude. You get a personal rfk_ key for our MCP server, every tool above lands inside your own chat, and you stay the operator who says yes.
Done-for-you is for people who want the reels, not the pipeline. We run the factory on your account and put each reel in your dashboard for approval.
Do it yourself
Free
Open source. You supply the hours.
- Twelve Claude skills: teardown, hooks, script, caption, calendar
- A Remotion starter that renders a 1080×1920 reel
- Nothing posts for you; you upload it yourself
Run it in your Claude
$20/week
The connector. You stay the operator.
- A personal rfk_ key for Ootto's MCP server
- Every Ootto tool inside your own Claude
- It renders and posts, but asks you first
Done for you
$599
One time. We run it, you approve.
- We run the whole factory for your account
- Reels scripted in your brand voice, on a calendar
- You approve each one; comments become leads
Not sure which door is yours? Start with a free audit of your reels at content.ootto.ai and decide afterwards.


