X / Twitter
Schedule X posts and threads. Counted the way X counts, not the way strings count.
X is the platform where a naive character counter is most obviously wrong, and the one with a real cost per post behind it. Both of those shape how Postonus handles it: URLs are charged the flat rate X charges, and X carries its own cap on every plan.
Threads supported. Connect with OAuth.
The two X-specific things
URLs cost a flat rate. X charges 23 characters for any link, however long it is. Counting by string length punishes you for a long URL that X does not actually charge you for, which means you self-censor a post that would have fit. The counter here charges 23.
X costs real money to publish to. X's API is billed, at roughly a dollar per hundred posts on the tier we use. Nearly every other platform is free or close to it.
That second fact is why X has its own monthly cap on every plan, separate from the general per-platform allowance: 100 posts on Hobby, 500 on Pro, 2,000 on Business. It is not a tactic to push upgrades. It is the one platform where volume has a direct cost, and metering it is what keeps the rest of the pricing simple.
Threads on X
A long piece can be published as a thread rather than a single post, with the segments scheduled as one unit. That matters for reliability as much as convenience: a thread posted by hand can be interrupted halfway, leaving a first post with no follow-up.
X does not support a first comment. If you are keeping a link out of the main post, the equivalent on X is a reply in the thread.
Connecting
Standard OAuth through X. Postonus never sees your password, and the token is encrypted at rest. If the grant is revoked at X's end, the channel shows as expired with a reconnect button and any queued posts are held rather than failed — see the queue.
Found this useful? Pass it on.
Limits
What X / Twitter allows in one post. The composer enforces these while you type.
- Characters per post
- 280
- Media per post
- 4
- Media types
- image, gif, video
- First comment
- Not supported by the platform
Read from the same rules the composer and the publish workers use, so this table cannot drift from what actually publishes.
Questions
Frequently asked questions Everything the first evaluation usually needs.
- Can I schedule threads, not just single posts?
Yes. A long piece can be split into a sequence and published as a thread, with the segments scheduled together rather than posted by hand one after another.
- Why is X capped more tightly than other platforms?
Because X charges for API access — roughly a dollar per hundred posts on the tier we use. Every plan therefore has an X-specific monthly cap (100 on Hobby, 500 on Pro, 2,000 on Business) separate from its general allowance, which keeps the price predictable for everyone.
- How are links counted against the limit?
At a flat 23 characters, which is what X charges regardless of the URL length. A 90-character link costs 23, so the counter shows you more room than a plain character count would.
- Does the counter handle emoji correctly?
Yes. Counting is done in the units X actually charges rather than by string length, so an emoji does not eat several characters of your budget.
- Can I put a link in the first comment instead?
Not on X — it has no first-comment concept. That workaround applies to Instagram, Facebook, LinkedIn, and Threads. On X, put the link in a thread reply.
Keep reading
- Multi-platform publishingWrite once and publish to 16 platforms, with per-channel overrides where the platforms differ. Limits are enforced as you type, from the rules workers use.Read
- Bluesky schedulerSchedule Bluesky posts with grapheme-accurate counting against the 300-character limit, connected with an app password instead of an OAuth hop.Read
- Posting timesRecommended posting windows per platform, weighted by strength and resolved in your time zone. Drop a post into the next good slot from the composer or CLI.Read