POST /v1/social/posts call fans a post out to any combination of them — you reference connected accounts by account_ids and list the target platforms.
At a glance
| Platform | Publish | Analytics | Comments | Direct messages | Headless connect |
|---|---|---|---|---|---|
| X (Twitter) | |||||
| YouTube | |||||
| TikTok | |||||
| Threads | |||||
| Bluesky | |||||
| ¹ | |||||
| Snapchat | |||||
| Tumblr | |||||
| Google Business | ² |
supported · not available through the API.
¹ Pinterest comments support fetch + reply, but not hide or delete.
² Google Business per-post analytics were deprecated by Google; location-level metrics aren’t exposed here.
¹ Pinterest comments support fetch + reply, but not hide or delete.
² Google Business per-post analytics were deprecated by Google; location-level metrics aren’t exposed here.
- Headless connect lets you connect a new account from your own UI via
POST /v1/social/connect/{platform}— supported on all platforms above. PollGET /v1/social/connect/{state_token}to learn when the user finished. You can still connect from the Developer Dashboard. See Connecting accounts. - Direct messages are actively synced for Facebook, Instagram, and X. Meta platforms enforce a 24-hour reply window — you can only message a user within 24 hours of their last message.
Platform details
Every platform has its own page in the sidebar — pick one for its caption limit, post types, capabilities, connect method, and token notes.Media
Attach media to a post withmedia_urls (publicly reachable HTTPS URLs), or upload to SmartlyQ storage first via POST /v1/media/upload-url.
Formats — images jpg · jpeg · png · gif · webp; video mp4 · mov · m4v · webm.
Per-platform media rules
Each platform enforces its own limits on how many items you can attach, whether images and video can be mixed, and file size / duration. SmartlyQ validates these before publishing where it can, so you get an actionable error up front instead of a downstream failure.| Platform | Images | Videos | Mix image + video | Size / duration |
|---|---|---|---|---|
| X (Twitter) | up to 4 | 1 | No | Image ≤ 5 MB · GIF ≤ 15 MB · video ≤ 100 MB, ≤ 140 s |
| up to 10 | 1 | No | — | |
| up to 10 (carousel) | 1 | — | Requires media · feed ratio 0.8–1.91 · oversize auto-compressed | |
| up to 20 | 1 | — | Single video per post | |
| TikTok | up to 35¹ | 1 | — | Photo carousels are JPEG / WebP only |
| Bluesky | up to 4 | 1 | — | Images over ~1 MB auto-recompressed |
| Snapchat | 1 item | 1 item | — | Image ≤ 20 MB · video ≤ 500 MB, 5–60 s · 9:16 |
| Google Business | 1 | — | — | Single image; video not supported |
| YouTube | — | 1 | — | Videos ≤ 3 min publish as Shorts |
| Threads · Pinterest · Reddit · Tumblr | per post | per post | — | Standard platform limits |
¹ TikTok photo carousels accept up to 35 images and must be JPEG or WebP (PNG/GIF are rejected). A single video post is unaffected.
- Instagram requires media — a text-only post will be rejected.
- Stories / Reels / Shorts and carousels are detected automatically from the media you attach (see each platform above).
- Aspect ratio is advisory: media well outside a platform’s supported range (e.g. a banner on an Instagram feed post) returns a non-blocking
warningsentry on the create response rather than failing the post.
Keeping accounts healthy
Token lifetimes vary widely — SmartlyQ refreshes them for you. Check any account’s status withGET /v1/social/accounts/{id}/health, and if one turns unhealthy, send the user through its reconnect URL.
