Bluesky Upload Guide
Post text updates, images and videos to Bluesky (powered by the AT Protocol) using the IndReelForge API.
Supported Content Types
| Type | Endpoint | Notes |
|---|---|---|
| Text post | POST /api/upload_text | Up to 300 characters |
| Video | POST /api/upload | MP4, up to 1 minute |
| Image | POST /api/upload_photos | Up to 4 images |
Video Requirements
| Requirement | Value |
|---|---|
| Format | MP4 (H.264) |
| Max duration | 60 seconds |
| Max file size | 50 MB |
| Recommended resolution | 1080p or 720p |
Post a Text Update
curl -X POST https://api.indreelforge.com/api/upload_text \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-account' \
-F 'title=Decentralised social is the future. Here'\''s why I moved to Bluesky...' \
-F 'platform[]=bluesky'
Post Across Bluesky + X + Threads
curl -X POST https://api.indreelforge.com/api/upload_text \
-H 'Authorization: Apikey YOUR_KEY' \
-F 'user=my-brand' \
-F 'title=New post is live — let us know what you think!' \
-F 'platform[]=bluesky' \
-F 'platform[]=x' \
-F 'platform[]=threads'
Bluesky-Specific Fields
| Field | Description |
|---|---|
title | Post text (max 300 chars) |
bluesky_langs | Up to 3 BCP-47 language codes, e.g. en, pt-BR. Send as a comma-separated string (en,fr), a JSON array, or repeated bluesky_langs[] fields (optional) |
bluesky_alt_text | Alt text for the image(s) or video, max 2,000 characters. Defaults to the post title (optional) |
Rich Text and Links
Bluesky supports rich text detection automatically — URLs, handles (@user.bsky.social) and hashtags in the title field are automatically linkified.
Connect Bluesky
- Dashboard → Profiles → select your profile
- Click Connect next to Bluesky
- Enter your Bluesky handle (e.g.
yourname.bsky.social) and an App Password (not your main password)- Create an App Password at: bsky.app → Settings → App Passwords
- Return — status shows Connected
App Passwords
Never use your main Bluesky password. Create a dedicated App Password in your Bluesky settings — it can be revoked independently without changing your main credentials.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
invalid_credentials | Wrong handle or app password | Re-enter credentials in profile settings |
text_too_long | Over 300 grapheme clusters | Shorten the post |
video_too_long | Over 60 seconds | Trim the video to under 1 minute |
rate_limit | Too many posts | Bluesky has per-hour rate limits |