Character Limits & Per-Platform Text
One upload can go to many networks, and each network has its own text limit. This page lists them, explains what IndReelForge does when your text is longer, and shows how to send different text to each platform.
How title and description are used
titleis the global text field. When a platform has no description of its own, the title is used as the caption.descriptionis optional longer body text. Platforms that only have a caption gettitleanddescriptionjoined by a blank line.- Per-platform overrides replace the shared text for one platform only:
<platform>_titleand<platform>_description— for exampleinstagram_title,instagram_description,youtube_title,linkedin_title,facebook_description,threads_title,discord_title. first_comment(or<platform>_first_comment) is posted as the first comment or reply after the post goes live — a good place for hashtags and links.
Limits by platform
| Platform | Text limit (characters) | When your text is longer | First comment |
|---|---|---|---|
| 2,200 | Rejected by the platform — shorten the text or use an override | Yes | |
| YouTube | 100 | Title is cut at 100 (use youtube_description for longer text) | — |
| 63,206 | Rejected by the platform — shorten the text or use an override | Yes | |
| TikTok | 2,200 | Rejected by the platform — shorten the text or use an override | — |
| X | 280 | Text posts continue as a reply thread; photo/video captions are cut at 280 | Yes |
| 3,000 | Rejected by the platform — shorten the text or use an override | Yes | |
| Threads | 500 | Continues as replies in a thread (all post types) | Yes |
| 100 | Title is cut at 100 (use pinterest_description for longer text) | — | |
| 300 | Title is cut at 300 (use reddit_description / body text) | Yes | |
| Bluesky | 300 | Text posts continue as a reply thread; photo/video captions are cut at 300 | Yes |
| Google Business | 1,500 | Rejected by the platform — shorten the text or use an override | — |
| Discord | 2,000 | Rejected by the platform — shorten the text or use an override | — |
| Telegram | 4,096 | Text posts are cut at 4,096; media captions are split at 1,024 and the rest is sent as a follow-up message | — |
| Slack | 3,000 | Rejected by the platform — shorten the text or use an override | — |
| Mastodon | 500 | Cut at the instance limit (500 on most instances) | — |
| WordPress | 100,000 | Rejected by the platform — shorten the text or use an override | — |
YouTube, Pinterest and Reddit limits apply to the title; their descriptions/bodies allow much more.
Example: different text per platform
curl -X POST https://api.indreelforge.com/api/upload_photos \
-H 'Authorization: Apikey YOUR_API_KEY' \
-F 'user=my-brand' \
-F 'platform[]=instagram' -F 'platform[]=threads' -F 'platform[]=x' \
-F 'photo_urls[]=https://example.com/launch.jpg' \
-F 'title=Launch day! Everything we shipped this month, in one long post…' \
-F 'x_title=Launch day 🚀 Details in the thread' \
-F 'first_comment=#launch #productupdate https://example.com/changelog'
The dashboard's upload page shows a live preview with a character counter for each selected platform, and tells you when text will continue as replies or be cut.