Platforms
Each driver has different provider rules. LaraPost normalizes the workflow, but it does not pretend every social API has the same capabilities.
Facebook Pages
Facebook support is for Pages. OAuth syncs available Pages and preserves page-specific access tokens. Text, image URL, and video URL publishing are supported.
Twitter / X
The native X driver uses OAuth 2.0 and currently focuses on text publishing. The optional Xquik backend provides an API-key based text path for teams that already use Xquik.
Provider billing, credits, write scopes, and product access are still controlled by X.
LaraPost connects member profiles and can publish text. Programmatic image publishing expects a readable local file path because LinkedIn uses an upload flow.
TikTok
LaraPost uses TikTok's Content Posting API with TIKTOK_PUBLISH_MODE=upload by default. Video uploads go to the creator's TikTok inbox, and photo uploads use MEDIA_UPLOAD. The creator reviews and completes the post inside TikTok.
Both upload and direct modes use TikTok's PULL_FROM_URL transfer path. Media must be available over HTTPS from a domain or URL prefix verified for the TikTok developer app.
SocialMedia::post()
->content('Behind the scenes from launch day')
->video('https://media.example.com/launch.mp4')
->platform('tiktok')
->publish();
TIKTOK_PUBLISH_MODE=direct only in an application that renders current creator information, lets the creator choose privacy and interaction settings, and records explicit consent before calling LaraPost. Direct mode has no implicit privacy default.For a custom Direct Post UI, call SocialMedia::driver('tiktok')->creatorInfo($account) before rendering the creator choices, then pass the selected values in metadata.tiktok. Changing between upload and direct mode changes the OAuth scope, so reconnect TikTok accounts after switching modes.
Custom drivers
You can replace or add a platform driver at runtime without editing LaraPost:
use SocialSync\Facades\SocialMedia;
SocialMedia::extend('mastodon', App\Social\MastodonDriver::class);