POST
/v1/media/create-upload-urlCreate media upload URL
Request a signed upload URL, then `PUT` the file bytes to `upload_url`. Pass the returned `media_id` into `POST /v1/posts`.
Request
bash·cURL
curl -X POST "https://YOUR_PROJECT.supabase.co/functions/v1/public-api/v1/media/create-upload-url" \
-H "Authorization: Bearer px_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "mime_type": "image/png", "size_bytes": 245760, "name": "slide-1.png" }'Body
| Name | Type | Description |
|---|---|---|
| mime_typerequired | string | MIME type, e.g. `image/png`, `image/jpeg`, `video/mp4`. |
| size_bytesrequired | integer | Exact file size in bytes. |
| name | string | Optional filename hint used for extension detection. |
json·Example body
{
"mime_type": "image/png",
"size_bytes": 245760,
"name": "slide-1.png"
}Response
json·200 OK
{
"media_id": "user-uuid/api/550e8400-e29b-41d4-a716-446655440000.png",
"upload_url": "https://…supabase.co/storage/v1/object/upload/sign/…",
"bucket": "images",
"path": "user-uuid/api/550e8400-e29b-41d4-a716-446655440000.png",
"token": "…"
}