Publish a story
publish_storyPublishes or schedules an Instagram Story from an image or video (3–60s, up to 100MB), requiring user confirmation before posting.
Instructions
Publish (or schedule) a story from an image or a video (3-60 s, up to 100 MB). Stories last 24 hours. Stickers, links, polls and music can't be added through the API. Needs the user's confirmation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | Reframing when converting: keep (only clamp into the allowed range), crop (fill the frame from the centre) or blur (whole frame over a blurred fill). Reels/stories target 9:16. | |
| url | No | Public http(s) URL of the file instead of a local path. | |
| type | No | Only needed when the file name does not tell. | |
| account | No | Which connected account: @username or Instagram user ID. Omit to use the default account. | |
| prepare | No | Convert to Instagram's specs with ffmpeg first (JPEG, H.264/AAC MP4, allowed aspect ratio and length). Default true. | |
| file_path | No | Path to the file on this computer, e.g. ~/Pictures/launch.jpg. | |
| user_tags | No | People to tag in the media. | |
| publish_at | No | Schedule: ISO 8601 date-time with timezone, at least 10 minutes and at most 75 days ahead. Instagram has no API scheduling, so this computer (or the background service) publishes it then; if the computer is off and the time passes by more than 2 hours, it is not published late (reschedule or resume_publish). | |
| wait_seconds | No | Wait this long for publishing before returning; then follow get_publish_status. | |
| confirmation_token | No | Only after the user approved: the confirmation_token returned by the previous call with identical arguments. |