Platforms
Schedulala supports 12 social media platforms. This page covers authentication methods, content limits, supported post types, and platform-specific quirks you should know before integrating.
Compatibility matrix
High-level overview of every platform's key constraints.
| Platform | Auth | Text limit | Max media | Max video | Entity selection |
|---|---|---|---|---|---|
| Twitter / X | OAuth 2.0 | 280 | 4 | 2 min 20 s | None |
OAuth 2.0 (Meta) | 2,200 | 10 | 90 s | None | |
OAuth 2.0 (Meta) | 63,206 | 10 | 4 hours | Facebook Pages | |
| Threads | OAuth 2.0 (Meta) | 500 | 10 | 5 min | None |
OAuth 2.0 | 3,000 | 1 | 10 min | LinkedIn Organizations | |
| TikTok | OAuth 2.0 | 2,200 | 35 | 10 min | None |
| Bluesky | App Password | 300 | 4 | 60 s | None |
| YouTube | OAuth 2.0 (Google) | 100 (title) / 5,000 (desc) | 1 | Unlimited | YouTube Channels |
OAuth 2.0 | 100 (title) / 500 (desc) | 20 | 15 min | Pinterest Boards | |
| Mastodon | OAuth 2.0 (dashboard) | 500 | 4 | N/A | None |
| Telegram | Bot Token | 4,096 (text) / 1,024 (caption) | 10 | N/A | None |
| Google Business Profile | OAuth 2.0 (Google) | 1,500 | 1 | N/A | Business Locations |
Post type support
Which content types each platform supports.
| Platform | Text-only | Images | Video | Carousel | GIF | Reels / Shorts |
|---|---|---|---|---|---|---|
| Twitter / X | ✓ | ✓ | ✓ | — | ✓ | — |
| — | ✓ | ✓ | ✓ | — | ✓ | |
| ✓ | ✓ | ✓ | ✓ | ✓ | — | |
| Threads | ✓ | ✓ | ✓ | ✓ | — | — |
| ✓ | ✓ | ✓ | — | ✓ | — | |
| TikTok | — | ✓ | ✓ | — | — | — |
| Bluesky | ✓ | ✓ | ✓ | — | ✓ | — |
| YouTube | — | — | ✓ | — | — | ✓ |
| — | ✓ | ✓ | — | — | — | |
| Mastodon | ✓ | ✓ | ✓ | — | ✓ | — |
| Telegram | ✓ | ✓ | ✓ | — | ✓ | — |
| Google Business Profile | ✓ | ✓ | — | — | — | — |
Authentication methods
Platforms are connected via three methods. See the Connecting Accounts guide for step-by-step instructions.
OAuth 2.0
Redirect-based flow. User authorizes access in the platform's UI.
TwitterInstagramFacebookThreadsLinkedInTikTokYouTubePinterestApp Password
Direct credential connection. User provides their app password.
BlueskyBot Token
Create a bot via BotFather, add it to your channel/group.
TelegramEntity selection
Some platforms require a second step after OAuth — selecting which page, organization, channel, or board to post to. When this step is needed, the OAuth callback redirect includes selectionRequired=true and a selectionToken for the entities and select endpoints.
| Platform | Entity type | Endpoint |
|---|---|---|
| Facebook Pages | GET /api/v1/connect/facebook/entities | |
| LinkedIn Organizations | GET /api/v1/connect/linkedin/entities | |
| YouTube | YouTube Channels | GET /api/v1/connect/youtube/entities |
| Pinterest Boards | GET /api/v1/connect/pinterest/entities | |
| Google Business Profile | Business Locations | GET /api/v1/connect/google-business/entities |
Platform details
Key constraints and gotchas for each platform.
Twitter / X
twitterAuth
OAuth 2.0
Text limit
280 chars
Max media
4 items
Max video
2 min 20 s
Quirks & constraints
- •4 images OR 1 video per post (not both)
- •GIFs count as video — only 1 per post
- •Minimum image size: 4×4 px
- •Video max: 512 MB, images max: 5 MB
instagramAuth
OAuth 2.0 (Meta)
Text limit
2,200 chars
Max media
10 items
Max video
90 s
Quirks & constraints
- •Media is required on every post — no text-only posts
- •Max 30 hashtags per post
- •Image aspect ratio: 4:5 to 1.91:1
- •Minimum image size: 320×320 px
- •GIFs not supported — convert to MP4
facebookAuth
OAuth 2.0 (Meta)
Text limit
63,206 chars
Max media
10 items
Max video
4 hours
Entity selection required: After connecting, call GET /api/v1/connect/facebook/entities to list available facebook pages, then POST /api/v1/connect/facebook/select to choose one.
Quirks & constraints
- •Posts go to a Page, not personal profile — you must select a Page after connecting
- •Video max: 4 GB, images max: 4 MB
- •Minimum image size: 100×100 px
Threads
threadsAuth
OAuth 2.0 (Meta)
Text limit
500 chars
Max media
10 items
Max video
5 min
Quirks & constraints
- •Video max: 1 GB — most generous for video among short-text platforms
- •Image aspect ratio: 4:5 to 1.91:1
- •Minimum image size: 320×320 px
- •GIFs not supported
linkedinAuth
OAuth 2.0
Text limit
3,000 chars
Max media
1 items
Max video
10 min
Entity selection required: After connecting, call GET /api/v1/connect/linkedin/entities to list available linkedin organizations, then POST /api/v1/connect/linkedin/select to choose one.
Quirks & constraints
- •Only 1 media item per post (no carousel)
- •Video max: 5 GB — largest among all platforms
- •Image aspect ratio: 1:2.4 to 2.4:1
- •Minimum image size: 200×200 px
TikTok
tiktokAuth
OAuth 2.0
Text limit
2,200 chars
Max media
35 items
Max video
10 min
Quirks & constraints
- •35 photos OR 1 video per post
- •Image aspect ratio: 9:16 to 1:1 (portrait-first)
- •Minimum image size: 360×360 px
- •Only JPEG and WebP images — no PNG
- •GIFs not supported
Bluesky
blueskyAuth
App Password
Text limit
300 chars
Max media
4 items
Max video
60 s
Quirks & constraints
- •Text is required on every post
- •1 MB image size limit — much smaller than other platforms
- •Video max: 100 MB
- •Connected via app password, not OAuth
YouTube
youtubeAuth
OAuth 2.0 (Google)
Text limit
100 (title) / 5,000 (desc) chars
Max media
1 items
Max video
Unlimited
Entity selection required: After connecting, call GET /api/v1/connect/youtube/entities to list available youtube channels, then POST /api/v1/connect/youtube/select to choose one.
Quirks & constraints
- •Video only — no image posts
- •Uses title + description instead of a single text field
- •Video max: 2 GB via API
- •Minimum dimensions: 426×240 px
- •Supports MP4, MOV, AVI, WebM
pinterestAuth
OAuth 2.0
Text limit
100 (title) / 500 (desc) chars
Max media
20 items
Max video
15 min
Entity selection required: After connecting, call GET /api/v1/connect/pinterest/entities to list available pinterest boards, then POST /api/v1/connect/pinterest/select to choose one.
Quirks & constraints
- •You must select a Board to pin to after connecting
- •Image aspect ratio: 1:2.1 to 2:3 — tall/portrait strongly preferred
- •Image max: 32 MB, video max: 2 GB
- •Minimum image size: 100×100 px
- •GIFs not supported
Mastodon
mastodonAuth
OAuth 2.0 (dashboard)
Text limit
500 chars
Max media
4 items
Max video
N/A
Quirks & constraints
- •Connect on the Schedulala dashboard: Mastodon OAuth is per-instance, so the API connect endpoint does not support it yet. Posting via the API works like any other platform.
- •4 images OR 1 video/GIF per post
- •Default 500-character limit (larger on some instances)
- •Image max: 16 MB, video max: ~99 MB (instance defaults)
- •Visibility, content warnings (spoilerText), sensitive flag, and language via platformSettings.mastodon
Telegram
telegramAuth
Bot Token
Text limit
4,096 (text) / 1,024 (caption) chars
Max media
10 items
Max video
N/A
Quirks & constraints
- •Connected via Bot Token — add your bot to a channel/group
- •Register channels with POST /api/v1/connect/telegram/channels; a bot with no registered channel cannot post
- •Separate limits for text messages (4,096) and media captions (1,024)
- •Only JPEG and PNG images — no WebP
- •Only MP4 video
- •Image max: 10 MB, video max: 50 MB
Google Business Profile
google-businessAuth
OAuth 2.0 (Google)
Text limit
1,500 chars
Max media
1 items
Max video
N/A
Entity selection required: After connecting, call GET /api/v1/connect/google-business/entities to list available business locations, then POST /api/v1/connect/google-business/select to choose one.
Quirks & constraints
- •Accounts are business LOCATIONS — accountId is the locationId (e.g. 'locations/456'); only locations selected in the dashboard are postable
- •Exactly 1 image per post: JPEG or PNG, min 400×300 px, max 5 MB — video not supported
- •STANDARD, EVENT, and OFFER post types plus CTA buttons via platformSettings['google-business']
- •STANDARD posts expire after ~7 days; EVENT/OFFER posts expire after their end date
- •A REJECTED state means Google's content policy declined the post
- •No post-level analytics (Google discontinued them) — GBP is absent from the analytics endpoints