Repository-verified August 14, 2026 · Live account tests still required
SchedulePost platform capability matrix
SchedulePost contains direct-publishing implementations for six named networks, but adapter presence is not the same as a successful live publish. Platform approval, account type, permissions, tokens, media constraints, and API changes can still prevent a post. This matrix exposes that distinction.
| Network | Connection route | Publisher implementation | Automated test evidence | Fresh live publish |
|---|---|---|---|---|
| Implemented OAuth callback | Image/video publishing path | Dedicated publisher tests present | Needs account test | |
| TikTok | Implemented OAuth callback | Video and photo direct-post/status polling paths | Dedicated publisher tests present | Needs account test |
| YouTube | Implemented OAuth callback | Video upload path with privacy fields | Dedicated publisher tests present | Needs account test |
| Implemented OAuth callback | Publishing path present | No dedicated publisher test found in this audit | Needs account test | |
| Threads | Implemented OAuth callback | Publishing path present | No dedicated publisher test found in this audit | Needs account test |
| X | Connection handled outside the five callback files | Media publishing path present | No dedicated publisher test found in this audit | Needs account test |
Network × post-type contract
“Implemented” below means automated direct-publishing code exists; it does not mean a fresh production account accepted the post. SchedulePost does not substitute reminder-only notifications for any row.
| Network | Text only | One video | One image | Carousel | Repository limit | Last checked |
|---|---|---|---|---|---|---|
| Unsupported | Implemented as Reel | Implemented | Implemented: images or videos | 20 items | 2026-08-14 | |
| TikTok | Unsupported | Implemented: direct post or draft upload | Implemented as photo post | Implemented: images only | 1 video or 35 images; no mixed carousel | 2026-08-14 |
| YouTube | Unsupported | Implemented | Unsupported | Unsupported | Exactly 1 video | 2026-08-14 |
| Implemented | Implemented as Reel | Implemented | Implemented: images only | 10 images | 2026-08-14 | |
| Threads | Implemented | Implemented | Implemented | Implemented: images and/or videos | 20 media items; 500-character text slice | 2026-08-14 |
| X | Implemented | Implemented | Implemented | Implemented: images only | 1 video or 4 images; 512 MB media ceiling | 2026-08-14 |
Evidence paths: src/server/publish/index.ts, the six adapters under src/server/publish/ and src/server/x-api.ts, plus src/components/post-composer/mediaConstraints.ts. YouTube, TikTok, and Instagram publisher behavior has dedicated adapter tests; other rows are implementation-inspected and remain live-test gated.
What “supported” means here
- Implemented: the repository routes a connected account to network-specific publishing code.
- Automated evidence: repository tests exercise a publisher without proving the external platform accepted a production post today.
- Live verified: an authorized account published a test asset, returned a durable post URL/ID, and the result was checked on the network. No network is marked live verified in this report because that account-gated run was not performed.
Failure, retry, and media behavior
The repository tracks published, partial, and failed final states; records per-platform results; supports retry from sent-post history; and includes a publishing heartbeat/reaper path for interrupted jobs. Media validation has network-specific branches for TikTok, YouTube, Instagram, and Facebook. These controls reduce silent failure but do not guarantee delivery.
Account, upload, and plan boundaries
- A SchedulePost account and an authorized platform connection are required. Network-specific account eligibility, app review, scopes, and channel permissions still apply.
- Direct upload accepts video or image MIME types and enforces a 512 MB service upload ceiling. The composer accepts MP4, MOV, WebM, JPEG, PNG, and WebP; its safe video baseline is MP4 with H.264 video and AAC audio.
- Videos must be at least 360 × 360 pixels and one second long. The composer warns about aspect ratio and short-form classification; TikTok's creator-info response can impose a lower account-specific maximum duration and block publishing.
- Batch scheduling is limited in code to 50 items. No paid tier, universal connected-account quota, or retention promise was found in the audited public contract, so this page does not invent one.
- SchedulePost sends direct API publication requests. Notifications report results or failures; they are not a reminder-only fallback publishing mode.
Live verification protocol
- Connect one authorized test account per network and record account/profile type and granted scopes.
- Publish the same rights-cleared vertical MP4 with a unique caption and no optional network-only features.
- Record queued time, API response, returned post ID/URL, visible publication time, and any transformation.
- Repeat as a scheduled post, then force one recoverable failure to confirm error and retry behavior.
- Date each successful row; downgrade it when scopes, API versions, or implementation change.
Buffer comparison boundary
Buffer's official pricing page currently says its Free plan allows three channels and ten scheduled posts per channel, and that some Instagram, TikTok, and YouTube workflows may use reminder notifications. SchedulePost should only claim an advantage after its own six-network live test passes. See Buffer's current pricing and capability table.
Corrections
This is an implementation audit, not a platform endorsement. Send a reproducible correction to hello@fulinlabs.com. Open SchedulePost or read the product overview.