Twitter/X threads
A Twitter/X variant publishes as a single tweet by default — its content is the opening tweet. To post a thread, add follow-up tweets: WriteMars publishes the opening tweet first, then each follow-up as a reply to the previous one, in order.
Compose a thread
Open the X (Twitter) tab on the post. The thread composer is a feed-style mockup with the tweets connected by a thread line:
- The first block is the opening tweet (the variant's content).
- Add tweet appends a follow-up. Each follow-up has up/down arrows to reorder and a trash button to delete.
- Images can be attached to the opening tweet or to a specific follow-up tweet.
- Tweets save when you click out of a block. Empty follow-up blocks stay editable but are not saved.
- The header shows what you're about to publish: Single tweet or Thread · N tweets.
A thread can have at most 24 follow-up tweets (25 tweets total including the opener).
Character limits
Every tweet — opener and follow-ups — is capped at the account's per-tweet limit: 280 characters on a standard account, or 25,000 on an X Premium long-form account (Premium subscribers and verified organizations). WriteMars counts the way X does — URLs weigh 23 characters, emoji and CJK characters weigh 2 — so the count can differ from a raw character count.
- The ring next to each tweet fills as you type. On a standard account it shows the remaining count once you're within 20 characters of the limit and turns red when you're over; on a long-form account it shows a running total and warns as you approach the ceiling.
- The API rejects a follow-up tweet over the limit when the thread is saved.
- All tweets are validated again right before publishing, including the opening tweet (its content field is shared across platforms, so it isn't length-capped while you draft). An empty or over-length tweet fails the publish before anything is posted.
Publishing behavior
When the variant publishes — on schedule or via Post now — WriteMars validates every tweet and uploads every image before posting the opener. Then tweets go out one by one as chained replies. The variant's published link points at the opening tweet.
If X rejects a tweet mid-thread, the variant is marked failed with an error stating how many tweets are already live and where. Delete the live tweets on X before retrying, or the start of the thread will be duplicated. See publishing failures.
Once the variant is publishing or published, the composer turns read-only — the thread can no longer be edited.
Via the API
The follow-up tweets live at …/posts/<post_id>/variants/<variant_id>/thread/: GET returns them in order; PUT replaces the entire list at once (this is also how the composer saves). The opening tweet is just the variant's content field. See the API quickstart.