XreplyAIDevelopers
API ReferenceMedia Uploads

Upload media (Facebook, Instagram, Pinterest, TikTok, Threads, Discord, Slack, Telegram, Tumblr, X, Mastodon, Bluesky)

Requires scope: `publish:write`. Uploads base64-encoded media to storage and returns an `r2_key` to reference from a post's `post_contents` metadata. `platform` selects the size/type limits. For X, Mastodon, and Bluesky the image is minted into the platform's native handle at publish time under each targeted account, so the same `r2_key` works correctly even when a post targets more than one account on that platform.

POST
/media/uploads
AuthorizationBearer <token>

A personal API key created in the dashboard (Starter, Pro, and Team plans).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/media/uploads" \  -H "Content-Type: application/json" \  -d '{    "platform": "instagram",    "content_type": "image/jpeg",    "media": "<base64>"  }'
{  "url": "https://media.xreplyai.com/instagram/4021/uuid.jpg",  "r2_key": "instagram/4021/uuid.jpg"}