Aether

Media

Upload media files to cloud storage via presigned URLs. Returns a media key for use in post creation across all connected platforms.

POST
/media/presign

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
AuthorizationBearer <token>

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": {}  }}

On this page