Instagram consistency is a compounding game: accounts that post daily outgrow accounts that post "when there's time". Automation removes the "when there's time" problem.
What You Can Automate
One contentType parameter routes a single photo or video to the right surface:
contentType |
Result |
|---|---|
post |
classic feed post (default) |
reels |
published as a Reel |
story |
24-hour Story |
reels_and_story |
Reel + shared to Story in one call |
// Schedule a Reel + Story combo
{
"fileUrl": "https://mediastorage.dohoo.ai/file/...",
"instagramAccountId": "812",
"contentType": "reels_and_story",
"caption": "The 10-minute publishing stack 👇 …",
"scheduledAt": "2026-07-15T19:00:00",
"timezone": "America/New_York"
}
Caption Rules Worth Encoding
Exact platform constraints your automation should validate:
- 2,200 characters hard cap
- up to 30 hashtags and 20 mentions
- only the first ~125 characters show before "…more" — put the hook there, never a hashtag wall
Automating Carousels (the Highest-Save Format)
Carousels are schedulable with strict media rules — get these right and publishing never bounces:
{
"instagramAccountId": "812",
"mediaUrls": ["https://.../slide1.jpg", "…", "https://.../slide7.jpg"],
"caption": "7 mistakes killing your reach → save this",
"scheduledAt": "2026-07-16T12:00:00",
"timezone": "America/New_York"
}
| Requirement | Value |
|---|---|
| Images per carousel | 2–10 |
| Format | JPEG only (no PNG/WebP) |
| Max size | 8 MB per image |
| Min width | 320 px |
| Aspect ratio | 4:5 to 1.91:1 (1:1 recommended) |
| Crop behavior | the first image sets the crop for the whole carousel |
That JPEG-only rule is the #1 cause of failed carousel automations across every tool — convert PNGs before upload (mogrify -format jpg slides/*.png).
The Full Automated Loop
- Upload media once → permanent
fileUrl(URL import or presigned upload) - Schedule with local time + IANA timezone (DST handled for you)
- Verify — query scheduled posts with
platform: "instagram";faileditems return the exacterrorMessage(expired token, bad aspect ratio, oversized file)
Step 3 is the difference between automation you trust and automation you babysit.
FAQ
Does this work with personal Instagram accounts?
No — Instagram's API requires a Business or Creator account (free switch in the app settings).
Can I schedule Reels specifically?
Yes — contentType: "reels", or reels_and_story to double-publish in one call.
Why did my carousel fail?
Almost always media specs: PNG instead of JPEG, an image over 8 MB, or a ratio outside 4:5–1.91:1. The failed scheduled record includes the platform or processing error returned for troubleshooting.
Can AI write captions and schedule for me?
Yes — through DOHOO MCP, a compatible AI client can draft captions within the 2,200/30-hashtag limits and schedules directly (guide).