Skip to Content

Facebook Upload API

This section details how to upload text posts, photos, and videos to Facebook Pages using the API.

Base URL

https://api.multi-upload-tool.com/api/v1

Authentication

All requests require an API Token in the header: x-api-key: YOUR_API_TOKEN


Requirements

Facebook Reels & Video Requirements

  • File Format: MP4 (recommended)
  • Resolution & Aspect Ratio:
    • Recommended: 1080 x 1920 pixels
    • Minimum: 540 x 960 pixels
    • Aspect ratio: 9:16
  • Duration:
    • 3-90 seconds (Reels)
    • Maximum 60 seconds (Stories)
  • Video Settings:
    • Frame rate: 24-60 fps
    • Chroma subsampling: 4:2:0
    • Closed GOP (2-5 seconds)
    • Compression: H.264, H.265, VP9, AV1
    • Progressive scan
  • Audio Settings:
    • Bitrate: 128 kbps+
    • Channels: Stereo
    • Codec: AAC (low complexity)
    • Sample rate: 48 kHz

Facebook Photo Requirements

  • General Guidance: Facebook supports various image formats, including JPEG, PNG, GIF, and WebP.
  • Aspect Ratio: 1.91:1 to 4:5 recommended for Feed.

Validation & Limits

The following validation constraints are enforced by the API for Facebook uploads:

LimitValueNotes
Post Description63,206 charactersMaximum length enforced on text content and post descriptions.
Post Title255 charactersMaximum length for post titles (when provided separately).
Image File Size4 MBMaximum file size per image.
Video File Size1 GBMaximum file size per video (Graph API standard upload limit).
Carousel/Album ItemsUnlimited per APIFacebook’s native limit applies (typically 10 photos/videos per album).
Text-Only PostsSupportedPosts with no media are allowed.
Link AttachmentsSupportedThe link parameter allows URL previews on posts.

Notes:

  • File size limits are enforced during upload. Oversized files will be rejected with a 400 error.
  • Character limits are validated against the provided text fields (description, title, link).
  • Facebook may apply additional constraints via the Graph API (e.g., content policies, hashtag limits) that are not enforced by this API but will be reflected in error messages returned by Facebook.
  • Refer to Facebook’s Video API Guide  for recommended video specs and formatting.

Upload Text Post

Create a simple text status update on a Facebook Page.

Endpoint

POST /upload

Content-Type

multipart/form-data

Parameters

Query Parameters

ParameterTypeRequiredDescription
asyncstringNoDefault "true". If "false", the API waits for upload completion.

Body Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected Facebook Page.
descriptionstringYesThe text content of the post.
linkstringNoA URL to attach to the post.
schedule_datestringNoISO 8601 date string to schedule the post. Must be in the future and within 6 months.

Example Request

curl --location 'https://api.multi-upload-tool.com/api/v1/upload' \ --header 'x-api-key: YOUR_API_KEY' \ --form 'accountId="12345"' \ --form 'description="Hello world! Check out our new website."' \ --form 'link="https://www.example.com"'

Upload Photo

Upload a single photo to the Page Feed.

Endpoint

POST /upload

Content-Type

multipart/form-data

Parameters

Query Parameters

ParameterTypeRequiredDescription
asyncstringNoDefault "true". If "false", the API waits for upload completion.

Body Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected Facebook Page.
photoFileYesThe image file to upload.
descriptionstringNoThe caption for the photo.
titlestringNoAlternative to description for the caption.
schedule_datestringNoISO 8601 date string to schedule the post. Must be in the future and within 6 months.

Example Request

curl --location 'https://api.multi-upload-tool.com/api/v1/upload' \ --header 'x-api-key: YOUR_API_KEY' \ --form 'accountId="12345"' \ --form 'photo=@"/path/to/image.jpg"' \ --form 'description="Beautiful sunset!"'

Upload Video (Reels)

Upload a video to the Page. It will be treated as a Video Post or Reel depending on duration and format.

Endpoint

POST /upload

Content-Type

multipart/form-data

Parameters

Query Parameters

ParameterTypeRequiredDescription
asyncstringNoDefault "true". If "false", the API waits for upload completion.

Body Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected Facebook Page.
videoFileYesThe video file to upload.
descriptionstringNoThe description/title for the video.
titlestringNoAlternative to description.
schedule_datestringNoISO 8601 date string to schedule the post. Must be in the future and within 6 months.

Example Request

curl --location 'https://api.multi-upload-tool.com/api/v1/upload' \ --header 'x-api-key: YOUR_API_KEY' \ --form 'accountId="12345"' \ --form 'video=@"/path/to/video.mp4"' \ --form 'description="My new video update"'

Upload multiple photos in a single post.

Endpoint

POST /upload

Content-Type

multipart/form-data

Parameters

Query Parameters

ParameterTypeRequiredDescription
asyncstringNoDefault "true". If "false", the API waits for upload completion.

Body Parameters

ParameterTypeRequiredDescription
accountIdstringYesThe ID of the connected Facebook Page.
photoFile[]YesMultiple image files.
descriptionstringNoThe caption for the album.
titlestringNoAlternative to description for the caption.
schedule_datestringNoISO 8601 date string to schedule the post. Must be in the future and within 6 months.

Example Request

curl --location 'https://api.multi-upload-tool.com/api/v1/upload' \ --header 'x-api-key: YOUR_API_KEY' \ --form 'accountId="12345"' \ --form 'photo=@"/path/to/image1.jpg"' \ --form 'photo=@"/path/to/image2.jpg"' \ --form 'description="Holiday Album"'