---
title: "Upload and compress image"
method: POST
path: "/internal/upload/image"
tags: ["Internal"]
---

# Upload and compress image

`POST /internal/upload/image`

Upload an image file (PNG, JPEG, or SVG), optionally resize it, and compress it for web. SVG files are uploaded as-is without compression. Returns the uploaded image URL and metadata.

## Request body

- object
  - `file` unknown
  - `folder` 'avatars' | 'events' | 'teams' | 'promoters' | 'venues', required — Folder to upload to
  - `width` integer — Target width in pixels
  - `height` integer — Target height in pixels

## Response `200`

OK

- object
  - `src` string, uri, required
  - `alt` string, required
  - `width` number, required
  - `height` number, required

## Other responses

- `400` — 400
- `401` — 401
- `403` — 403
- `404` — 404
- `409` — 409
- `412` — 412
- `422` — 422
- `429` — 429
- `500` — 500
- `501` — 501
- `503` — 503

---

[API](https://skmtc.net/session/apis/session-services-api.md) · [All operations](https://skmtc.net/session/apis/session-services-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/session/session-services-api/versions/bec3de84da9e/schema)
