Bluesky
Everything you need to schedule posts on Bluesky: what you can do natively, text limits, image and video sizes, the schedulers that support it, and recent API changes.
Can you schedule natively?
NoBluesky documents no built-in scheduling. Its own blog points to Buffer for scheduling, and its API has no publish-later option.
Step-by-step guideText limits
| Field | Limit | How it counts |
|---|---|---|
| post | 300 characters | As written. Source |
Image and video sizes
Only what Bluesky documents. "Not stated" means the platform doesn't publish that figure; we don't fill gaps from blogs. Ads specs are marked, because they can differ from normal posts.
-
Image
- Size
- Not stated
- Ratio
- Not stated
- Files
- image/*
- Limits
- 2 MB max · up to 4 items
Details and sources
Official AT Protocol lexicon app.bsky.embed.images (in Bluesky's @atproto/api 0.29.4): up to 4 images per post, each blob up to 2,000,000 bytes (2 MB, formerly 1 MB), any image MIME type, optional aspectRatio field, alt text required in the schema. No recommended pixel size published. docs.bsky.app now redirects to an empty page, so the lexicon was read from the published npm package.
-
Video
- Size
- Not stated
- Ratio
- Not stated
- Files
- MP4
- Limits
- 300 MB max · 10 min max · up to 1 items
Details and sources
Lexicon app.bsky.embed.video: MP4 blob up to 300,000,000 bytes (300 MB, formerly 100 MB), up to 20 VTT caption files of 20 KB each. Official @bsky.app post (via search extract) says videos can be up to 10 minutes; earlier limits were 60 s (2024 launch) and 3 min. Launch blog: one video per post, daily cap 25 videos or 10 GB (may change); the app accepted .mp4, .mpeg, .webm and .mov at launch. Read from a search extract of the official page, which did not load directly.
How tools publish to Bluesky
What each tool's own pages state about Bluesky: 17 auto-publish. A blank cell means the pages do not say.
| Tool | Publishing | Post types | 1st comment | Limits and requirements |
|---|---|---|---|---|
| Agorapulse | textimagevideolink | Max 4 images or 1 video, 300 characters; no mixing video and images; no threads | ||
| Apaya | Needs: Listed as integration; publishing not confirmed on pages read | |||
| Ayrshare | Auto-publish | Needs: Post analytics listed; account analytics not listed | ||
| Blotato | Auto-publish | textthread | No | Up to 4 images or 1 video per post Needs: 1 to 2 weeks warm-up before connecting |
| Buffer | Auto-publish | Daily limit 100 | ||
| ContentStudio | ||||
| CoSchedule | Multi-post threads not possible | |||
| Fedica | Auto-publish | textthreadvideo | Free plan holds 10 active scheduled posts at a time Needs: Video posts need a paid plan | |
| GoHighLevel Social Planner | No follower metrics or demographics in statistics | |||
| Hookle | Needs: Support added in version 4.1.0 | |||
| Hootsuite | Auto-publish | textimagegifvideo | Captions up to 300 characters, up to four images, one GIF or one video; FAQ network list omits Bluesky | |
| Hypefury | textthread | Needs: Listed as supported on the pricing page; Full plan can import Bluesky lists | ||
| Jetpack Social | Auto-publish | |||
| MeetEdgar | textimagevideoGIF | 300 characters including links; up to 4 images or 1 video or 1 GIF, not mixed Needs: Connect with handle and an active App Password | ||
| Metricool | textimagevideogifthread | No | 300 chars; up to 4 images; no polls or quote posts via API | |
| Missinglettr | campaign post | Images may look blurry (help article exists); character limit not stated Needs: Connect with Bluesky handle and an app password | ||
| Mixpost | post | |||
| Ocoya | textimagethread | 300 per post, 5,000 total; 4 images up to 2 MB; no video | ||
| OneUp | thread | |||
| Onlypult | textimage | Image alt text up to 2,000 characters | ||
| Outstand | Auto-publish | Needs: Handle and app password, no OAuth | ||
| Planly | Needs: Labelled new on homepage | |||
| Post Bridge | ||||
| Post Planner | Needs: Listed on homepage; not in connect page FAQ | |||
| Postly | video (email verification needed) | Yes | Replies: text, up to 4 images or one video | |
| Postmypost | Daily publication limit 200 | |||
| PostSyncer | thread | |||
| PostyBirb | quote post | Release notes: image file size limits enforced (4.1.3); video size limit raised (4.0.47) | ||
| Publer | textthreadlinkphoto up to 4videorepost | Yes | 300 chars per post; up to 25 posts per thread; photos 1 MB (larger compressed); video up to 3 min and under 100 MB; no GIFs Needs: Email must be verified to post videos | |
| Quuu | Auto-publish | |||
| RecurPost | post | |||
| Schedchie | Auto-publish | textimagevideo | ||
| Sendible | textimagevideo | Caption max 300 characters and required; up to 4 images (JPEG or PNG, 1MB each); one video (MP4 or MOV, 50MB, 60 seconds); no mixed media, no PDFs; GIFs uploaded as video; video not supported in bulk import Needs: Connect with username and an app password generated in Bluesky settings | ||
| Sky Scheduler | Auto-publish | textimagelink embedquote postthreadmentionstagsrepost | Threads up to 10 child posts; media supports content labels and alt text; size limits not stated Needs: Works with most ATProto PDS instances | |
| SocialBee | No | Direct publishing; no native first comment | ||
| SocialPilot | textimagevideo | 300 chars per post | ||
| Sprout Social | Bluesky listed in analytics networks and calendar networks | |||
| Swat.io | Mixed | textlinkphotovideo | ||
| TimeToPost | Auto-publish | textlinkup to 4 images | No video, threads or analytics Needs: OAuth via handle; Bluesky-hosted accounts only | |
| TryPost | Auto-publish | |||
| Typefully | Auto-publish | postquote postimageGIFvideo | Bluesky caps images at 1 MB so larger uploads are compressed; video up to 100 MB, max 6000x6000 Needs: Connects through Bluesky sign-in without app password; custom PDS supported (changelog); available to free and paid users (2024-11-21) | |
| Upload-Post | Auto-publish | textimagevideoauto-thread | Auto-threads past 300 characters | |
| Viraly | Auto-publish | textimagevideocarousel | ||
| Vista Social | Auto-publish | textlinkimage (up to four)gif (one)video (one) | Yes | 300 characters; multi-video posts, tagging and call-to-action buttons not supported; planned comments publish automatically after the post and a first like can be added |
| Zernio (formerly Late) | Auto-publish |
Schedulers that publish to Bluesky
60 of the tools we track list Bluesky publishing. Cheapest first.
| Tool | From | Free plan |
|---|---|---|
| Postly | $3.20 / channel / mo | No |
| Hookle | $3.99 / mo | Yes |
| Publer | $4 / account / mo | Yes |
| Social Champ | $4 / account / mo | Yes |
| Buffer | $5 / channel / mo | Yes |
| Hypefury | $5 / channel / mo | No |
| RecurPost | $7.50 / mo | No |
| Typefully | $8.25 / mo | Yes |
| Post Planner | $9 / mo | Yes |
| PostEverywhere | $9 / mo | No |
| TimeToPost | $9.60 / mo | No |
| Zoho Social | $10 / mo | Yes |
| Planly | $10 / mo | No |
| Missinglettr | $12 / mo | No |
| ContentStudio | $15 / mo | No |
| OneUp | $15 / mo | No |
| Postpone | $16 / mo | Yes |
| Upload-Post | $16 / mo | Yes |
| Quuu | $16.49 / mo | No |
| Onlypult | $17.50 / mo | No |
| TryPost | $19 / mo | No |
| Outstand | $19 / mo | No |
| Viraly | $19 / mo | Yes |
| Metricool | $20 / mo | Yes |
| Pallyy | $20 / mo | Yes |
| Mixpost | $20.75 / mo | Yes |
| SocialBu | $22 / mo | Yes |
| Postiz | $23 / mo | No |
| Heropost | $23 / mo | No |
| PostSyncer | $24 / mo | No |
| SocialBee | $24.17 / mo | No |
| MeetEdgar | $24.91 / mo | No |
| SocialPilot | $25.50 / mo | No |
| Blotato | $29 / mo | No |
| Ocoya | $29 / mo | No |
| SocialRails | $29 / mo | No |
| CoSchedule | $29 / mo | Yes |
| Sendible | $29.75 / mo | No |
| Post Bridge | $39 / mo | No |
| Statusbrew | $49 / mo | No |
| Apaya | $55 / mo | No |
| Sprout Social | $79 / user / mo | No |
| Agorapulse | $79 / user / mo | Yes |
| Vista Social | $79.17 / mo | No |
| GoHighLevel Social Planner | $80.83 / mo | No |
| Hootsuite | $99 / user / mo | No |
| Ayrshare | $149 / mo | No |
| Swat.io | Not published | No |
| Circleboom | Not published | Yes |
| FS Poster | Not published | No |
| PostyBirb | Not published | Yes |
| Blog2Social | Not published | Yes |
| Jetpack Social | Not published | Yes |
| Schedchie | Not published | No |
| Zernio (formerly Late) | Not published | Yes |
| Fedica | Not published | No |
| Hopper HQ | Not published | No |
| Swello | Not published | Yes |
| Postmypost | Not published | No |
| Sky Scheduler | Not published | Yes |
Bluesky API changes
Full changelog- Policy Bluesky Announced 1 Sept 2026Bluesky adds a setting to hide posts from algorithmic recommendations
Posts from users who enable the setting should stay out of algorithmic feeds, which can reduce their reach in recommendation surfaces.
- New feature Bluesky Announced 20 Aug 2026AT Protocol Spaces alpha opens for non-public data
Developers can experiment with gated, non-public data on the AT Protocol, but must not use it in production.
- New feature Bluesky Announced 13 Aug 2026 Effective 13 Aug 2026Jetstream v2 with network replay and new protocol services docs
Developers who need historical events can use Jetstream v2 replay with an API token, while existing Jetstream v1 and @atproto/api code keeps working for now.
- Breaking Bluesky Announced 24 Jan 2026 Effective 27 Jan 2026bsky.network firehose moves to a new relay
Firehose consumers must auto-reconnect and deduplicate events by rev, because the cursor jumps forward and some events repeat.
- Version Bluesky Announced 12 Jun 2025AT Protocol OAuth adds email scope, plans longer sessions, fixes client bugs
OAuth clients get a transition:email scope, longer planned sessions, and must update libraries and DPoP handling.
- Breaking Bluesky Announced 2 May 2025Bluesky relay software supports Sync v1.1, old firehose message types removed
Firehose consumers must stop relying on #handle, #migration and #tombstone, and expect higher sequence numbers after bsky.network switches.