OmniSocialsOmniSocials
DocumentationAPI reference
Help centerSupport
  • Documentation
  • API reference
Developers
  • Quickstart
  • API reference
  • SDKs
  • MCP server
  • CLI
For AI agents
  • Docs for AI agents
  • llms.txt
  • OpenAPI spec
  • Postman collection
Product
  • OmniSocials
  • Pricing
  • Changelog
  • Help center
Company
  • Support
  • Privacy policy
  • Terms of service

© 2026 OmniSocials

OmniSocials on GitHubOmniSocials on XOmniSocials on LinkedIn
Overview
Get started
SDKs
CLI
MCPDocs for AI agentsWebhooks
Guides
Platforms
    OverviewKnown issuesFacebookInstagramThreadsLinkedInYouTubeTikTokPinterestBlueskyMastodonX (Twitter)Google BusinessTelegramDiscord
Integrations
Migrate
Plans and billing
GlossaryChangelogAPI reference
Platforms

Facebook API: posting reference

Facebook is supported via the Facebook Graph API. OmniSocials posts to Facebook Pages (not personal profiles or Groups). The Facebook Page must be administered by the user who connects the account, and a workspace posts to one Page: when the sign-in gives access to several Pages, you pick one right after connecting.

For an overview and use cases, see Facebook API.

Channel ID: facebook

Supported content types

TypeSupportedNotes
Feed post✅Text with photos, one video, or a link preview (not mixed)
Story✅Image or video, no caption. Up to 10 slides per post, each published as its own story in order
Reel✅Vertical video

Minimal example

TerminalTerminal
curl -X POST https://api.omnisocials.com/v1/posts/create \ -H "Authorization: Bearer $OMNISOCIALS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "content": { "default": "Weekly update from the team" }, "accounts": ["your-facebook-page-id"] }'

Unlike Instagram, Facebook accepts text-only posts with no media.

Platform-specific options

Set these under the facebook key on the post body:

FieldTypeDescription
facebook.first_commentstringText auto-posted as the first comment right after the post publishes (max 8000 characters). Feed posts and reels; not posted for stories.
facebook.thumbnail_typestringVideo thumbnail for feed videos and reels: from-video or from-library. The top-level video_cover does the same for every platform at once.
facebook.thumb_offsetnumberTimestamp in milliseconds, used when thumbnail_type is from-video.
facebook.cover_urlstringURL of a custom cover image (JPEG or PNG, max 10 MB), used when thumbnail_type is from-library.

Facebook has no required option fields. Aside from the optional first comment and thumbnail, the default create-post body is sufficient for most use cases.

The thumbnail is set right after the video is live (POST /{video_id}/thumbnails). If Facebook refuses it, the post still publishes with the default frame and the refusal is logged.

Media requirements

MediaRequirement
ImageJPEG, PNG, GIF, or WebP (WebP is transcoded to JPEG at post time). Max 10 MB.
VideoMP4 or MOV, up to 240 minutes, max 1 GB
Story imageJPEG or PNG, 9:16 recommended
Story videoMP4, up to 60 seconds per slide (OmniSocials' cap)
Reel videoMP4, vertical 9:16, up to 240 minutes (same as a feed video; Facebook removed the 90 second Reel limit)
Multiple photos2 or more images in one feed post

Facebook does not support mixing images and video in the same post: attach images only, or a single video. Mixed media returns a 400 validation_error at create/schedule time.

Alt text. Per-media alt entries are accepted but not delivered; the platform's API does not support alt text on third-party posts. It is safe to send the same media objects you use for other platforms.

Character limit

63,206 characters per post. In practice you will never hit it; write for readers, not the cap.

Comment-to-DM automations

A Facebook Page post can send a private message to everyone who comments a keyword on it, once per person, with an optional public reply under the comment. The message lands in the person's Messenger. The same automation can also listen to a keyword in a Messenger message to the Page. Facebook has no story replies, so the story_reply trigger is Instagram only.

Meta's rules are the same as on Instagram: one private reply per comment, within 7 days of the comment, and a follow-up only after the person answers (24-hour window). OmniSocials sends at most 180 DMs an hour per Page.

Attach one at create time with comment_dm_automation and platforms: ["facebook"] (or ["instagram", "facebook"] for a post that goes to both), or manage them with the Automations endpoints and platform: "facebook". For a post published on the Page outside OmniSocials, pass its id as facebook_post_id. In the activity log a person shows by name, since Facebook has no @handle.

JSON
{ "content": { "default": "Want the free guide? Comment GUIDE below" }, "accounts": ["your-facebook-page-id"], "comment_dm_automation": { "platforms": ["facebook"], "trigger": { "keywords": ["guide"] }, "actions": { "dm": { "text": "Here is the guide: https://example.com/guide" }, "public_reply": { "enabled": true, "variations": ["Sent you a message!"] } } } }

Limitations

  • Personal Facebook profiles (not Pages) are not supported
  • Posts to Groups are not currently supported
  • One Facebook Page per workspace
  • Link previews are generated automatically from the first URL in the post content when no media is attached. Once Facebook has drawn the preview card, OmniSocials removes the URL from the post text; when Facebook draws no card, the URL stays in the text
  • Mentioning another Page is possible in the OmniSocials composer only, not through the API
  • Facebook reports no reach for posts; see Analytics for the metrics that are collected
  • Facebook's API does not guarantee delivery timing for scheduled posts. Expect publish times within a few minutes of the scheduled time.
Last modified on October 21, 2026
Known issuesInstagram
On this page
  • Supported content types
  • Minimal example
  • Platform-specific options
  • Media requirements
  • Character limit
  • Comment-to-DM automations
  • Limitations
JSON