Skip to main content
POST
Create a private direct-upload URL
Creates a single-use signed PUT URL for private media storage. Complete the upload before using its media ID in a generation request.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
purpose
enum<string>
required
Available options:
image,
video,
audio
content_type
enum<string>
required
Available options:
image/jpeg,
image/png,
image/webp,
video/mp4,
video/webm,
video/quicktime,
audio/mpeg,
audio/wav,
audio/x-wav,
audio/mp4,
audio/aac,
audio/ogg
size_bytes
integer
required
Required range: 1 <= x <= 52428800

Response

Default Response

id
string
required
Pattern: ^media_[A-Za-z0-9_-]{20,64}$
object
enum<string>
required
Available options:
media
status
enum<string>
required
Available options:
pending
purpose
enum<string>
required
Available options:
image,
video,
audio
upload_url
string<uri>
required
upload_method
enum<string>
required
Available options:
PUT
required_headers
object
required
expires_at
string<date-time>
required
Last modified on September 17, 2026