Facebook

Publish text, image and video posts to a Facebook Page through the Graph API. The platform id is facebook. Publishing uses the selected Page’s access token, and a first comment or thread is posted as a native comment on the new post.

Media must be public HTTPS

Facebook ingests media by URL, so every image or video must be reachable over public HTTPS. PostFuze handles this for media uploaded through the /media endpoints — the platform fetches the time-limited URL itself, so no byte upload happens here.

Supported content

  • Text — a feed post; attach a link preview with the link config field.
  • Image / GIF — posted to the Page’s photos with the content as the caption.
  • Video — posted to the Page’s videos with the content as the description.
  • First comment / thread — reply containers are posted as native comments.

Limits

PropertyValue
Character limitNot enforced by PostFuze
ImageJPEG/PNG/GIF/BMP/TIFF/WEBP, ≤10MB, 100×100 – 4096×4096
VideoMP4/MOV/AVI/WMV/FLV/WEBM, ≤4GB, 1s–240min, 16:9 or 9:16
Media accessMust be public HTTPS
First commentYes

Configuration fields

Set under config.facebook. The one field below is optional.

FieldTypeDefaultNotes
linkstringLink to attach to a text post; Facebook renders a link preview.

Required scopes

Configure scopes on the BYOK network record. When none are set, PostFuze requests:

  • pages_manage_posts — create posts on the Page
  • pages_manage_engagement — post comments (first comments) on the Page
  • pages_read_engagement
  • pages_read_user_content
  • pages_show_list — enumerate manageable Pages

A single Facebook login can administer several Pages; when that happens the connect callback returns the available Pages and hands off to the page-selection step, where you finalize exactly which Pages to connect.

Create a post

An image post to a Page, followed by a first comment with a link:

curl
curl https://api.postfuze.com/api/v1/posts \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "accounts": ["acct_fb_01"],
    "containers": [
      {
        "content": "We just crossed 10,000 posts published through PostFuze. Thank you! 🎉",
        "media": [{ "id": "media_milestone", "alt_text": "10k posts milestone graphic" }]
      },
      { "content": "Try it yourself → https://postfuze.com" }
    ]
  }'
201 Created
{
	"id": "post_f330",
	"status": "queued",
	"containers": [
		{ "id": "ctr_f1", "position": 0, "role": "main", "content": "We just crossed 10,000 posts published through PostFuze. Thank you! 🎉" },
		{ "id": "ctr_f2", "position": 1, "role": "first_comment", "content": "Try it yourself → https://postfuze.com" }
	],
	"targets": [
		{ "id": "tgt_fb1", "social_account_id": "acct_fb_01", "platform": "facebook", "status": "queued", "platform_post_id": null }
	]
}