Bluesky
Bluesky supports text-only posts, 1 to 10 photos, or one video, with up to 300 characters of text. Links, mentions and hashtags in the caption become clickable, and a text post with a link shows the link's card. Bluesky has no settings of its own.
Media Constraints
| Constraint | Images | Videos |
|---|---|---|
| Formats | JPEG, PNG | MP4, MOV (MP4 recommended) |
| Max file size | 2 MB | 300 MB |
| Max count per post | 10 | 1 |
| Duration | n/a | Up to 10 minutes |
| Text-only | Supported | Supported |
| Mix images + video | Not allowed | Not allowed |
Posting Behavior
Text Only
The caption on its own. When it has a link, Bluesky shows a card for the first one (the page's title, description and image), which Quegly fetches as the post is published, as the Bluesky app does when a post is written. A page that cannot be read leaves the post without a card; the link still works.
1-4 Photos
Posted as Bluesky's photo grid (app.bsky.embed.images), which every Bluesky app shows.
5-10 Photos
Posted as a gallery (app.bsky.embed.gallery), Bluesky's embed for more than 4 photos.
Photo Metadata
A photo's file stays downloadable from Bluesky, so Quegly strips each JPEG's metadata before uploading it: EXIF, XMP, IPTC and comments, which can hold where the photo was taken. Its orientation and color profile are kept.
One Video
Sent to Bluesky's video service, which processes it first. Quegly publishes the post once the video is ready, so it never goes out without it. Bluesky takes videos only from accounts with a verified email, and up to 25 a day per account.
Platform Settings
None of its own. Under platform_settings.bluesky, the one field that has an effect is the caption every platform accepts: it replaces the post's shared caption on Bluesky alone, which is how a longer cross-post gets a version that fits in 300 characters. Any other field there is ignored, without an error.
| Parameter | Type | Description |
|---|---|---|
caption | string | Bluesky's own text, in place of the post's caption. Up to 300 characters. |
Examples
{
"type": "now",
"caption": "Three room makeovers, one afternoon. The before and after photos are up: https://example.com/makeovers #interiordesign",
"account_ids": ["bluesky-account-id"]
}{
"type": "schedule",
"scheduled_at": "2026-11-02T14:00:00.000Z",
"caption": "Five room makeovers, one afternoon. Swipe through the before and after of each room, and tell us which one you would move into first. Every room was done on a weekend budget, with paint, new lighting and a few thrifted pieces. Paint colors and the full shopping list are at the link in our bio. #interiordesign #homedecor #beforeandafter",
"media_ids": ["image-id-1", "image-id-2", "image-id-3", "image-id-4", "image-id-5"],
"account_ids": ["instagram-account-id", "bluesky-account-id"],
"platform_settings": {
"bluesky": {
"caption": "Five room makeovers, one afternoon. Which one would you move into first? #interiordesign"
}
}
}Caption Rules
| Max length | 300 characters, counted the way Bluesky counts them (an emoji with its skin tone is one). Longer captions are rejected before the post is saved. Bluesky also limits a post's text to 3,000 bytes, which only a caption made mostly of emoji reaches. |
| Links and tags | Links (with or without https://), @mentions, #hashtags and $cashtags become clickable, found the way the Bluesky app finds them. Write a mention as the full handle (@alice.bsky.social); one that matches no account stays plain text. |
Connection
| Accounts | Accounts hosted by Bluesky, which is nearly every Bluesky account, connect on the Manage page through Bluesky's own sign-in page at bsky.social. An account hosted on any other server (PDS) cannot be connected. |
| Name | The account's account_username is its handle without the @, such as alice.bsky.social, and display_name its display name. Reconnecting the same account keeps its account ID. |
Analytics
Bluesky's counts are public: Quegly reads them from Bluesky's public AppView (app.bsky.feed.getPosts), with no permission needed from the account. A Bluesky post's metrics carry likes, comments (Bluesky's replies), reposts, quotes and bookmarks; Bluesky has no views, reach or watch time to give. Its post_url links to the post on bsky.app.