Limitations
Instagram posts need an image or video
Instagram requires every post to include at least one image or video. A text-only caption has nothing for Instagram to publish, so the post fails. This is not a credits issue. If your Instagram post failed to publish and it has no media, add a photo or video and publish again.
Using the Blotato web app: Open the post and click the Photo/Video button to add an image or video before you publish.
Using the Blotato API or n8n/Make.com: Include at least one URL in mediaUrls for Instagram posts.
Instagram post fails: "The media could not be fetched from this URI"
This error comes from Instagram/Meta, not Blotato. Meta tried to download one of your images and rejected it. The Facebook link inside the error is Meta's generic media-spec page. This is not a credits issue. For media hosted by Blotato (a database.blotato.io URL), it is also not a public-access problem, so reuploading the file or changing the URL does not help.
Fix it in this order:
Retry the post first. These errors clear on a second attempt more often than not.
Check the aspect ratio. Every Instagram image must be between 4:5 (portrait) and 1.91:1 (landscape). Square (1:1) is safest.
For carousels, the first slide sets the crop. Instagram crops every slide to match the first image. If one slide is too tall or too wide, the whole carousel fails. Make the first slide the aspect ratio you want for all slides.
Use JPEG instead of PNG. Instagram accepts both, but JPEG publishes more reliably for carousels.
Make sure each image is at least 320 pixels wide.
For the full image specs, see Social Platform Requirements.
"AI Generated" label
Meta does not expose the "AI Generated" content label through their API. You cannot add this label to Instagram posts published through Blotato or any third-party tool.
Music on posts, reels, and carousels
Instagram does not let outside tools reach its music library. Any music has to already be inside your video file before Blotato posts it, which is why there is no music button in the publishing step.
Reels: If your video already has audio, it will play when posted. To add a music track before posting, use the Blotato video editor — click "Audio" in the left sidebar to upload a music file, then export the video with the audio included.
Single image posts and carousels: Music cannot be added through Blotato. Publish your post first, then open it in the Instagram app and add music there.
Video slides inside a carousel: Instagram strips the audio from video slides when you post them inside a carousel, even when the audio is baked into the video file. This is an Instagram-side limitation, not a Blotato issue. To keep the sound, post the video on its own as a Reel instead of inside a carousel.
Story link stickers
Instagram's API does not yet support adding link stickers (clickable URLs) to Stories published via third-party tools. This is an Instagram-side limitation — it applies to all Instagram-API-based publishers, not just Blotato.
If you need a link sticker on a Story:
Publish the Story through Blotato as normal.
Open the Instagram app and add the link sticker manually to the published Story.
Once Instagram opens this up in their API, Blotato will integrate it.
Collaborators on carousels
Instagram applies a collaborator tag to a carousel as a single unit, not to each photo or video inside it. Because of this, adding collaborators to a carousel (multi-image or multi-video) post is not supported through Blotato - the post fails with an error like The param collaborators is not allowed for carousel child.
Collaborator tagging does work on single image posts and reels.
If you need a collaborator on a carousel:
Publish the carousel through Blotato as normal (without collaborators).
Open the Instagram app and add the collaborator to the published post.
Direct messages and DM automations
Instagram sets the rules below. Blotato passes them through, so a message outside an allowed window fails.
Who you reach, and when
You can only reply within 24 hours of the person's last message.
You may send one private reply per comment, within 7 days of the comment. A comment that already received a private reply, through Blotato or another tool, rejects the second reply.
Cold outreach is not supported. Instagram does not let a third-party tool message someone who never contacted you.
Messaging needs a Professional or Business Instagram account with the messaging permission granted. See Connect Instagram.
Message length
Instagram measures message length in bytes, not characters: 1000 bytes. Emoji and accented characters take several bytes each, so a message well under 1000 characters sometimes exceeds the limit.
With buttons attached, the limit drops to 640 characters.
Buttons and quick replies
Buttons per message
3
Quick-reply chips per message
13
Button or chip label
20 characters
Postback or chip payload
1000 characters
Message text with buttons
640 characters
Buttons render in the Instagram mobile app only. A recipient reading the DM on instagram.com in a desktop browser sees the message text without the buttons.
To work around Instagram's button display issue for desktop users, you can include a plain-text URL in the message text instead. Send a button or a plain-text URL, not both. A message carrying both leaves the URL unclickable on desktop. For a desktop audience, drop the button and put the URL in the message text.
Buttons and quick replies are mutually exclusive. A message carries one or the other.
Instagram supports
web_urlandpostbackbuttons. Phone buttons are not supported.Quick-reply chips disappear once the person taps one or types their own message.
Blotato subscribes your account to the postback webhook when you connect it. If you connected your account before buttons were launched, reconnect to start receiving postback events.
See Buttons and Quick Replies.
DM automations
A comment trigger answers with a private reply, so the 7-day and one-per-comment rules apply.
A message trigger answers within the 24-hour window.
Automation buttons are link buttons only. For postback buttons or quick replies, send the message yourself.
Per-post targeting uses a Blotato post ID, so it works on posts published through Blotato. For a post published elsewhere, watch any post and match on keywords.
See DM Automations.
Not supported
Story replies as a distinct trigger. A reply to your story arrives as a normal DM and fires a message trigger.
Messaging on a Personal Instagram account.
Reading messages older than 45 days. Blotato retains messages for 45 days and does not backfill.
Last updated