Bring the media
Upload an image or video to MonoChalk, or pass an external URL. Instagram can't publish text alone, so media is where an Instagram post begins.
Instagram is media-first, and so is the way MonoChalk publishes to it. Upload an image or video, attach it to a single post payload, and MonoChalk validates Instagram's rules, publishes or schedules the post, and tells you exactly how it landed.
In one line: the Instagram API through MonoChalk lets developers connect a user's Instagram account once, then publish or schedule image and video posts with a single POST /v1/posts request — no direct Instagram Graph API integration to build or maintain.
Upload an image or video to MonoChalk, or pass an external URL. Instagram can't publish text alone, so media is where an Instagram post begins.
The file is ingested into storage and validated against Instagram's format and size rules up front, so a bad asset fails clearly instead of halfway through publishing.
Send now, or add a scheduled_at time. Either way you get a per-target status and a signed webhook when the post is live.
An Instagram post isn't a special case in your code. You reference an uploaded media_id, target the connected Instagram account, and MonoChalk maps your text to the caption and handles the rest.
// image already uploaded via POST /v1/media
{
"account_ids": ["ig_2891"],
"text": "New drop is live.",
"media": [{ "media_id": "med_a1b2" }],
"scheduled_at": "2026-07-18T15:00:00Z"
}
Yes. Send a post with a scheduled_at timestamp to publish later, or omit it to publish immediately. MonoChalk reports the result through per-target status and signed webhooks.
Yes. Instagram requires an image or video, so a text-only post to an Instagram target is rejected with a normalized error before it reaches the platform. Upload media to MonoChalk or pass a URL, which MonoChalk ingests before publishing.
Yes. MonoChalk manages the OAuth flow and encrypted tokens, so each of your users connects their own Instagram account through one consistent account model. See the unified API →