Platform matrix
| Platform | Key | Main credentials | Text limit | Media | Notes |
|---|---|---|---|---|---|
| X | x | OAuth 2.0 client ID + access/refresh token | 280 (25,000 with X Premium) | ≤ 4 images or 1 video | Refresh tokens rotate; X API access is paid by X. |
| Telegram | telegram | Bot token + chat ID | 4096 (1024 caption) | 1 image or 1 video | No TELEGRAM_CHAT_ID env var; pass chatId in options. |
instagram | Page token + IG business account ID | 2200 caption | 1–10 images/videos | Media required. Public URLs required. | |
facebook | Page access token + Page ID | 63,206 | 10 images or 1 video, no mix | Pages only. publishAt for native scheduling. | |
| Threads | threads | Access token + user ID | 500 | 1 image or 1 video | replyToId for thread replies. |
| TikTok | tiktok | Access token | 2200 video / 90 photo | 1 video (≤ 4 GB) or 1 photo (≤ 50 MB) | App review status affects public publishing. |
| YouTube | youtube | Google OAuth client + refresh token | 100 title / 5000 description | 1 video | Env-only setup needs the refresh-token variant. Google quotas apply. |
pinterest | Access token + board ID | 100 title / 500 description | 1 image or 1 video | Board ID is required. | |
linkedin | Access token + member/page ID | 3000 | ≤ 9 images or 1 video, no mix | visibility PUBLIC or CONNECTIONS. | |
| Bluesky | bluesky | App password or OAuth tokens | 300 | ≤ 4 images | DPoP-bound OAuth; bundled OAuth client available. |
Scheduler daily limits
These are Scheduler guardrails configured in the app:
| Platform | Posts per 24 hours |
|---|---|
| X | 50 |
| YouTube | 2 |
| 10 | |
| 10 | |
| Telegram | 50 |
| TikTok | 5 |
| Bluesky | 50 |
| Threads | 25 |
| 5 | |
| 50 |
The social platforms can still apply stricter API, account, app-review, quota, or moderation limits.