Instagram Carousels Without a Designer in 2 Minutes
This method is used in production. Carousels are generated automatically: from text to ready-made PNG slides with branding.
The Problem
Instagram carousels are one of the most effective formats. But creating one takes 1-3 hours: write text, open Canva/Figma, arrange slides, pick visuals, export.
A designer charges €30-100 per carousel. At 8 carousels per month — that's €240-800 on design alone.
Solution: AI Agent Generation
One command to the agent — and in 2 minutes you have ready PNG files you can publish immediately.
How It Works
Command → Copywriter Agent
→ Slide 1: Cover (hook)
→ Slides 2-5: Content
→ Slide 6: CTA
|
Python Script (Pillow)
→ Background (gradient / brand color)
→ Title (DejaVu Sans Bold)
→ Body (DejaVu Sans)
→ Handle @brm.works
→ Slide number
|
Output: 6 PNG files 1080x1350Setup in 4 Steps
Define your brand kit
Colors (HEX), fonts, handle (@username), style. This gets baked into the rendering script — all carousels stay consistent.
Create a text template
Structure: cover (hook) → 4-8 content slides → CTA slide. The copywriter agent follows this structure.
Set up the rendering script
Python + Pillow. No browsers or Playwright — pure Python rendering. Fast, reliable, works on any server.
Launch and iterate
First 2-3 carousels — adjust font sizes, padding, colors. After that, every carousel is generated with a single command.
Approach Comparison
| Parameter | Canva / Figma | Designer | AI Agent |
|---|---|---|---|
| Time | 1-2 hours | 3-24 hours | 2 minutes |
| Cost | Free (your time) | €30-100 | ~€0.05 |
| Quality | Medium | High | Good |
| Scale | 1-2/day max | 1/day | Unlimited |
| Consistency | Depends on you | Depends on designer | 100% brand kit |
Tech Stack
Pro tip
Use absolute paths for fonts and images. Pillow doesn't understand relative paths when running via PM2 or cron. This will save you hours of debugging.
Want to set this up?
We set up the full carousel generation pipeline: from brand kit to auto-publishing. One command — ready post.