Quick start

Upload an image, get a URL. The URL always serves your image from a global CDN, and query params resize, crop, or convert it on the fly.

On this page

Base URL https://api.img.pro/v1

Upload

Open Apps, create an App, then open its API Keys page and choose New key. Save the key shown once. Send a file to POST /v1/images:

Request
bash
curl -X POST "https://api.img.pro/v1/images" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@photo.jpg"
Response
json
{
  "id": "abc12345",
  "url": "https://src.img.pro/4j2/abc12345.jpg",
  "sizes": {
    "small": {
      "url": "https://src.img.pro/4j2/abc12345.jpg?size=s",
      "width": 426,
      "height": 320
    },
    "medium": {
      "url": "https://src.img.pro/4j2/abc12345.jpg?size=m",
      "width": 853,
      "height": 640
    },
    "large": {
      "url": "https://src.img.pro/4j2/abc12345.jpg?size=l",
      "width": 1440,
      "height": 1080
    }
  },
  "width": 4000,
  "height": 3000,
  "status": "ready"
}

url is the image itself: a direct CDN URL you can drop into an <img> tag or send to a person. Anyone with it can load the image. That’s the short version; the full shape is in The Image object.

Prefer to import from a URL? Send JSON instead of a file and the same Image object comes back:

Request
bash
curl -X POST "https://api.img.pro/v1/images" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/photo.jpg"}'

Keep your key server-side. Your first key’s reach is App storage only. To access connected users, turn sign-in on from your App’s Connect page and create a separate App-wide key from API Keys, then use X-Img-User to select a connected user. See Authentication.

Transform

Add query params to the image’s url. A named size is the quickest:

URL
https://src.img.pro/4j2/abc12345.jpg?size=m

The sizes object gives you three ready-made variants: small, medium, and large. A social/OG card is one request away too (?size=social, 1200×630). For exact dimensions, formats, or background removal, see Transformations.

Next steps

That’s the whole loop. Where to go from here:

  • Authentication: App-wide and App-storage keys, and optional connected-user selection.
  • Build an App: let users sign in with img.pro and work with their own images in your App.
  • API reference: every endpoint (list, get, update, delete, batch, usage).
  • Usage and limits: what counts toward an App’s limits, and what happens at them.
  • Transformations: the full set of URL parameters.
  • OpenAPI spec: every endpoint with schemas, for typed clients and agents.

Every App starts on Free. Free: up to 5,000 images and 50 users per App. Pro: up to 50,000 images and 500 users per App, $20 a month. Unlimited: no limits, $100 a month.