A thread is a post followed by replies from the same account, read as one piece. Three of Preflight's twelve networks take one through their APIs: Bluesky, Mastodon and Threads. The others take a single post, and a thread sent to them is cut to its first part. This page covers how to write a thread for each of the three, how each counts its parts, and what happens when a part fails.
The three that take a thread
| Network | Limit per part | How a part is counted | Media on a part |
|---|---|---|---|
| Bluesky | 300 graphemes | Graphemes: a flag or a family emoji is one | Up to 4 pictures or one video |
| Mastodon | 500 by default, set by the instance | Graphemes; a link is 23 | Up to 4 files by default |
| Threads | 500 characters | Emoji counted as UTF-8 bytes, up to 4 each | Up to 20 pictures in a carousel |
Each part is its own post and is counted on its own: a long thought is not one counter divided across the parts. The limit pages for Bluesky, Mastodon and Threads give the details.
Writing a thread
- Write the first post so it stands alone. On all three, the first post is what appears in the feed; the replies are reached by tapping in.
- Number the parts if the order matters. Nothing numbers them for you.
- Keep each part under the shortest limit. To send the same thread to Bluesky and Mastodon, write for 300 graphemes. A part that fits Mastodon's 500 fails on Bluesky.
- Check emoji on Threads. An emoji costs up to four there, so a part of 480 characters with a row of emoji can be over 500.
In Preflight a thread is written one part per box, each part counted for each network on its own. Over the API it is the thread option on a target: the rest of the thread, each entry posted as a reply to the one before. A network without threads gets only the first post, and the dry run says so.
If a part fails
A thread is several requests, and any one after the first can fail with the first already live. A retry that started from the top would put the opening post out twice. Preflight reports each part as it goes, and the next attempt carries on from the last part that made it: the first post is not sent again, and the replies continue under the last one that arrived. The post shows that it went out but the thread stopped at part N of M, with the reason.
What each network does with replies
- Bluesky: replies are posts that point at the root and their parent; a long thread has no length cap found in the schema.
- Mastodon: the thread is sent as replies in order. A post can be edited afterwards without losing its replies.
- Threads: replies are posted in order under the first post. Threads allows 250 API posts and 1,000 replies in 24 hours per account.
The other networks
For LinkedIn, Facebook, Instagram, Pinterest, TikTok, YouTube, Telegram, Discord and Tumblr, put the whole text into one post, and use a link where the rest lives. Cross-posting the same text to Threads and Bluesky is covered in the cross-post guide.
Threads on every plan
Threads on those three networks are included on every plan, the free one included, and over the API.
Facts read from Preflight's thread sender and capability sheet on 30 October 2026.
Questions people ask
- Which networks support threads through the API?
- Bluesky, Mastodon and Threads. Other networks take a single post, and a thread sent to them is cut to the first part.
- How long can each part of a thread be?
- 300 graphemes on Bluesky, 500 on Mastodon by default (the instance decides), and 500 characters on Threads with emoji counted by their bytes.
- What happens if one part of a thread fails to post?
- The first post stays live, and the next attempt continues from the last part that went out. The opening post is not published twice.
- How do I write a thread for Bluesky and Mastodon together?
- Write every part to the smaller limit, 300 graphemes. A part that fits Mastodon's 500 can be too long for Bluesky.
- Can I schedule a thread over the API?
- Yes. Put the rest of the thread in the thread option of the target, as a list of texts, each posted as a reply to the one before.