Upload Photos
Upload one or more photos (carousel) to social media platforms.
Endpoint
POST https://api.indreelforge.com/api/upload_photos
Parameters
Required
| Parameter | Type | Description |
|---|---|---|
photos[] | file(s) | Image files (JPG, PNG, WebP, GIF). Up to 10 images. Required unless photo_urls is sent. |
photo_urls | string[] | Public http(s) image URLs instead of files (JSON array, or repeated photo_urls[] form fields). Up to 10, max 20 MB each. If files are uploaded too, the files are used. |
title | string | Title / caption |
user | string | Profile name (case-sensitive) |
platform[] | string | Target platform(s). Repeat for multiple. |
Optional — General
| Parameter | Type | Description |
|---|---|---|
description | string | Extended description |
schedule | datetime | ISO 8601 schedule time |
async_upload | boolean | Default true. false waits up to 50 s for the publish result — see Upload Video → Synchronous mode. |
tags | string | Comma-separated hashtags |
location | string | Location tag |
Platform-Specific Overrides
| Parameter | Platforms |
|---|---|
instagram_title | |
facebook_title | |
x_title | X (Twitter) |
linkedin_title | |
pinterest_title | |
reddit_title | |
reddit_subreddit | Reddit — required for Reddit posts |
bluesky_title | Bluesky |
threads_title | Threads |
Pinterest-Specific
| Parameter | Description |
|---|---|
pinterest_board_id | Target board ID |
pinterest_link | Destination URL for the pin |
LinkedIn-Specific
| Parameter | Description |
|---|---|
linkedin_visibility | PUBLIC / CONNECTIONS (default PUBLIC) |
Supported Platforms
instagram, tiktok, facebook, x, linkedin, threads, pinterest, reddit, bluesky, google_business, discord, telegram, mastodon, wordpress
Example
curl \
-H 'Authorization: Apikey YOUR_API_KEY' \
-F 'photos[]=@/path/to/image1.jpg' \
-F 'photos[]=@/path/to/image2.jpg' \
-F 'title="Photo Album"' \
-F 'user="my-brand"' \
-F 'platform[]=instagram' \
-F 'platform[]=facebook' \
-X POST https://api.indreelforge.com/api/upload_photos
Response
{
"status": "success",
"data": {
"upload_id": "upl_xyz789",
"photo_count": 2,
"platforms": {
"instagram": { "status": "queued" },
"facebook": { "status": "queued" }
}
}
}
X (Twitter) allowance
Every plan includes 1 free X post per calendar month; the X (Twitter) posting add-on (₹299/mo or ₹2,499/yr + GST) adds 300 X posts per month. If the request targets x and no X posts remain this month, it is rejected with HTTP 402 and error_code X_ADDON_REQUIRED (or X_MONTHLY_LIMIT_REACHED when the add-on's 300 are used). Check the allowance with GET /api/x-allowance — see the X guide.