Step 1 of the compliant upload: get a presigned PUT for the user's video FILE

Everpop clips from the creator's file, never from a YouTube download. PUT exactly expectedBytes to the returned putUrl (15-min validity, ≤5 GB — the most one PUT can carry, files up to 32 GB go through browserUploadUrl — .mp4/.mov/.webm/.mkv/.m4v), send every requiredHeaders entry, and let the HTTP client supply Content-Length. Then call /api/v1/videos/complete. If the PUT times out or the connection drops, or a retried PUT answers 412 (If-None-Match: * means the bytes are already stored), call /api/v1/videos/complete with the same key before anything else: a 400 there means the bytes never landed (PUT again while putUrl is valid, else cancel the slot). At most 3 uploads can be open at once (429 upload_slots).

post/api/v1/videos/upload

Request

  • Base URL: https://everpop.app
  • URL: https://everpop.app/api/v1/videos/upload
  • Auth: HTTP bearer

Request body

filenamestring required
sizeBytesinteger required

Exact byte length bound into the signed upload request; one PUT carries at most 5 GB (a bigger file, up to 32 GB, goes through browserUploadUrl); files over 32 GB are not accepted on any path

Response

Exact signed upload instructions.

okunknown required

Changes

No recorded changes to this operation across all 1 revision of this API.