Presign a YouTube video upload
Requires scope: `publish:write`. Returns a presigned URL to PUT a video (max 4 GB) directly to storage, plus the `r2_key`.
Authorization
ApiKey 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/youtube/uploads/presign" \ -H "Content-Type: application/json" \ -d '{ "content_type": "string", "file_size": 0 }'{ "upload_url": "string", "r2_key": "string"}Presign an X (Twitter) video upload GET
Requires scope: `publish:write`. Returns a presigned URL to PUT a video (max 500 MB, `video/mp4`) directly to storage, plus the `r2_key` to reference afterward. At publish time the video is uploaded to X via the v2 chunked flow (`media_category=tweet_video`); X enforces a 140-second duration cap.
Presign a Tumblr media upload GET
Requires scope: `publish:write`. Returns a presigned URL to PUT media directly to storage, plus the `r2_key`.