Limits
| Character limit | 280 weighted characters for standard accounts. Most CJK characters and many emoji count as 2. Premium accounts can post longer, but SocialHandoff checks against 280. |
|---|---|
| Links | Every URL is wrapped by t.co and counts as 23 characters, whatever its real length. |
| Media per post | Up to 4 images, or 1 GIF, or 1 video. |
| File sizes | Images up to 5 MB, GIFs up to 15 MB, video up to 512 MB (uploaded in chunks). |
| Alt text | Up to 1,000 characters per image, set through the media metadata call. |
| Threads | A thread is a chain of replies to your own post. SocialHandoff publishes each part as a reply to the previous one. |
- Put the point in the first line. A thread's first post has to stand alone because many people never expand it.
- Count links as 23 characters when you plan length, and put the link in the last post of a thread if you want the earlier posts to read cleanly.
- Add alt text to every image. SocialHandoff can flag a missing description before the post reaches the inbox.
- Keep a steady pace instead of bursts. A per-account daily limit in SocialHandoff stops an agent from queueing 30 posts in one afternoon.
How to schedule tweets on X itself
X lets you schedule a single post from the web composer: write the post, click the calendar icon, pick a date and time, and confirm. Scheduled posts sit under the Unsent posts view. X Pro, the column-based dashboard for Premium subscribers, also schedules posts. Native scheduling works for one person writing by hand. It has no approval step, no idea which AI tool wrote the draft, and no record of who said yes.
Why schedule X posts with approval
X punishes mistakes quickly. A wrong version number, a leaked feature, or a joke that reads badly is quoted before you can delete it. When an agent drafts your posts, the fix is not to stop using the agent; it is to put a person between the draft and the timeline. In SocialHandoff, an agent creates a pending draft, a reviewer approves, edits, or rejects it, and only then does it publish. Publish-now has a 60-second undo window, and scheduled posts can be pulled back until they go out.
What SocialHandoff supports on X
- Weighted 280-character check, the same counting X uses, so a draft that passes our check will fit.
- Reply-chain threads. Each part is posted as a reply to the previous part.
- Up to 4 media per post with alt text, uploaded with X's chunked upload and processing status checks.
- Retries only for requests X rejected outright with a 429 rate limit. X has no idempotency key for posts, so on an ambiguous failure SocialHandoff stops and asks a person to check the account rather than risk a double post.
- Per-post metrics where the API returns them, in the analytics view.
API notes
You bring your own X developer app: create a user-context OAuth 2.0 app with write access and add its client id and secret to your SocialHandoff environment. X sets write quotas and prices by access tier, and those change; check your developer portal for the current allowance before you plan a high-volume schedule. SocialHandoff respects Retry-After and rate-limit reset headers when X sends them.
Tools and agent guides
Check length before you ask for approval with the X character counter, and break a long draft into parts with the thread splitter. Media dimensions are in the image size guide.
To have an agent write for X, see Claude Code for X, Claude Desktop for X, Cursor for X, or GitHub release posts on X. Connection steps are in Connect X.