Skip to main content
POST
/
api
/
v1
/
upload-images
Upload images for use in presentations
curl --request POST \
  --url https://slides-api.getalai.com/api/v1/upload-images \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form 'files=<string>' \
  --form files.items='@example-file'
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}
Upload images for use in presentation generation. This is a synchronous operation that returns image IDs immediately. These IDs can be referenced via image_urls in subsequent requests.

Limits

  • Max file size: 5MB per image
  • Max images: 10 per request
  • Supported formats: PNG, JPEG, WebP, GIF, AVIF, SVG

Request

Send images as multipart/form-data with field name files.

curl

curl -X POST "https://slides-api.getalai.com/api/v1/upload-images" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files=@/path/to/image1.png" \
  -F "files=@/path/to/image2.jpg"

Python

import requests

url = "https://slides-api.getalai.com/api/v1/upload-images"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

files = [
    ("files", ("image1.png", open("image1.png", "rb"), "image/png")),
    ("files", ("image2.jpg", open("image2.jpg", "rb"), "image/jpeg")),
]

response = requests.post(url, headers=headers, files=files)
print(response.json())

JavaScript

const formData = new FormData();
formData.append('files', file1);
formData.append('files', file2);

const response = await fetch('https://slides-api.getalai.com/api/v1/upload-images', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
  body: formData
});

const data = await response.json();
console.log(data.image_ids);

Response

{
  "image_ids": [
    "123e4567-e89b-12d3-a456-426614174000",
    "987fcdeb-51a2-3c4d-e5f6-789012345678"
  ]
}

Error Responses

StatusDescription
400File too large or too many images
401Invalid or missing API key
415Unsupported file type

Authorizations

Authorization
string
header
required

Your Alai API key. Get one from your account settings at app.getalai.com

Body

multipart/form-data
files
file[]
required

Response

Successful Response