| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file to convert |
| format | string | No | Output format (webp, jpeg, png, avif, gif, tiff, bmp, ico, pdf). Default: webp |
| quality | int | No | Quality 1-100. Default: 85 |
| max_dimension | int | No | Max width/height in pixels |
| metadata_mode | string | No | strip_gps, strip_gps_device, strip_all, preserve_all. Default: strip_gps |
| auto_orient | bool | No | Auto-rotate from EXIF. Default: true |
| naming_pattern | string | No | Output naming pattern. Default: {name}.{ext} |
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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| formats | string | No | Comma-separated formats. Default: webp,jpeg |
| quality | int | No | Quality 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
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
curl https://image.shop6.co.uk/api/jobs?limit=20&offset=0
curl https://image.shop6.co.uk/api/jobs/j_abc123def456
curl https://image.shop6.co.uk/api/jobs/j_abc123def456/download --output result.zip
curl -X DELETE https://image.shop6.co.uk/api/jobs/j_abc123def456
curl https://image.shop6.co.uk/api/presets
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"}
}
}'
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| auto_enhance | bool | No | One-click auto improvement. Default: false |
| brightness | int | No | -100 to 100. Default: 0 |
| contrast | int | No | -100 to 100. Default: 0 |
| saturation | int | No | -100 to 100. Default: 0 |
| sharpness | int | No | 0 to 200. Default: 0 |
| temperature | int | No | -100 to 100. Default: 0 |
| vibrance | int | No | -100 to 100. Default: 0 |
| vignette | string | No | off, light, medium, heavy. Default: off |
| noise_reduction | string | No | light, 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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| text | string | No | Watermark text (required if no watermark_image) |
| watermark_image | file | No | Watermark image file |
| position | string | No | bottom-right, bottom-left, center, etc. Default: bottom-right |
| opacity | int | No | 10-100. Default: 50 |
| tile | bool | No | Repeat 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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| model | string | No | u2net, u2netp, u2net_human_seg, isnet-general-use, birefnet-general. Default: u2net |
| bg_type | string | No | transparent, white, colour. Default: transparent |
| shadow | bool | No | Add drop shadow. Default: false |
| trim | bool | No | Trim 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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| scale | int | No | 2, 3, or 4. Default: 2 |
| model | string | No | fsrcnn 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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | Image file |
| aspect | string | No | 1:1, 4:3, 16:9, 3:2, 9:16. Default: 1:1 |
| mode | string | No | auto, face, saliency, product, center. Default: auto |
| width | int | No | Exact output width (overrides aspect) |
| height | int | No | Exact 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
| Name | Type | Required | Description |
|---|---|---|---|
| file | file | Yes | PDF file |
| dpi | int | No | Resolution. Default: 200 |
| format | string | No | Output 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
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
curl https://image.shop6.co.uk/api/models/bg-remove
curl https://image.shop6.co.uk/api/models/upscale
curl -X POST https://image.shop6.co.uk/api/analyse \ -F "file=@photo.jpg"
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"
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"
curl https://image.shop6.co.uk/api/health
curl https://image.shop6.co.uk/api/formats/input
curl https://image.shop6.co.uk/api/formats/output
curl https://image.shop6.co.uk/api/stats