ChatGPT can write an Instagram caption in four seconds and then do nothing with it. It has no access to your account. To get from caption to scheduled post, you connect ChatGPT to a scheduler through MCP, and after that a sentence like “schedule this for Thursday at 9am” creates a real post in your calendar. With SchedPilot the setup takes about ten minutes, and most of that is spent finding one toggle in ChatGPT’s settings.
Try SchedPilot for free #
Free trial · No upfront payment · 10+ platforms
Post on 10 platforms at once. Great for influencers, marketers, agencies.
What you need #
A paid ChatGPT plan. Custom connectors run through Developer mode, which OpenAI offers on Plus, Pro, Business, Enterprise and Edu. The free plan can’t add one, and there’s a fallback for that near the end of this article.
An Instagram professional account, meaning Business or Creator. Instagram’s API doesn’t publish to personal accounts. Switching is free and takes a minute in the Instagram app under account type settings, and it changes nothing about how your profile looks.
A SchedPilot account with that Instagram account connected, plus an API key. The key lives under API Access in the app and starts with smm_. Check the pricing page for which plan includes API and MCP access.
And an image or a video. Instagram has no text-only posts, so a caption by itself will fail every time.
Connect ChatGPT to SchedPilot #
- In SchedPilot, connect your Instagram account, then open API Access and copy your key.
- In ChatGPT on the web, open Settings, then Apps & Connectors, then Advanced settings, and turn on Developer mode. OpenAI has moved this toggle more than once. If it isn’t there, look under Connectors or Security.
- Go back to Apps & Connectors and click Create. Name the connector SchedPilot and paste this URL:
https://api.schedpilot.com/mcp - Authenticate with your SchedPilot key when ChatGPT asks, then save.
- Open a new chat, enable the SchedPilot connector from the tools menu, and type “List my connected accounts.”
If your Instagram handle comes back, you’re done. If ChatGPT says it has no such tool, the connector isn’t enabled for that chat, which is the most common miss. On a Business or Enterprise workspace, an admin may have to switch Developer mode on for you first.
Get the image in first #
This is where most people get stuck, and most guides skip it.
An image you drop into the ChatGPT chat window stays in ChatGPT. The connector has no way to hand that file to SchedPilot. The same goes for an image ChatGPT generates for you: you can see it, but your scheduler can’t.
Two routes work. You can upload the image to your SchedPilot media library in the app, then tell ChatGPT to use it (“use the newest image in my library”), and it finds the file with the list_media tool. Or you can give ChatGPT a direct public link to the file, such as an image hosted on your own site, and it pulls it in with upload_media. Images can be JPG, PNG, GIF or WebP. Video can be MP4, MOV, AVI or MKV.
I’d use the library. It costs you one extra browser tab, and you never end up debugging a link that turned out to be private.
Schedule the post #
With the image in place, the prompt is one message:
Schedule the newest image in my library to Instagram for Thursday at 9:00am, America/New_York time. Caption: “Three new colours land Friday. Which one are you getting?”
ChatGPT looks up your accounts, finds the image, and creates the post. It asks you to approve the action before it runs. A few seconds later the post is sitting in your SchedPilot calendar, where you can move it or delete it like any other.
Always name your time zone. The scheduling tool assumes UTC when none is passed, and 9am UTC is 4 or 5 in the morning in New York. Say it once at the start of the chat (“all times are America/New_York”) and ChatGPT carries it through.
You can also ask it to write the caption from a product page, a transcript or a rough idea. That part ChatGPT is already good at. Give it one of your old captions as a style sample and the drafts need far less editing.
Carousels, Reels and a week at a time #
Ask for several images in one post and ChatGPT attaches them all to the same post, which goes out as a carousel. Name the order you want, because “the last four images” and “these four, in this order” give different results.
Reels work the same way with a video file. Upload the video to your library first, since video files are too big to pass around as casually as a JPG, and keep it 9:16. One rule to know: a single post can’t mix images and video.
The real time saver is batching. Paste a blog post or your product notes and ask: “Write five Instagram captions from this, pair each with one of my five newest library images, and schedule them at 9am on the next five weekdays.” That’s one message for a week of content, and you review all five in the calendar afterwards.
The API allows 30 write requests an hour. A week of posts fits easily. A whole month with a fresh upload per post can hit that ceiling, so split it into two sittings.
The same message can also send the post to Facebook, Threads or TikTok. Add the other accounts to the prompt and ask for a shorter caption where it makes sense.
What Instagram will reject #
| Problem | Fix |
|---|---|
| No image or video attached | Attach media. Instagram doesn’t accept text-only posts. |
| Personal Instagram account | Switch to Business or Creator in the Instagram app. |
| Feed image is too tall or too wide | Stay between 4:5 portrait and 1.91:1 landscape. Square is always safe. |
| Reel isn’t vertical | Export at 9:16. |
| Caption over 2,200 characters | Ask ChatGPT to cut it. It rarely needs to be that long anyway. |
When a post fails, ask ChatGPT “did Thursday’s Instagram post publish?” and it checks the status for you.
Should you let it publish without looking? #
Not for the first couple of weeks.
A post ChatGPT creates lands in your calendar as scheduled, and it will publish at that time unless you step in. For a solo account that’s fine if you make a habit of reading tomorrow’s queue before bed. For a team or an agency, set new posts to pending approval in your workspace settings, so someone signs off before anything goes live. An assistant that confidently schedules a post to the wrong client is a mistake you want to catch in a calendar.
ChatGPT can also publish immediately if you ask. I’d hold off on “post it now” until you’ve watched a few scheduled posts go out correctly, because an instant post leaves you no window to catch a wrong image or a typo.
One more thing: there’s no edit tool. If a scheduled post needs a change, ChatGPT deletes it and creates a new one, or you fix it in the calendar yourself. For a one-word change the calendar is quicker.
If you’re on free ChatGPT #
Custom connectors aren’t available, so ChatGPT can’t schedule anything. You can still split the work: have ChatGPT write the week’s captions, then paste them into SchedPilot and pick the times. Less magic, same result.
Claude takes the same connector URL and handles multi-step requests a little more reliably, so if you use both, the Claude setup guide is worth ten minutes. For X instead of Instagram, see how to schedule tweets with ChatGPT, and for more things to ask once you’re connected, there’s a list of 100 prompts.