Troubleshooting

Uploads & media

File size and type limits, failed uploads, and video metadata on social0.app.

Overview

Social0 accepts images and video for posts in the dashboard, API, and CLI. Uploads go through presigned storage on our CDN. The limits below apply to the hosted product at social0.app.

API flow: Upload media · CLI: Commands — upload.

Size and MIME limits

TypeMax sizeAllowed types
Images~50 MBimage/jpeg, image/png, image/gif, image/webp
Video~500 MBvideo/mp4, video/quicktime, video/webm (.mov included)

On presign/API, set content_type to the real MIME type of the file. Mismatch can cause confirm or publish to fail.

Upload fails or stalls

SymptomLikely causeFix
"File too large"Over limitCompress or re-encode; stay under ~50 MB (image) or ~500 MB (video)
Wrong type / rejectedUnsupported MIMEUse JPEG/PNG/GIF/WebP or MP4/MOV/WebM
Stuck progress barSlow network or large videoWait; on bad networks try smaller file or Wi‑Fi
Cancel mid-uploadUser cancelledStart upload again; partial objects may be discarded
Works in dashboard, fails in APIWrong content_type or skipped confirm stepFollow presign → PUT → confirm — Media guide
CLI upload failsPath or authsocial0 upload ./file.png --json; check social0 doctor

Video metadata failures

Some platforms reject video when duration, codec, or dimensions are unsupported.

  • Prefer H.264 in MP4 for broad compatibility
  • TikTok and others have their own length and aspect rules — TikTok
  • If publish fails after upload succeeds, check job/platform error in status — Known issues

MCP and remote URL uploads

Hosted MCP upload_media accepts public url or base64 data. It cannot read arbitrary local paths from your machine.

  • Non-direct URLs fail — redirects, HTML landing pages, or auth-gated links often break fetch
  • Use a direct HTTPS URL to the file, or upload via dashboard/CLI/API presign instead

Details: MCP troubleshooting.

For REST/API clients, always use presign for local files — do not POST raw binary to /v1/posts unless the reference explicitly supports it.

Tips

  • Upload before composing multi-platform video posts; video confirm can take longer than images
  • After publish, poll status until terminal — video processing continues after upload
  • Include x-request-id from failed API calls when contacting support