POST /api/v1/files/upload
Uploads your photo and returns a link you can pass to the model input.
Try itPOST
/api/v1/files/uploadThe key is kept only in this tab (sessionStorage) and sent directly to the API.
Request
POST https://ai.aimixmedia.site/api/v1/files/upload
Authorization: Bearer <API_KEY>
Content-Type: multipart/form-data
Parameters
| Form field | Required | Description |
|---|---|---|
file | yes | JPG, PNG or WebP, up to 15 MB |
The file is kept for 3 days. You can skip uploading and pass any public https link instead.
Response
{
"code": 200,
"msg": "success",
"data": {
"url": "https://ai.aimixmedia.site/files/5ee4b004b268e2d37c86c33552fe4f3e.jpg",
"fileName": "5ee4b004b268e2d37c86c33552fe4f3e.jpg",
"expiresInDays": 3
}
}
Examples
curl -X POST https://ai.aimixmedia.site/api/v1/files/upload \
-H "Authorization: Bearer $API_KEY" \
-F "file=@photo.jpg"
import os, requests
r = requests.post(
"https://ai.aimixmedia.site/api/v1/files/upload",
headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
files={"file": open("photo.jpg", "rb")},
)
print(r.json()["data"]["url"])
import fs from "node:fs";
const fd = new FormData();
fd.append("file", new Blob([fs.readFileSync("photo.jpg")], { type: "image/jpeg" }), "photo.jpg");
const r = await fetch("https://ai.aimixmedia.site/api/v1/files/upload", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.API_KEY}` },
body: fd,
});
console.log((await r.json()).data.url);
Errors
| code | error | When |
|---|---|---|
| 401 | unauthorized | Missing or invalid key |
| 422 | validation_error | Wrong format or file too large |