Access

Store a file and return a short-lived URL to pass in a model's input.

Free, and available on an empty API wallet — funding is enforced when you submit a generation, not when you upload its inputs. GET /v3/balance reports what the wallet holds.

Returns 402 while uploads are paused, which happens when your recent requests were all refused for insufficient funds. Adding funds to the API wallet resumes them.

post/files

Request

  • Base URL
    https://api.hedra.com/v3
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Request body multipart/form-data

filestring binary required

The file to upload.

Response

Successful Response

urlstring required

Presigned GET URL for the stored bytes — the handle itself. Pass it back verbatim, query string included: a modified URL is not recognised as your handle and is rejected as an external URL.

content_typestring required

MIME type sniffed from the uploaded bytes; the request's own Content-Type and filename are never trusted. Decides which media inputs will accept this handle.

expires_atstring date-time required

ISO-8601 instant after which url is rejected. Submitting with a lapsed handle is a 400 with reason: "expired", not a fetch failure; upload the file again for a fresh handle.

Changes