To get multiple pins for one blog post, stop writing pin copy and start pulling it out of the post you already wrote. I built a workflow that reads a published post, picks five short quotable lines, and puts them in a table. I tick the ones I like and those become quote images. It solves the part I’m bad at, which is spotting the good line in my own writing.

This post contains affiliate links. If you sign up through one, I earn a commission at no extra cost to you. I only point to tools I actually use or would recommend.
I can’t see the good line in my own post
I want several images for every post. Not one. Several, because one pin is one shot at getting noticed and five gives a post five chances. Plus, quote pins tend to do well on Pinterest.
The problem was never making the images. It was deciding what to put on them.
I’d finish a post, reread it looking for the quotable sentence, and everything would look the same. Too close to it. I wrote every line, so none of them jump out at me the way they’d jump out at somebody reading it for the first time. I’d end up picking whatever was in the first paragraph, or I’d give up and make one pin with the title on it.
So the job I handed off wasn’t the writing. It was the noticing.
What does the Pinterest pin workflow do?
Something reads a published post and proposes five short lines it thinks are quotable. They land in a table. I read the five, tick the ones I like, and those turn into quote images.
What this is not: my whole social media setup. I have a separate thing that writes actual posts for each platform, captions and all. That’s a different job with a different trigger. This one has a narrow scope on purpose. It pulls quotable lines out of a post and turns them into quote graphics, mostly for Pinterest. Two systems that both end in an image and have almost nothing else in common.
What isn’t mine: n8n, where the workflows run. The Claude API, which reads the post and picks the lines. Airtable, which holds the posts and the candidates. What I put together is the shape.
Who is this for?
You, if you publish regularly and want more than one image per post but stall on what to put on them. It helps most if you already keep your posts in a table somewhere, because that is where the checkbox lives. It is a poor fit if you only publish now and then, since the whole point is a queue that builds up while you are not looking. And if you are comfortable picking your own pull quotes, skip it. The picking is the part I handed off, not the making.
What do you need to build it?
Four things, and you probably have two already. n8n to run the two workflows, self-hosted or cloud. Mine runs self-hosted on a Hostinger VPS. An Anthropic API key, because Claude is what reads the post and proposes the lines. Airtable or any table n8n can reach, holding your posts plus a second table for the candidates. And an image tool for the last step, whatever you already use. Nothing here is exotic and nothing needs a screen built for it.
The part that makes it usable
The lines get written into a table and nothing happens to them.
That sounds like a small detail and it’s the reason I still use this. The extraction is cheap and instant, so it can afford to be wrong. Five lines get proposed, and proposing a bad one costs nothing because it just sits in a row until I look at it. The image generation, which costs real money per picture, only ever runs on rows I’ve ticked.
I’ve had 130 candidates written since May and turned 22 of them into images so far. The rest aren’t rejected, they’re just waiting for me to get to them. That’s the nice part of a table full of drafts. There’s no half-finished state and no deadline, so I can go tick four of them on a Sunday and ignore it for three weeks.

How does the pin workflow work?
Two workflows, twelve nodes each, with me in the gap.
The extractor. Checks for posts where I’ve ticked Extract Quotes. It fetches the live post, sends the text to Claude asking for five short quotable lines, writes each one back as its own row, then unticks the box on the post so it can’t fire on the same one twice.
The generator. Checks for candidate rows where I’ve ticked Approve. It marks each row Generating before doing any work, so a slow run can’t pick up the same row twice, then makes the images and marks the row Done.
The checkbox is doing more work than it looks. It’s the trigger, the queue, and the record of what’s been handled, and I didn’t have to build a single screen for it. Ticking a box in a table I already have open beats any interface I would have made.
| The extractor | The generator | |
|---|---|---|
| Trigger | Every 30 minutes | Every 30 minutes |
| Looks for | Posts with Extract Quotes ticked | Rows with Approve ticked |
| What it does | Fetches the live post, asks Claude for five quotable lines, writes each as its own row | Marks the row Generating, makes the image, marks it Done |
| Cost per run | A few cents | Real money, per image |
| Double-run guard | Unticks the box so it cannot fire twice | Sets status before the work, not after |
Both of them poll every 30 minutes, and that number matters
I originally had these running every few minutes. It felt responsive and it was a bad idea, because every run is a round trip to Airtable whether or not there’s anything to do. Checking every 5 minutes means roughly 288 calls a day to ask a question the answer to which is almost always no.
I dialled it back to 30 minutes and nothing about how it feels to use changed at all. The next step is me noticing a row and ticking a box, and I don’t do that within five minutes of publishing. There’s no reward for a fast loop when a human is the slow part.

Being straight about it: I changed the interval and never renamed the node, so one of my triggers is still called “Every 5 Minutes” while running every 30. Nothing is broken, and the logs read wrong forever. Rename the node when you change the number.
Build your own
Fill in your own setup below and it writes the build instructions for you, either as a prompt you paste into Claude Code with the n8n MCP server connected, or as a skill file so it is there every time you open a session. Nothing you type leaves your browser.
The prompt goes straight into a chat. The skill file is a SKILL.md that lives in a folder in your Claude Code skills directory, and the tool tells you exactly where when it writes it.
What I’d do differently
- Ask for fewer lines. Five per post means five decisions, and three would get reviewed more often than five do.
- Start at 30 minutes. I only found out I was hammering Airtable because I went looking.
- Set the status guard before the work, not after. Marking a row Generating first is the thing that prevents a double run, and doing it last defeats the point entirely.
- Put the review where you already are. This works because the table is in a tool I have open anyway. In a separate dashboard it would be dead.
Frequently asked questions
How do I make multiple pins for one blog post?
Pull several quotable lines out of the post rather than writing new copy for each pin. One automation reads the published post and proposes a handful of lines, you pick the ones you like, and each becomes its own image. The post already contains the words, so the work is selection instead of writing.
Why not just pick the quotes myself?
You can, and I couldn’t. I’m too close to my own writing to see which sentence stands on its own, so everything reads equally flat to me. Having something else read it back and point at five options is the actual value here, more than the time saved.
Will the lines it picks be any good?
Some of them. It’s a shortlist to choose from, never finished copy. I get five and usually a couple are worth using, which is enough, because the ones I skip cost nothing and take no time.
Does this post the pins for me?
No, on purpose. It generates images and attaches them to a row. Scheduling and posting are a separate decision, so a bad run can’t reach anybody.
How often should the workflow check for new work?
Every 30 minutes is plenty. I started at a few minutes and was making hundreds of pointless API calls a day to ask a question that’s almost always answered no. There’s no benefit to a fast loop when the next step is a human noticing a checkbox.
What does it cost to run?
Reading a post and pulling lines is a few cents. Image generation is the part with a real per-use price, which is exactly why nothing generates until a row is ticked. Gating the expensive half behind a checkbox is most of the cost control.
Try it yourself
To get multiple pins for one blog post, let something else read it back to you and shortlist the lines, then pick from the list instead of staring at your own paragraphs. Start with one published post and five candidates, and see how many you’d actually use.
This stops at a finished image. When I do post them, that goes out through Blotato, which stays a separate step on purpose so a bad run can’t reach anybody.
If you want more of the machinery, my screenshot folder sorts itself the same way, and the checklist that audits a post before I publish it is a file you can copy.
Subscribe if you want the next one.
A tool I built
Emergency Fund Aquarium
Log what you save at your own bank and watch your tank fill with creatures. Your money never moves through the app.
Start your tank →I run an affiliate program on the tools I build. Approved affiliates earn 20% on what their referrals pay, for up to a year. US only for now. See the program →
