Facebook Page

Facebook integrates at the Page level. Connect the Meta OAuth flow once and pick which Pages to link; each Page becomes its own UniPost account. Publishing is currently one photo or one video per post.

Page-owned posting with photo or video, plus inbox comments and DMs.
Facebook Page account requirementWhite-label requirement: the connected account must be a Facebook Page you manage. Your Meta app must pass app review before public use.

At a glance

Publishing
Limited
Scheduling
Supported
Analytics
Limited
Inbox
Supported
Connection
OAuth via Meta — Quickstart and White-label both supported

Feature matrix

FeatureSupportNotes
Text postsUp to 63,206 characters
Image postsPartialExactly 1 image (v1 scope — no carousel yet)
Video postsPartialExactly 1 video (non-resumable, ≤ 1 GB in v1)
ReelsVertical video via platform_options.facebook.mediaType="reel" (requires FEATURE_FACEBOOK_REELS)
Link postsProvide the URL in caption
SchedulingUse scheduled_at
Inbox (comments + DMs)Routed into UniPost inbox
Carousel / albumXv1 does not support multi-item Page posts
First commentXNot supported on Pages today
ThreadsXNot applicable

Known constraints

LimitationWhy
Daily safety cap100 publishes/day per connected Facebook Page (UTC reset). Protects pages from being flagged for spam — failed posts do not count.
No carousels in v1Facebook batch_publish is on the roadmap
No resumable uploads yetVideos must be ≤ 1 GB until Phase 2.5
Analytics ship in Phase 2Engagement and reach metrics are roadmapped — not yet surfaced
Reels are feature-flaggedSet FEATURE_FACEBOOK_REELS=true to enable the /video_reels publish path

Publishing

Ready to publish?Use the shared Publishing guide for hosted URLs, local file uploads, preflight validation, and async publish status. Then use the Facebook Page examples below for platform-specific payload shape.

Publish examples by surface

Each example calls POST/v1/posts with Bearer auth. Swap the account_ids for your own, then copy the snippet for your language.

Text-only post

Photo post

Video post (Feed)

Reel

Reels run through /{page_id}/video_reels (3 phases: start → transfer → finish). Vertical video required; link attachments are not supported. Requires FEATURE_FACEBOOK_REELS=true on the API.

Media & field requirements

FieldRequiredLimitsNotes
caption or mediaAt least one requiredText up to 63,206 charsUniPost rejects posts with neither text nor media
media_urls or media_idsOptional1 image OR 1 videoNo mixed media. Use media_urls for hosted assets or media_ids for uploaded files
linkOptionalURL in captionLink and media cannot be combined in the same post
platform_options.mediaTypeOptionalfeed / reelfeed (default) routes to /{page_id}/videos; reel routes to the 3-phase /{page_id}/video_reels flow
platform_options.titleOptionalReels onlyVideo title surfaced alongside the Reel
platform_options.thumb_offset_msOptional0–60,000 msReels only — which frame Meta picks as the thumbnail

Hosted URLs: pass the public URL in media_urls. Local files: reserve an upload with POST/v1/media, PUT the bytes to the returned upload_url, then publish with media_ids. Full flow in the Publishing guide.

Media specifications

Per-surface limits for text, images, and video. These are the source of truth UniPost uses for preflight validation and media optimization — treat hard-limit values as enforced and "recommended" values as platform guidance.

Feed post

Default Page publish. Single photo or single video (no carousel in UniPost v1).

TypeRequirementValue
TextCharacter limit63,206 chars (feed truncates at ≈480 with 'See more')
TextLink previewMeta pulls Open Graph tags when a URL is the only media
ImageFormatsJPEG, PNG, GIF
ImageMax per post (UniPost v1)1 (multi-photo album support on the roadmap)
ImageMax file size10 MB (UniPost v1 cap; Meta accepts up to 30 MB via direct Graph upload)
ImageDimensionsMin 600 × 315 px; 1,200 × 630 recommended for link previews
ImageAspect ratio1.91:1 (link), 1:1 or 4:5 (feed)
ImageColor spacesRGB
VideoFormatsMP4, MOV
VideoMax per post1
VideoMax file size10 GB via resumable upload (UniPost v1 caps at 1 GB non-resumable)
VideoDuration1 sec – 240 min
VideoAspect ratios16:9, 9:16, 1:1, 4:5 all supported
VideoResolutionMin 1,280 × 720 recommended; up to 4K accepted
VideoFrame rate24 – 60 fps (30 fps recommended)
VideoCodecH.264 high profile + AAC-LC
VideoAudioStereo AAC, 128 kbps+

Reels

Vertical short-form publish. UniPost targets this via the 3-phase `/{page_id}/video_reels` flow when `platform_options.facebook.mediaType = "reel"` and `FEATURE_FACEBOOK_REELS=true`.

TypeRequirementValue
TextCaption / descriptionUp to 2,200 chars (Reels caption surface)
TextTitleSupplied via platform_options.facebook.title
TextThumbnail offsetthumb_offset_ms 0 – 60,000 ms picks the cover frame
VideoFormatsMP4, MOV
VideoMax per post1
VideoMax file size1 GB (UniPost v1, non-resumable). Meta accepts larger via resumable upload.
VideoDuration3 sec – 90 sec recommended; Meta permits up to 90 min on long Reels
VideoAspect ratio9:16 vertical (1,080 × 1,920 recommended)
VideoResolutionMin 540 × 960 px
VideoFrame rate24 – 60 fps (30 fps recommended)
VideoCodecH.264 high profile + AAC-LC
VideoAudioStereo AAC, 128 kbps+, 48 kHz
VideoRestrictionsNo link attachments, no mixed media, no carousel

Stories

Not yet exposed by UniPost — listed so the media-optimization roadmap has the full Page surface.

TypeRequirementValue
TextCaptionOverlay only (no feed text body)
ImageFormatsJPEG, PNG
ImageMax file size4 MB
ImageAspect ratio9:16 (1,080 × 1,920)
ImageSafe areaReserve top/bottom 250 px for chrome
VideoFormatsMP4, MOV
VideoMax file size4 GB
VideoDuration1 sec – 60 sec
VideoAspect ratio9:16 (1,080 × 1,920)
VideoFrame rate30 fps
VideoCodecH.264 + AAC-LC

Analytics

MetricSupportNotes
LikesSum of reactions on the post
CommentsTop-level comment count
SharesNative Facebook share count
ClicksSum of post_clicks_by_type (Graph v22.0)
Video viewspost_video_views_organic + paid — only on video posts
ImpressionsXMeta dropped post-level impressions in Graph v22.0 — use Page Insights tab for Page-level
ReachXMeta dropped post-level reach in Graph v22.0 — use Page Insights tab for Page-level
SavesXNot exposed by Meta for Facebook Pages

Inbox

Once the Page is connected, comments on Page posts and Messenger DMs are routed into UniPost inbox.

SurfaceSupportNotes
Comments on Page postsSource fb_comment
Messenger DMsSource fb_dm
Reply from UniPostOne reply per item supported

Connection modes

Pick the setup that matches how the account is owned. Quickstart is fastest when you publish to your own accounts; White-label is required when your customers bring their own accounts through a branded flow. Full setup details in Quickstart and White-label.

ModeBest forApp / credentialsAvailability
QuickstartFast setup — UniPost handles OAuthUniPost-managed appFree / paid quota
White-labelYour customers connect their own accountsYour OAuth appPaid plans only

White-label requirement: the connected account must be a Facebook Page you manage. Your Meta app must pass app review before public use.

Validation errors

CodeWhat it means
post_body_requiredPost must include text, link, or media
mixed_media_unsupportedFacebook v1 accepts one photo or one video per post
link_with_media_unsupportedLink and media cannot be combined in the same post
invalid_facebook_media_typemediaType must be feed or reel
facebook_reels_unsupportedReels publishing requires FEATURE_FACEBOOK_REELS to be enabled

Next steps