Publish a reel
publish_reelPublish or schedule an Instagram reel by providing a video file or URL, with automatic 9:16 conversion, captions, covers, and background publishing after user confirmation.
Instructions
Publish (or schedule) a reel: 3 seconds to 15 minutes, up to 300 MB, 9:16 fills the screen (fit: crop or blur reframes other shapes). Converted to H.264/AAC MP4 when needed. Licensed music can't be added through the API. Needs the user's confirmation; runs in the background.
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. | |
| account | No | Which connected account: @username or Instagram user ID. Omit to use the default account. | |
| caption | No | Caption (max 2,200 characters, 30 hashtags, 20 @mentions). The first ~125 characters show before 'more'. Captions can't be edited through the API after publishing. | |
| prepare | No | Convert to Instagram's specs with ffmpeg first (JPEG, H.264/AAC MP4, allowed aspect ratio and length). Default true. | |
| template | No | Template from list_templates: adds header/footer, hashtags, first comment, collaborators. | |
| cover_url | No | Cover image URL instead of cover_file. | |
| file_path | No | Path to the file on this computer, e.g. ~/Pictures/launch.jpg. | |
| user_tags | No | People to tag in the reel. | |
| audio_name | No | Name for the reel's original audio. | |
| cover_file | No | Custom cover image for the reels tab and grid (9:16 looks best). | |
| 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). | |
| location_id | No | Facebook Page ID of a place (see find_location). | |
| wait_seconds | No | Wait this long for publishing before returning; then follow get_publish_status. | |
| collaborators | No | Up to 3 usernames invited as collaborators (they must accept in the app). | |
| first_comment | No | Posted as the first comment right after publishing (hashtags, credits, links). | |
| share_to_feed | No | Also show the reel in the profile grid and feed (Instagram's default is yes). | |
| is_ai_generated | No | Self-disclose that the content was made or edited with AI (shows an AI label). | |
| thumb_offset_ms | No | Use the frame at this time (ms) as the cover when no cover image is given. | |
| confirmation_token | No | Only after the user approved: the confirmation_token returned by the previous call with identical arguments. |