POST /v1/upload

Upload Image

Upload a raw image file. ImgNodus automatically converts it to WebP format and returns a CDN-optimized URL. Guest uploads are auto-deleted after 1 hour.

Headers

HeaderRequiredDescription
X-API-KeyOptional*Your API key. Without it, upload is treated as guest (1hr TTL).
Content-TypeAutoSet automatically by FormData (multipart/form-data).

Body Parameters

NameTypeDescription
imageFile (Binary)The image to upload. Max 5MB. Supports PNG, JPG, GIF, BMP, TIFF.
folderString(Optional) Sub-folder name to organize images in your bucket.

Example: cURL

curl -X POST https://imgnodus-api-411853553644.us-central1.run.app/v1/upload \
  -H "X-API-Key: IR_KEY_xxxxxxxxxx" \
  -F "image=@/path/to/photo.png" \
  -F "folder=products"

Example: JavaScript (Fetch)

const formData = new FormData();
formData.append('image', fileInput.files[0]);
formData.append('folder', 'products');

const res = await fetch('https://imgnodus-api-411853553644.us-central1.run.app/v1/upload', {
  method: 'POST',
  headers: { 'X-API-Key': process.env.IMGNODUS_API_KEY },
  body: formData
});
const { url, size, originalSize } = await res.json();

Response

{
  "success": true,
  "url": "https://storage.googleapis.com/bucket/users/uid/1775929784157_photo.webp",
  "size": 12400,
  "originalSize": 482000,
  "reduction": "97.4%",
  "format": "webp"
}