Facebook Upload Guide
Post videos, Reels, photo albums and text to Facebook Pages using the IndReelForge API. Requires a connected Facebook Page (personal profiles are not supported by the Facebook Graph API).
Supported Content Types
| Type | Endpoint | Notes |
|---|---|---|
| Video / Reel | POST /api/upload | MP4, MOV |
| Photo album | POST /api/upload_photos | Up to 30 images |
| Text post | POST /api/upload_text | Text + optional link |
Video Requirements
| Requirement | Value |
|---|---|
| Format | MP4 or MOV (H.264 + AAC) |
| Max file size | 10 GB |
| Max duration | 4 hours |
| Reel duration | 3–90 seconds |
| Recommended resolution | 1080p |
Upload a Facebook Video
curl -X POST https://api.indreelforge.com/api/upload \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-page' \
-F 'title=Summer collection is now live!' \
-F 'platform[]=facebook' \
-F 'video_url=https://your-cdn.com/product-video.mp4'
Post to Facebook + Instagram + Threads
curl -X POST https://api.indreelforge.com/api/upload \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-brand' \
-F 'title=Big announcement — swipe right on Instagram!' \
-F 'platform[]=facebook' \
-F 'platform[]=instagram' \
-F 'platform[]=threads' \
-F 'video_url=https://your-cdn.com/announcement.mp4'
Facebook-Specific Fields
| Field | Description |
|---|---|
title | Post caption / video title |
description | Extended video description (video posts only) |
privacy | EVERYONE (default), ALL_FRIENDS, SELF |
facebook_link | URL to attach to a text post as a link preview |
To publish later, use the standard schedule field (see the scheduling docs). IndReelForge publishes at that time on every platform; Facebook's own scheduled_publish_time is not used.
Connect Facebook
- Dashboard → Profiles → select your profile
- Click Connect next to Facebook
- Log in with your Facebook account and select the Page to connect (not personal profile)
- Grant all requested permissions including
pages_manage_posts - Return — status shows Connected
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
page_not_connected | Personal profile used | Connect a Facebook Page, not a personal account |
permissions_error | Missing pages_manage_posts scope | Reconnect and grant all permissions |
video_processing | Large video still processing | Check status via /api/uploadposts/status |
spam_detected | Duplicate or spam-like content | Vary post text between platforms |