Media handling

Upload once and forget the format wars. Every video is normalized to what the platforms actually accept before it publishes.

Uploads that go straight to storage

Your browser uploads directly to object storage, with no relay through an app server, and generates a preview thumbnail on the spot. Attach the same upload to as many posts as you like.

How media meets the composer

Images
Up to 30 MB each.
Video
Up to 512 MB each.
Covers
JPEG or PNG, cropped in the browser to each platform’s geometry.

The transcode you never think about

Phone footage, screen recordings and exports arrive in whatever codec they arrive in. Publishing them raw is how posts fail hours later.

  1. Probe

    Every video is inspected on upload. Streams already platform-safe are repackaged without re-encoding, so nothing is degraded for no reason.

  2. Normalize

    Everything else is re-encoded to high-profile H.264 with AAC audio and fast-start packaging: the shape every supported platform accepts.

  3. Verify

    The output is probed again and checked against the post’s declared shape. A video that cannot publish fails loudly at upload time, not at 9 AM Monday.

Storage that cleans up after itself

Originals are kept for seven days after a post publishes, then pruned; preview thumbnails stay so your history remains browsable. Interrupted transcodes recover automatically, and a stalled one never strands a scheduled post silently.

Interrupted upload
YouTube uploads resume from the last acknowledged byte, never duplicating.
Stalled transcode
Detected and re-run automatically; a hard failure fails the post with its reason.
Waiting posts
A post whose video is still processing waits for it instead of failing.

Bring the raw file

Upload what the camera gave you; the pipeline does the rest.