Media Uploads

Images, videos, carousels — everything you need to know.

Edit this page·Last updated: July 13, 2026

Media Uploads

pepe.business supports images (JPG/PNG/WebP), videos (MP4/MOV/WebM), and multi-image carousels on all compatible platforms.

Method 1: Remote URL

Pass a public URL, pepe.business downloads and transcodes:

POST /v1/posts
{
  "text": "New product!",
  "platforms": ["instagram", "facebook"],
  "mediaUrls": ["https://my-shop.com/product.jpg"]
}

Advantages: simple, no client-side size limit.

Method 2: Direct upload

For non-public or large media:

# Step 1: get a signed URL
POST /v1/media/upload-url
{ "filename": "video.mp4", "contentType": "video/mp4" }

# Response
{ "uploadUrl": "https://storage.pepe.business/...", "mediaId": "med_xxx" }

# Step 2: PUT the file to uploadUrl
curl -X PUT https://storage.pepe.business/... \
  -H "Content-Type: video/mp4" \
  --data-binary @video.mp4

Then use the mediaId:

POST /v1/posts
{
  "mediaIds": ["med_xxx"],
  "platforms": ["tiktok", "youtube"]
}

Limits per platform

PlatformMax imageMax videoMax carousel
Twitter/X5 MB15 MB4 images
Instagram8 MB100 MB10 images
TikTok500 MB
YouTube256 GB
LinkedIn5 MB200 MB10 images
Facebook4 MB1 GB10 images
Pinterest32 MB

Automatic transcoding

pepe.business automatically transcodes to the formats required by each platform:

  • Video: H.264, AAC, MP4 container
  • Images: JPG for photos, PNG for logos
  • Ratio: smart adaptation (1:1 for square Instagram, 9:16 for Stories, 16:9 for YouTube)

Carousels

POST /v1/posts
{
  "text": "Our new collection",
  "platforms": ["instagram", "linkedin"],
  "mediaUrls": [
    "https://shop.com/1.jpg",
    "https://shop.com/2.jpg",
    "https://shop.com/3.jpg"
  ]
}

Pre-publish validation

POST /v1/validate/media
{
  "url": "https://shop.com/image.jpg",
  "platforms": ["instagram", "twitter"]
}

Returns warnings (too large, bad ratio, etc.) before publishing.

Was this page helpful?