title is the caption every network uses. To write something different for one network, send {network}_title (for example x_title, instagram_title), and {network}_description where the network has a separate body. This page lists how long each can be and what happens to longer text.
Reelspan doesn't refuse a request for long text. Depending on the network, it either cuts the text to fit (often with a warning in that network's result), turns it into a thread, or sends it as it is and the network decides.
Per network
Characters are counted as people count them: an emoji is one.
| Network | Field | Limit | Longer text |
|---|---|---|---|
| YouTube | youtube_title (else title) |
100 | Cut to 100. A title is required. |
| YouTube | youtube_description (else description, else title) |
5,000 | Cut to 5,000. < and > are removed (YouTube refuses them). |
| TikTok | tiktok_title (else title), video |
2,200 | Cut to 2,200. |
| TikTok | photo post title | 90 | The first line of the caption, cut to 90. |
| TikTok | tiktok_description, photo post |
4,000 | Cut to 4,000. Defaults to the caption. |
instagram_title (else title) |
2,200 | Cut to 2,200. Instagram also allows up to 30 hashtags and 20 mentions. | |
facebook_title / facebook_description |
63,206 | Sent as it is. On a Reel, facebook_title is also used as the video title, cut to 255. |
|
| X | x_title (else title) |
280 per post | Split into a thread of 280-character posts, with a warning. x_long_text_as_post=true sends one long post instead (needs X Premium). Links are removed unless x_keep_links=true (see below). |
| Threads | threads_title (else title) |
500 | Cut to 500. |
linkedin_title (else title) |
3,000 | Cut to 3,000. The first two lines show before "see more". | |
| video or document title | 400 | Cut to 400. | |
pinterest_title (else title) |
100 | Cut to 100. | |
pinterest_description (else description) |
800 | Cut to 800. | |
| Bluesky | bluesky_title (else title) |
300 per post | Split into a thread of 300-character posts, with a warning. |
reddit_title (else the caption's first line) |
300 | Cut to 300. | |
reddit_description |
40,000 | Sent as it is. | |
| Google Business | google_business_title (else title) |
1,500 | Cut to 1,500, with a warning. |
| Telegram | telegram_title (else title) |
4,096 for a text message; 1,024 under a video, photos or a PDF | Cut, with a warning. |
| Discord | discord_title (else title) |
2,000 | Cut, with a warning. |
| Slack | slack_title (else title) |
40,000 | Through an Incoming Webhook the text block holds 3,000. |
| Mastodon | mastodon_title (else title) |
500 on most servers | Sent as it is; the server decides. |
| WordPress | wordpress_title (else the caption's first line) |
200 when taken from the caption | |
| WordPress | wordpress_description |
100,000 | Sent as it is. |
| Lemmy | lemmy_title / lemmy_description |
200 / 10,000 | Sent as they are; the server decides. |
| Nostr | nostr_title (else title) |
10,000 | Sent as it is. |
| Dev.to, Hashnode | devto_title, hashnode_title (else the caption's first line) |
250 | Cut to 250. |
| Dev.to, Hashnode | devto_description, hashnode_description (Markdown) |
100,000 | Sent as it is. |
| Whop | whop_title (else title) |
10,000 | Sent as it is. |
| Listmonk | listmonk_title / listmonk_description |
200 / 100,000 | The subject and the email body. |
Where the limit is shown but the text is "sent as it is", the network's own answer decides: text it refuses fails that network with an error code.
Other text fields
| Field | Limit |
|---|---|
| Alt text | Instagram, Facebook, Bluesky 1,000; Pinterest 500; LinkedIn 4,086. Cut to fit. |
| Tags | Dev.to takes 4 tags and Hashnode 5; extra tags are dropped (Dev.to with a warning). |
First comment (first_comment) |
X 280, Threads 500, Bluesky 300, LinkedIn 1,250, Instagram 2,200, YouTube 10,000. Cut to fit. |
external_id |
255 |
request_id |
8 to 100 letters, digits, _ or - |
Links on X
X charges much more for a post that contains a link, so Reelspan removes links from X posts by default and adds a warning saying so. Send x_keep_links=true to keep them. Paid plans include a monthly number of X posts with links (Pro 20, Agency 60, Scale 200); past it, links are removed again. See Plans and limits.
Threads on X and Bluesky
Long text is split at paragraph breaks where it can, then at line breaks, then between words; a single word longer than a post is cut. Each part is posted as a reply to the one before, and the result's warning says how many posts the thread has. Media goes on the first post.