Skip to main content
POST
Initiate Upload

Authorizations

Authorization
string
header
required

Use the format: Key modelrunner_key

Headers

X-Modelrunner-Object-Lifecycle-Preference
string

JSON object setting an expiry for the stored object, e.g. {"expiration_duration_seconds": 3600}. The countdown starts at upload time. See the data retention guide.

Body

application/json
file_name
string
required

Original filename. Preserved, with a random prefix.

content_type
string
required

MIME type. Send the same value as Content-Type on the PUT.

size
integer

Byte size, for validation.

relay
boolean

Also mint relay_upload_url — a first-party PUT URL on this API host that streams to the same object server-side. For clients whose egress allowlist rejects the raw AWS S3 host.

Response

Presigned upload.

upload_url
string

Presigned S3 PUT URL. Valid 5 minutes. Send no Authorization header — the URL carries its own credentials.

file_url
string

Canonical public URL. Usable as model input once the bytes land.

relay_upload_url
string

Present only when relay: true. Same 5-minute window; PUT the raw bytes here instead if the S3 host is blocked.