Source: YouTube transcript (Claude Code LinkedIn auto-poster system)
Full pipeline: topic in, carousel PDF out, scheduled to LinkedIn via Buffer. Built in one Claude Code session. Open-sourced to GitHub.
What the system produces
A multi-slide LinkedIn carousel post, fully generated by Claude Code:
- 4-6 on-brand image slides using GPT Image 2
- Consistent visual style across all slides (same colours, font, layout)
- Slide numbering (1 of 5, 2 of 5) to encourage progression through the carousel
- A comment CTA on the final slide (Comment CRM and I'll DM it to you)
- The full LinkedIn post copy written alongside the carousel
- Everything stitched into a PDF (required format for LinkedIn native document posts)
- Uploaded to Cloudinary for public URL hosting
- Scheduled to LinkedIn via Buffer API
All from one message to Claude Code. You give it a topic or a video title. It does the rest.
The technical stack
| Tool |
Role |
| Claude Code |
Orchestrates the entire pipeline. Writes and runs all code. |
| GPT Image 2 (OpenAI) |
Generates the carousel slide images. Best image model available as of 2026. |
| Cloudinary |
Stores images and PDF with public URLs. Required for the Buffer API to retrieve the PDF. Also auto-tags all assets with AI for easy retrieval. |
| Buffer |
LinkedIn post scheduling tool. Free plan works. Claude Code connects to the Buffer API to schedule the post automatically. |
| LinkedIn MCP or Linked API CLI |
Optional: for posting directly to LinkedIn without Buffer. |
Why Cloudinary: Buffer's API requires a public URL for the PDF carousel. You cannot just host the file locally. Cloudinary gives you a public URL per asset, auto-tags everything with AI, and makes retrieval easy if you need to find or modify an asset later.
How to build it
Step 1: Set up Cloudinary
"Set up Cloudinary media storage in this folder.
Whenever images or videos are generated in this project, also upload them to Cloudinary automatically.
Ask me for my Cloudinary account details."
Claude finds the Cloudinary API documentation, asks for your cloud name and credentials, and sets up the integration. Add your API key via environment variables, not directly in chat (security).
Step 2: Set up the carousel generator
"I need you to become a LinkedIn carousel post creator.
I've uploaded style reference images from my existing content for you to take the design style from.
Use the GPT Image 2 model for image generation (it is now available as of 2026).
Store all generated images in Cloudinary.
Create 4-5 slides that flow together as a cohesive carousel.
Each slide should include a slide number in the corner (1 of 5, etc).
The last slide should include a comment CTA.
Topic: [PASTE YOUR TOPIC OR VIDEO TITLE]"
Step 3: Add a LinkedIn post writer skill
The default post copy Claude generates will be too generic. Download the LinkedIn post writer skill from MCP Market (search: linkedin post writer) and upload it to your Claude Code instance via Settings > Skills > Upload. Then ask:
"Using the LinkedIn post writer skill, write the post copy to accompany this carousel."
Step 4: Connect to Buffer and schedule
"I've set up a Buffer account and connected it to my LinkedIn.
Schedule this carousel as a LinkedIn post for tomorrow morning at 8am.
Connect to the Buffer API to do this automatically."
Claude finds the Buffer API docs, sets up the connection, combines the images into a PDF, enables PDF delivery in Cloudinary settings (you'll need to enable this once in your Cloudinary account), uploads the PDF, gets the public URL, and schedules the post via the Buffer API.
For future posts: give Claude a new topic and it generates everything in one message.
Step 5: Edit carousel slides if needed
If any slide needs changes, make modifications in Cloudinary using their AI editing tools (generative fill, background removal, colour adjustments), tell Claude which file was updated, and it will automatically re-stitch the PDF and re-send to Buffer.
API key security
Never paste API keys directly into the Claude Code chat. They can be found in the code easily. Instead:
"I need to add my OpenAI API key securely. Can you give me instructions on the right way to store it?"
Claude will instruct you to add it as an environment variable. This is the correct approach for every API key in this system (OpenAI, Cloudinary, Buffer).