Skip to main content
Postsiva validates text length before posting. Over-limit text returns HTTP 422 with the platform name and character count.

Primary limits (captions / post text)

PlatformLimitField(s)Post types
LinkedIn3,000default_text, linkedin_text, linkedin_page_textsText, image, video, carousel
Facebook63,206default_text, facebook_page_textsText, image, video, carousel
Threads (text)500default_text, threads_textText only
Threads (caption)2,200Caption on image, carousel, videoImage, carousel, video
Instagram2,200default_text, instagram_textImage, carousel, video
TikTok2,200default_text, tiktok_textVideo, image, carousel
Bluesky300default_textText, image, carousel, video
YouTubeSee title/description belowVideo only

Secondary limits (titles / descriptions)

PlatformFieldLimit
YouTubeyoutube_title / default_text (title)100
YouTubeyoutube_description5,000
Pinterestpinterest_text (pin title)100
Pinterestpinterest_description500
TikTok (photo)tiktok_title90 UTF-16 code units

Multi-platform posting

When posting to multiple platforms, each platform is validated independently. A caption valid for LinkedIn (3,000) may fail on Bluesky (300):
{
  "platforms": ["linkedin", "bluesky"],
  "default_text": "A 400-character caption..."
}
Returns 422 for Bluesky even if LinkedIn would succeed.
Use platform overrides to send different lengths per destination: threads.threads_text, instagram.instagram_text, etc.

Example: platform-specific text

{
  "platforms": ["linkedin", "threads", "bluesky"],
  "default_text": "Full LinkedIn article-style post with details...",
  "threads": {
    "threads_text": "Medium-length Threads post under 500 chars."
  },
  "bluesky": {}
}
For Bluesky, trim default_text to 300 chars or add a shorter override in a pre-processing step.

Error format

{
  "detail": "Max text character limit for threads is 500. Received 612 characters in threads_text/default_text."
}
Per-page LinkedIn/Facebook maps show the key in the label:
{
  "detail": "Max text character limit for linkedin is 3000. Received 3100 characters in linkedin_page_texts[108813535]."
}

Quick reference by use case

Use caseSafe default length
Cross-post to all text platforms300 (Bluesky floor)
LinkedIn + Facebook only3,000
Threads text post500
Instagram / TikTok caption2,200
YouTube title100
Pinterest pin title100

Platforms overview

All eight platforms

HTTP errors

422 validation errors