Руководства по сетям

How to cross-post to X, Threads and Bluesky from one post

Each network counts text, links and emoji differently. Write one post with a version for X, Threads and Bluesky, and know what to do when one refuses it.

7 мин чтенияКоманда Publedia

Эта статья доступна только на английском.

Three length bars for one post: 274 of 280 on X, 321 of 500 on Threads, and 321 over the 300 limit on Bluesky.

To cross-post to X, Threads and Bluesky, write the idea once, give each network its own version, and schedule all three from the same post. Pasting identical text into three apps is where cross-posts go wrong. The three networks count text in different units, treat links differently, take different media, and only two of them accept threads. A post that fits X can be refused by Bluesky, and the reverse.

How each network counts your text

X, Threads and Bluesky through Publedia
XThreadsBluesky
Text per post280 weighted characters500 characters300 graphemes
A link counts as23, whatever its lengthIts full lengthIts full length
An emoji counts as2Its code points1
Media per postUp to 4 images, or one videoUp to 10, as a carouselUp to 4 images
Longest video2 minutes 20 seconds5 minutesNo video through Publedia
Image alt textYesNot sent through PublediaYes
Threads of several postsYesYes, as a reply chainNo

X counts weighted characters. Latin letters, digits and common punctuation count as one. Chinese, Japanese and Korean characters count as two, and so does every emoji, however many parts it is built from. Every link counts as 23, because X wraps it in its own short link.

Threads counts plain characters, up to 500. A link costs its full length. Publedia counts a Threads version character by character, so an emoji made of several parts, like a flag, can take more than one.

Bluesky counts graphemes: one per character as you see it on screen. A family emoji built from four people and three joiners is one grapheme. A link costs its full length. The Bluesky post lexicon also sets a second ceiling of 3,000 bytes. Ordinary writing never comes near it: 300 graphemes of English is about that many bytes, and of Japanese under a third of the cap. A post made mostly of multi-part emoji is the exception, because a family emoji alone is 25 bytes. Publedia's counter checks graphemes, not bytes, so an emoji-heavy Bluesky version is the one case where the counter can pass a post that Bluesky refuses.

One post, three counts

Take 250 characters of English plus a space and a 70-character link:

  • On X it counts 274: 251 for the text and 23 for the link. It fits within 280.
  • On Threads it counts 321. It fits within 500.
  • On Bluesky it counts 321 graphemes and is over 300, almost entirely because of the link.

Now take 140 characters of Japanese with no link. Bluesky and Threads count 140. X counts 280, right at its limit. The network that is tightest for English links is the loosest for Japanese, which is why no single version works everywhere.

The free character counter shows all three counts for a draft at once, without an account. The character limits guide has the same rules for all eight networks.

Links. On X a long link is free beyond its 23. On Bluesky and Threads it eats into the limit, so shorten it or cut words around it. Publedia makes a link in a Bluesky post clickable, but it does not attach a link preview card, so the words around the link have to do the selling.

Images. X takes up to 4 images and Bluesky up to 4. Threads takes up to 10 as a carousel. File types differ: through Publedia, X takes JPEG, PNG, WebP and GIF; Bluesky takes JPEG, PNG and WebP; Threads takes JPEG and PNG. A GIF that works on X needs a still image for Bluesky.

Video. X takes one video per post, up to 2 minutes 20 seconds, and it has to be the only attachment. Threads takes video up to 5 minutes, alone or inside a carousel. Bluesky takes no video through Publedia, so the Bluesky version needs images or text only.

Alt text. Write it on every image. It reaches X and Bluesky. It is not sent to Threads through Publedia, so if an image carries words that matter, repeat them in the Threads text.

Threads and reply chains

X and Threads both publish threads. Bluesky does not through Publedia: a Bluesky version is one post, and a version over 300 graphemes is refused, not split.

That changes how you plan a long idea. Write the thread for X (each post up to 280) and the reply chain for Threads (each part up to 500, so usually fewer parts). For Bluesky, publish the strongest single post. If you need one more beat on Bluesky, add a First comment to its version. Publedia posts it as your reply right after the post goes live, with its own 300 graphemes.

On X, every post in a thread counts toward the X allowance (see below), so a six-post thread uses six.

Write one post with a version per channel

  1. Select Create post, then Choose channels, and pick your X, Threads and Bluesky channels.
  2. Write the shared text. With several channels selected, the counter measures against the tightest limit among them, which for these three is X's 280, counted the way X counts.
  3. Select the X avatar and choose Write version. A band above the editor confirms that changes apply to that channel only. Edit the text, and select Continue as thread if X gets a thread. Select Done when you are finished.
  4. Do the same for Threads: Write version, then lengthen the text, swap the media for a carousel, or select Continue as thread for a reply chain.
  5. Do the same for Bluesky: shorten the text to fit 300 graphemes, cut or shorten long links, and replace any video with images.
  6. Check each preview. A channel that cannot publish what it has gets a warning sign on its avatar, and its menu says what to change.
  7. Select Pick a time, choose when it should go out, and select Schedule.

To undo a version, select Reset to shared in the band. Once a channel has its own version, its menu offers Edit version instead of Write version. A thread or a poll exists only inside a channel's version, so an X thread needs step 3 even when X is the only channel.

When one channel fails

Publedia sends a post to each channel separately. If Bluesky refuses the post, X and Threads still publish, and the post shows something like "Published on 2 of 3 channels. 1 needs you."

Open the post to see one row per channel, each with the reason it failed and one next step:

  • Text too long or a file the network does not accept: Edit this version, fix it, and save.
  • The account's access ran out: Reconnect Bluesky (or X, or Threads), then retry.
  • The X allowance ran out: Upgrade plan, or wait for the reset.
  • A temporary problem on the network's side: Publedia retries on its own, and the row says when. Retry now sends it sooner.

A retry sends only to the channels that failed. Channels that already published are not posted to again, so fixing Bluesky never doubles your post on X.

The full list of failure reasons and fixes is in fixing a failed post.

The X allowance and your own X app

Posts sent through Publedia's own X app count against a monthly allowance: 5 on Basic, 15 on Pro and 60 on Ultra. Only X uses it. Your Threads and Bluesky posts never count, and every post in an X thread counts as one. The composer shows how many are left this month beside the X version, and the pricing page lists each plan.

The allowance is checked again when a post is sent. If it runs out before a scheduled post's time, only the X channel fails with Plan limit reached. Threads and Bluesky still publish.

To post to X without the allowance, an admin can register the workspace's own X app under Settings, Developers. X then bills your posts to your X developer account. X prices a post that contains a link much higher than one without, so check X's pricing if most of your cross-posts carry a link. The steps are in use your own X app.

When to post natively instead

Cross-posting from one composer saves time when the idea is the same everywhere. Post in the network's own app when:

  • The Bluesky post needs video, or needs to be a thread. Neither is available through Publedia.
  • The image on Threads needs alt text. Publedia does not send it to Threads.
  • You are replying in a live conversation. Replies are where Bluesky and Threads reward you, and a schedule cannot do that part. Comments on your X and Threads posts reach Publedia's Inbox (beta); Bluesky replies do not yet.
  • The post only makes sense on one network, such as a reply to a trend on X. A version per channel helps, but some posts should not travel.

For the network-specific steps, see the guides to scheduling X posts and threads, scheduling Threads posts and reply chains and scheduling Bluesky posts.

Источники

  1. X Developer Platform, counting characters
  2. X Developer Platform, X API pay-per-usage pricing and credits
  3. Bluesky lexicon for a post (app.bsky.feed.post)
  4. Meta for Developers, Threads API overview

Темы

  • X
  • Threads
  • Bluesky
  • Cross-posting

Где пригодится Publedia

Блог

Планируйте, ставьте в расписание и публикуйте в восемь сетей из одного календаря.

Попробуйте Publedia бесплатно