Overview

Schedule and automate Bluesky posts with text, images, video, threads, quotes, and link cards with App Password authentication.

Schedule and automate Bluesky posts with text, images, video, threads, quotes, and link cards with App Password authentication.

Quick Reference

PropertyValue
Character limit300 (hard limit, graphemes)
Images per post4
Videos per post1
Image formatsJPEG, PNG, WebP, GIF
Image max size2 MB per image
Video formatMP4 only
Video max size100 MB
Post typesText, Image, Video, Thread
SchedulingYes, with IANA timezone
InboxYes (text only)
CommentsYes
AnalyticsLimited (likes, comments, reposts, quotes, bookmarks)

Before You Start

Bluesky has a hard 300 character limit per post. This is the #1 cause of failed posts. If you are cross-posting from other platforms, pass a shorter Bluesky-specific version as per-destination text (see Platform Settings).

Additional requirements:

  • Uses App Passwords, not OAuth. Create one in Bluesky Settings → App Passwords
  • The 300 character limit applies to every post and each thread segment
  • Images are limited to 2 MB per image
  • Video is limited to 100 MB, MP4 only, max 60 seconds

Connect

Bluesky uses App Passwords instead of OAuth.

Open Dashboard → Connections and click Bluesky.
Enter your handle (e.g. alice.bsky.social or email). Custom domain handles work too.
Create an App Password at Bluesky → Settings → Privacy and Security → App Passwords.
Click Connect.

For programmatic connects see Connection → Bluesky.

If you later get a TOKEN_INVALID error, create a new App Password and reconnect.

Authentication

DetailValue
MethodHandle + App Password (AT Protocol session)
Session token~2 hours, refreshed automatically by Onepostly
Refresh tokenManaged automatically. Reconnect after revoking the App Password

Rich Text

Onepostly auto-detects and converts text to AT Protocol facets. No special formatting is needed:

  • @handle.bsky.social becomes a clickable profile link
  • #hashtag becomes a clickable hashtag
  • URLs become clickable links with preview cards

Capabilities

ActionSupportedNotes
Text-only postYesMax 300 characters (graphemes)
Image postYesUp to 4 images, 2 MB each
Video postYesSingle MP4 up to 100 MB
Thread (reply chain)YesRoot post plus 1 to 25 replies via threadItems with per-reply media up to 4 images or one video
QuoteYesQuote another Bluesky post via quoteTweetId
Link cardYesAdd a link to show a preview
Reply to postYesVia replyToId with an at:// URI
ScheduleYesCancel any time before it publishes
Remote deleteYesDeletes the post record
CommentsYesList, create, delete
Like / unlikeYesVia engagement endpoints
Repost / unrepostYesVia engagement endpoints
Bookmark / unbookmarkYesVia engagement endpoints
AnalyticsLimitedLikes, replies, reposts, quotes, bookmarks
Account statsYesFollowers, following, post count

What You Can't Do

These features are not available through Bluesky's API:

  • Create lists, starter packs, or custom feeds
  • Pin posts to profile
  • Add content warnings or labels
  • Send message attachments (Bluesky's Chat API does not support media)
  • See impressions, reach, or view counts

Known limitations

  • Text is limited to 300 characters per post or thread segment, counted in graphemes (emoji count as one)
  • Media URLs must be publicly accessible HTTPS links
  • No impressions, reach, or plays. Only interaction counts

See also