API v1.0
← Back to Converter

Conversion

POST /api/convert Single file conversion

Parameters (multipart/form-data)

NameTypeRequiredDescription
filefileYesImage file to convert
formatstringNoOutput format (webp, jpeg, png, avif, gif, tiff, bmp, ico, pdf). Default: webp
qualityintNoQuality 1-100. Default: 85
max_dimensionintNoMax width/height in pixels
metadata_modestringNostrip_gps, strip_gps_device, strip_all, preserve_all. Default: strip_gps
auto_orientboolNoAuto-rotate from EXIF. Default: true
naming_patternstringNoOutput naming pattern. Default: {name}.{ext}

Example (curl)

curl -X POST https://image.shop6.co.uk/api/convert \
  -F "file=@photo.heic" \
  -F "format=webp" \
  -F "quality=85" \
  -F "max_dimension=1920" \
  --output photo.webp
POST /api/convert/multi Convert one file to multiple formats
NameTypeRequiredDescription
filefileYesImage file
formatsstringNoComma-separated formats. Default: webp,jpeg
qualityintNoQuality 1-100
curl -X POST https://image.shop6.co.uk/api/convert/multi \
  -F "file=@photo.heic" \
  -F "formats=webp,jpeg,avif" \
  -F "quality=85" \
  --output photos.zip
POST /api/convert/batch Convert multiple files (returns ZIP)
curl -X POST https://image.shop6.co.uk/api/convert/batch \
  -F "files=@photo1.heic" \
  -F "files=@photo2.png" \
  -F "files=@photo3.jpg" \
  -F "format=webp" \
  -F "quality=85" \
  --output batch.zip

Jobs

GET /api/jobs List all jobs
curl https://image.shop6.co.uk/api/jobs?limit=20&offset=0
GET /api/jobs/{id} Get job details
curl https://image.shop6.co.uk/api/jobs/j_abc123def456
GET /api/jobs/{id}/download Download job output
curl https://image.shop6.co.uk/api/jobs/j_abc123def456/download --output result.zip
DELETE /api/jobs/{id} Delete a job
curl -X DELETE https://image.shop6.co.uk/api/jobs/j_abc123def456

Presets

GET /api/presets List all presets
curl https://image.shop6.co.uk/api/presets
POST /api/presets Create custom preset
curl -X POST https://image.shop6.co.uk/api/presets \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Custom Preset",
    "description": "Custom settings for my workflow",
    "settings": {
      "outputs": [{"format": "webp", "quality": 90}],
      "resize": {"mode": "max_dimension", "value": 1600},
      "metadata": {"mode": "strip_gps"}
    }
  }'

Enhancement

POST /api/enhance Apply enhancements to an image
NameTypeRequiredDescription
filefileYesImage file
auto_enhanceboolNoOne-click auto improvement. Default: false
brightnessintNo-100 to 100. Default: 0
contrastintNo-100 to 100. Default: 0
saturationintNo-100 to 100. Default: 0
sharpnessintNo0 to 200. Default: 0
temperatureintNo-100 to 100. Default: 0
vibranceintNo-100 to 100. Default: 0
vignettestringNooff, light, medium, heavy. Default: off
noise_reductionstringNolight, medium, heavy
curl -X POST https://image.shop6.co.uk/api/enhance \
  -F "file=@photo.jpg" \
  -F "brightness=20" \
  -F "contrast=10" \
  -F "sharpness=50" \
  --output enhanced.jpg
POST /api/watermark Apply text or image watermark
NameTypeRequiredDescription
filefileYesImage file
textstringNoWatermark text (required if no watermark_image)
watermark_imagefileNoWatermark image file
positionstringNobottom-right, bottom-left, center, etc. Default: bottom-right
opacityintNo10-100. Default: 50
tileboolNoRepeat pattern diagonally. Default: false
curl -X POST https://image.shop6.co.uk/api/watermark \
  -F "file=@photo.jpg" \
  -F "text=© 2026 My Brand" \
  -F "opacity=40" \
  -F "tile=true" \
  --output watermarked.png

Tools

POST /api/bg-remove Remove background (local processing)
NameTypeRequiredDescription
filefileYesImage file
modelstringNou2net, u2netp, u2net_human_seg, isnet-general-use, birefnet-general. Default: u2net
bg_typestringNotransparent, white, colour. Default: transparent
shadowboolNoAdd drop shadow. Default: false
trimboolNoTrim whitespace. Default: false
curl -X POST https://image.shop6.co.uk/api/bg-remove \
  -F "file=@product.jpg" \
  -F "model=u2net" \
  -F "bg_type=transparent" \
  --output product_nobg.png
POST /api/upscale Upscale with super-resolution
NameTypeRequiredDescription
filefileYesImage file
scaleintNo2, 3, or 4. Default: 2
modelstringNofsrcnn or espcn. Default: fsrcnn
curl -X POST https://image.shop6.co.uk/api/upscale \
  -F "file=@small.jpg" \
  -F "scale=4" \
  -F "model=fsrcnn" \
  --output upscaled.png
POST /api/crop/smart Smart crop with face/saliency detection
NameTypeRequiredDescription
filefileYesImage file
aspectstringNo1:1, 4:3, 16:9, 3:2, 9:16. Default: 1:1
modestringNoauto, face, saliency, product, center. Default: auto
widthintNoExact output width (overrides aspect)
heightintNoExact output height (overrides aspect)
curl -X POST https://image.shop6.co.uk/api/crop/smart \
  -F "file=@photo.jpg" \
  -F "aspect=1:1" \
  -F "mode=face" \
  --output cropped.jpg
POST /api/pdf/extract Extract PDF pages as images
NameTypeRequiredDescription
filefileYesPDF file
dpiintNoResolution. Default: 200
formatstringNoOutput image format. Default: jpeg
curl -X POST https://image.shop6.co.uk/api/pdf/extract \
  -F "file=@document.pdf" \
  -F "dpi=300" \
  --output pages.zip
POST /api/pdf/create Combine images into PDF
curl -X POST https://image.shop6.co.uk/api/pdf/create \
  -F "files=@page1.jpg" \
  -F "files=@page2.jpg" \
  -F "dpi=150" \
  --output combined.pdf
GET /api/models/bg-remove List background removal models
curl https://image.shop6.co.uk/api/models/bg-remove
GET /api/models/upscale List upscale models
curl https://image.shop6.co.uk/api/models/upscale

Analysis

POST /api/analyse Full image analysis (metadata, colours, dimensions)
curl -X POST https://image.shop6.co.uk/api/analyse \
  -F "file=@photo.jpg"
POST /api/duplicates Find duplicate images via perceptual hashing
curl -X POST https://image.shop6.co.uk/api/duplicates \
  -F "files=@img1.jpg" \
  -F "files=@img2.jpg" \
  -F "files=@img3.jpg" \
  -F "threshold=10"

Async Batch

POST /api/convert/batch/async Start async batch job (returns job ID)

Returns a job ID. Track progress via WebSocket at /ws/jobs/{job_id}. Download result from /api/jobs/{job_id}/download.

curl -X POST https://image.shop6.co.uk/api/convert/batch/async \
  -F "files=@photo1.jpg" \
  -F "files=@photo2.jpg" \
  -F "format=webp" \
  -F "quality=85"

Information

GET /api/health Health check + supported formats
curl https://image.shop6.co.uk/api/health
GET /api/formats/input Supported input formats
curl https://image.shop6.co.uk/api/formats/input
GET /api/formats/output Supported output formats
curl https://image.shop6.co.uk/api/formats/output
GET /api/stats Conversion statistics
curl https://image.shop6.co.uk/api/stats
ProImage Converter v1.0 · FastAPI backend with interactive documentation also at /docs (Swagger UI)