Upload Photos
Upload photos to various social media platforms using this endpoint.
Note: This feature is a work in progress. More parameters and social media platforms will be added in future updates.
Endpoint
POST /api/upload_photos
Headers
Name | Value | Description |
---|---|---|
Authorization | Apikey your-api-key-here | Your API key for authentication |
Common Parameters
Name | Type | Required | Description |
---|---|---|---|
user | String | Yes | User identifier |
platform[] | Array | Yes | Platform(s) to upload to. Supported values: tiktok, instagram, linkedin, facebook, x, threads |
photos[] | Array | Yes | Array of photo files to upload (can be file uploads or photo URLs) |
title | String | Yes | Title of the post |
caption | String | No | Caption/description for the photos (this will be used as the post commentary) |
This endpoint supports simultaneous photo uploads to multiple social media platforms.
Platform-Specific Parameters
LinkedIn
Name | Type | Required | Description | Default |
---|---|---|---|---|
visibility | String | No | Visibility setting for the post (accepted value: "PUBLIC") | PUBLIC |
target_linkedin_page_id | String | No | LinkedIn page ID to upload photos to an organization | "107579166" |
Note: The caption is used as the post commentary; no separate description is accepted.
Facebook
Name | Type | Required | Description | Default |
---|---|---|---|---|
facebook_page_id | String | Yes | Facebook Page ID where the photos will be posted | - |
Note: The caption is applied only to the first photo uploaded. For correct posting on Facebook, ensure the Page is directly associated with your personal profile and not managed through a Business Portfolio.
X (Twitter)
No additional parameters are supported for photo uploads to X.
Note: For Twitter uploads, specify the platform as "x" in the platform[] array.
TikTok
Name | Type | Required | Description | Default |
---|---|---|---|---|
auto_add_music | Boolean | No | Automatically add background music to photos | false |
disable_comment | Boolean | No | Disable comments on the post | false |
branded_content | Boolean | No | Indicate if the post is branded content (requires disclose_commercial =true) | false |
disclose_commercial | Boolean | No | Disclose the commercial nature of the post (used with branded_content ) | false |
photo_cover_index | Integer | No | Index (starting at 0) of the photo to use as the cover/thumbnail for the TikTok photo post | 0 |
description | String | No | Description for the TikTok post. If not provided, the title value will be used by default. | title |
Note: Setting branded_content
along with disclose_commercial
to true
will enable specific branded content toggles on TikTok.
Instagram
Name | Type | Required | Description | Default |
---|---|---|---|---|
media_type | String | No | Type of media ("IMAGE" or "STORIES") | "IMAGE" |
Threads
No platform-specific parameters are required.
Example Requests
Upload Photos to Instagram
curl \
-H 'Authorization: Apikey your-api-key-here' \
-F 'photos[]=@/path/to/your/image1.jpg' \
-F 'user="test"' \
-F 'platform[]=instagram' \
-F 'title="My Photo Title"' \
-F 'description="My photo description"' \
-X POST https://api.upload-post.com/api/upload_photos
Upload Photos to Facebook Using URLs
curl \
-H 'Authorization: Apikey your-api-key-here' \
-F 'photos[]="https://example.com/images/photo1.jpg"' \
-F 'photos[]="https://example.com/images/photo2.jpg"' \
-F 'user="test"' \
-F 'platform[]=facebook' \
-F 'facebook_page_id="123456789"' \
-F 'title="My Photo Title"' \
-F 'caption="Check out these photos!"' \
-X POST https://api.upload-post.com/api/upload_photos
Response Format
TikTok Response
When uploading photos to TikTok, the API returns the following response structure:
{
"results": {
"tiktok": {
"publish_id": "string",
"status": "PUBLISH_COMPLETE",
"success": true,
"url": "https://www.tiktok.com/@username/photo/publish_id"
}
},
"success": true,
"usage": {
"count": 25,
"last_reset": "2025-05-31T19:09:09.984073",
"limit": 120
}
}
Field | Type | Description |
---|---|---|
results.tiktok.publish_id | String | Unique identifier for the published post |
results.tiktok.status | String | Publishing status (e.g., "PUBLISH_COMPLETE") |
results.tiktok.success | Boolean | Indicates if the upload was successful |
results.tiktok.url | String | Direct URL to the published TikTok post |
success | Boolean | Overall API request success status |
usage.count | Number | Current API usage count |
usage.last_reset | String | Timestamp of last usage counter reset |
usage.limit | Number | API usage limit |