Upload a file
curl --request POST \
--url https://api.opper.ai/v3/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'import requests
url = "https://api.opper.ai/v3/files"
files = { "file": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.opper.ai/v3/files', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bytes": 123,
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"filename": "<string>",
"id": "<string>",
"mime_type": "<string>",
"object": "file",
"purpose": "<string>",
"status": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}Files
Upload a file
Upload a file (multipart/form-data) and get back a file_<id>. The id can be passed as the image/video/reference_images source on POST /v3/videos. purpose defaults to reference_media (accepts common image/video types). The MIME type is detected from the bytes; size and per-org quota are enforced. Files are permanent until deleted; pass ttl_seconds to schedule an expiry.
POST
/
v3
/
files
Upload a file
curl --request POST \
--url https://api.opper.ai/v3/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'import requests
url = "https://api.opper.ai/v3/files"
files = { "file": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, files=files, headers=headers)
print(response.text)const form = new FormData();
form.append('file', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://api.opper.ai/v3/files', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"bytes": 123,
"created_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"filename": "<string>",
"id": "<string>",
"mime_type": "<string>",
"object": "file",
"purpose": "<string>",
"status": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": "<unknown>"
},
"meta": {}
}Returns a
file_<id> you can pass as a media source on later calls. See the Files guide.Authorizations
API key authentication. Pass your API key as a Bearer token.
Body
multipart/form-data
The file bytes.
Optional advisory filename (defaults to the upload's filename).
Intended use; gates the accepted MIME types.
Optional lifetime in seconds; omit for a permanent file. Can be changed later via PATCH /v3/files/{id}.