Skip to main content
Some tools take a file (an image to edit, audio to transcribe). Pass a public URL, or upload the file and pass its file_… id wherever the tool’s input expects a URL.
1

Get a signed upload link

The answer holds the file id, an upload_url, the upload_headers to send and when the link expires.
2

PUT the bytes

Send the file to upload_url with exactly the upload_headers, and no Authorization header.
3

Use the id

Put the file_… id in the run’s input where the tool expects a URL. There is no confirm call.
Uploads are input only: they cannot be downloaded back, and they expire after a day.