Media
Upload media files to cloud storage via presigned URLs. Returns a media key for use in post creation across all connected platforms.
Returns a presigned PUT URL for uploading media directly to Aether's storage (Cloudflare R2). Upload the file directly to uploadUrl with the correct Content-Type header. Then use the returned key in the mediaKeys field when creating posts — this ensures media URLs survive storage provider changes.
Size limits: images 20 MB, videos 512 MB.
Authorization
ApiKeyAuth API key from your Aether dashboard
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/media/presign" \ -H "Content-Type: application/json" \ -d '{ "filename": "hero-image.jpg", "contentType": "image/jpeg" }'{ "success": true, "data": { "uploadUrl": "http://example.com", "publicUrl": "http://example.com", "key": "string", "expiresAt": "2019-08-24T14:15:22Z" }}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}{ "success": false, "error": { "code": "PROFILE_NOT_FOUND", "message": "string", "details": {} }}