ImageSmith

API Documentation

Integrate ImageSmith into your applications with our REST API.

Quick Start
Example: Compress an image using cURL
curl -X POST https://imagesmith.labs.fakhrif.my.id/api/compress \
  -F "file=@image.jpg" \
  -F "quality=80" \
  --output compressed.jpg

Endpoints

POST
/api/compress
Compress an image to reduce file size.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to compress
qualitynumber
Optional
Quality 1-100 (default: 80)
formatstring
Optional
Output format: jpeg, png, webp

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/compress \
  -F "file=@image.jpg" \
  -F "quality=80"
  --output output.jpg
POST
/api/convert
Convert an image to a different format.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to convert
formatstring
Required
Target format: jpeg, png, webp, bmp, ico
qualitynumber
Optional
Quality 1-100 (default: 80)

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/convert \
  -F "file=@image.jpg" \
  -F "format=value"
  --output output.jpg
POST
/api/resize
Resize an image to specific dimensions.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to resize
widthnumber
Optional
Target width in pixels
heightnumber
Optional
Target height in pixels
fitstring
Optional
Fit mode: cover, contain, fill, inside, outside

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/resize \
  -F "file=@image.jpg" \
  -F "width=80"
  --output output.jpg
POST
/api/crop
Crop an image to a specific region.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to crop
leftnumber
Required
Left offset in pixels
topnumber
Required
Top offset in pixels
widthnumber
Required
Crop width in pixels
heightnumber
Required
Crop height in pixels

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/crop \
  -F "file=@image.jpg" \
  -F "left=80"
  --output output.jpg
POST
/api/rotate
Rotate or flip an image.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to rotate
anglenumber
Optional
Rotation angle: 90, 180, 270
flipHboolean
Optional
Flip horizontally
flipVboolean
Optional
Flip vertically

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/rotate \
  -F "file=@image.jpg" \
  -F "angle=80"
  --output output.jpg
POST
/api/watermark
Add a text watermark to an image.

Parameters

NameTypeRequiredDescription
fileFile
Required
Image file to watermark
textstring
Required
Watermark text
positionstring
Optional
Position: center, top-left, bottom-right, etc.
opacitynumber
Optional
Opacity 0-100 (default: 50)

Example

curl -X POST https://imagesmith.labs.fakhrif.my.id/api/watermark \
  -F "file=@image.jpg" \
  -F "text=value"
  --output output.jpg
JavaScript Example
Using fetch API
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('quality', '80');

const response = await fetch('/api/compress', {
  method: 'POST',
  body: formData,
});

const blob = await response.blob();
const url = URL.createObjectURL(blob);