Instagram (Login) icon

Instagram (Login)

Use the Instagram API with Instagram Login (graph.instagram.com) - no Facebook Page required

Publish → Reel

AI-generated

Summary

Publishes a video as an Instagram Reel through graph.instagram.com. It optionally re-hosts the video or burns text overlays into it with FFmpeg, creates a REELS media container, polls until processing finishes, then publishes it.

Inputs

  • videoUrl (required) — Public URL of the video to publish.
  • caption — Caption text for the reel.
  • rehostMedia — Default true. Downloads the video and re-uploads it to a public host before sending the URL to Instagram. This avoids timeouts and 403 errors from slow or blocking source servers.
  • addOverlays — Burns an episode label and a username watermark into the video with FFmpeg. FFmpeg must be installed on the n8n host. When enabled, the video is always downloaded, processed and re-uploaded, whatever Re-Host Media First is set to.
  • episodeNumber — Overlay only. Drawn as "{N}-QISM" at the bottom center. Leave empty to skip.
  • usernameWatermark — Overlay only. Default true. Fetches the account username via /me and draws it as a semi-transparent "@username" watermark.
  • overlayOptions — Overlay only. FFmpeg path, font file (auto-detected per OS if empty), episode and watermark font sizes, watermark opacity, and watermark position (top, bottom or center).
  • publishOptions — Max Poll Attempts (default 30) and Poll Interval in seconds (default 5) for container processing. Re-Host Method is Catbox or Supabase. Catbox uses a configurable upload URL and falls back to 0x0.st on failure. Supabase needs a project URL, a public bucket (default "reels") and a service key.
  • graphApiVersion — Graph API version, default v21.0.
  • accessTokenOverride — Token used instead of the Instagram Login API credential. Set it by expression to post to different accounts per item.

Output shape

One JSON item per input item, with the creation_id of the media container plus the media_publish response (normally the published media id).

Fails if the container reports ERROR or isn't FINISHED within the poll limit. Overlay and re-host failures are also thrown as errors. With Continue On Fail, the item becomes {error: message} instead. Re-hosted media is uploaded to third-party public hosts (Catbox, 0x0.st, or your Supabase bucket).

Examples

Example 1: Publish a reel from a URL with a caption, re-hosting the video first.

Video URL = https://example.com/video.mp4; Caption = 'New episode!'; Re-Host Media First = true

Example 2: Publish a numbered episode with a username watermark.

Add Text / Watermark Overlay = true; Episode Number = 3; Username Watermark = true; Overlay Options > Watermark Position = Top Center

Example 3: Re-host through Supabase because Catbox is blocked from the server.

Publish Options > Re-Host Method = Supabase; Supabase Project URL, Bucket and Service Key set

Links

Discussion