Platform Guide
Bluesky
Bluesky is one of the cleanest fits for UniPost: short-form text, image and video support, and multi-post threading all map cleanly into the standard publish model.
Overview
Use Bluesky when you want fast text publishing, direct account setup, and thread-based conversational posting. UniPost supports both direct Bluesky credential connection and normal multi-account publishing semantics here.
Supported capabilities
| Capability | Supported | Notes |
|---|---|---|
| Text posts | ✓ | Up to 300 graphemes |
| Image posts | ✓ | Up to 4 images |
| Video posts | ✓ | Exactly 1 video |
| Threads | ✓ | Use `thread_position` |
| First comment | X | Use threads instead |
| Text-only posts | ✓ | Media is optional |
Requirements
| Field | Required | Limits | Notes |
|---|---|---|---|
| caption | Optional | 300 graphemes | Validate catches overages before publish |
| media_urls | Optional | 1-4 images OR 1 video | Do not mix image and video |
| thread_position | Optional | 1-indexed | Preferred way to create multi-post flows |
| first_comment | Rejected | n/a | Use thread_position instead |
Example requests
The examples below are intentionally small and copyable. They show the request body only, assuming a standard POST /v1/social-posts call with Bearer auth.
Text post
{
"caption": "Shipping on Bluesky today.",
"account_ids": ["sa_bluesky_1"]
}Image post
{
"caption": "Photos from the trip ✈️",
"account_ids": ["sa_bluesky_1"],
"media_urls": [
"https://cdn.example.com/photo1.jpg",
"https://cdn.example.com/photo2.jpg"
]
}Thread
{
"platform_posts": [
{ "account_id": "sa_bluesky_1", "caption": "1/ Why we changed the docs", "thread_position": 1 },
{ "account_id": "sa_bluesky_1", "caption": "2/ The new structure is easier to scan", "thread_position": 2 }
]
}Common validation errors
| Code | What it means |
|---|---|
| caption_too_long | Caption exceeds 300 graphemes |
| first_comment_unsupported | Bluesky uses threads instead of first-comment publishing |
| too_many_media | More than 4 images or more than 1 video supplied |
Related reference
Once you know the correct request shape for this platform, move to the API reference for the full endpoint contract, response schema, and validation payload shape.