docs: section-prefix tool API endpoints

This commit is contained in:
SnapOtter
2026-06-21 00:12:59 +08:00
parent b052241c92
commit 9f0b43271c
161 changed files with 404 additions and 402 deletions
+4 -4
View File
@@ -235,13 +235,13 @@ Two-phase workflow: analyze (detect face + remove background) then generate (cro
### Phase 1: Analyze
`POST /api/v1/tools/passport-photo/analyze`
`POST /api/v1/tools/image/passport-photo/analyze`
Accepts an image file (multipart). Returns face landmark data, a base64 preview, and image dimensions.
### Phase 2: Generate
`POST /api/v1/tools/passport-photo/generate`
`POST /api/v1/tools/image/passport-photo/generate`
Accepts a JSON body with the Phase 1 results plus generation settings:
@@ -370,7 +370,7 @@ Fixes "fake transparent" PNGs where the background was removed but left behind f
| `removeWatermark` | boolean | `false` | Apply watermark removal pre-processing (median filter) |
```bash
curl -X POST http://localhost:1349/api/v1/tools/transparency-fixer \
curl -X POST http://localhost:1349/api/v1/tools/image/transparency-fixer \
-H "Authorization: Bearer <token>" \
-F "file=@fake-transparent.png" \
-F 'settings={"defringe":30,"outputFormat":"png"}'
@@ -401,7 +401,7 @@ Analyzes the image and applies automatic corrections for exposure, contrast, whi
| `corrections.denoise` | boolean | `true` | Apply denoising |
| `deepEnhance` | boolean | `false` | Enable AI noise removal via SCUNet (requires `upscale-enhance` bundle) |
An additional analysis endpoint is available at `POST /api/v1/tools/image-enhancement/analyze` which returns the detected corrections without applying them.
An additional analysis endpoint is available at `POST /api/v1/tools/image/image-enhancement/analyze` which returns the detected corrections without applying them.
### Content-Aware Resize (Seam Carving)
+21 -19
View File
@@ -25,7 +25,7 @@ curl -X POST http://localhost:1349/api/auth/login \
# Returns: {"token":"<session-token>"}
# Use token
curl http://localhost:1349/api/v1/tools/resize \
curl http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer <session-token>"
```
@@ -42,7 +42,7 @@ curl -X POST http://localhost:1349/api/v1/api-keys \
# Returns: {"key":"si_<96 hex chars>","id":"...","name":"my-script"}
# Use the key
curl http://localhost:1349/api/v1/tools/resize \
curl http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_<your-key>"
```
@@ -87,19 +87,21 @@ Every tool follows the same pattern:
```bash
# Single file
curl -X POST http://localhost:1349/api/v1/tools/<toolId> \
curl -X POST http://localhost:1349/api/v1/tools/<section>/<toolId> \
-H "Authorization: Bearer <token>" \
-F "file=@input.jpg" \
-F 'settings={"width":800,"height":600}'
# Batch (returns ZIP)
curl -X POST http://localhost:1349/api/v1/tools/<toolId>/batch \
curl -X POST http://localhost:1349/api/v1/tools/<section>/<toolId>/batch \
-H "Authorization: Bearer <token>" \
-F "files=@a.jpg" \
-F "files=@b.jpg" \
-F 'settings={...}'
```
`<section>` is one of `image`, `video`, `audio`, `pdf`, or `files`.
- Upload is `multipart/form-data`.
- `settings` is a JSON string with tool-specific options.
- **Fast tools** (200) return JSON: `{"jobId":"...","downloadUrl":"/api/v1/download/<jobId>/<filename>","originalSize":1234,"processedSize":567}`. Fetch the processed file from `downloadUrl`.
@@ -331,7 +333,7 @@ All AI tools run on your hardware (CPU or NVIDIA GPU). No internet required.
Capture a webpage as an image. Unlike other tools, this endpoint accepts `application/json` instead of multipart form data (no file upload needed).
**Endpoint:** `POST /api/v1/tools/html-to-image`
**Endpoint:** `POST /api/v1/tools/image/html-to-image`
**Content-Type:** `application/json`
@@ -348,7 +350,7 @@ Capture a webpage as an image. Unlike other tools, this endpoint accepts `applic
**Example:**
```bash
curl -X POST http://localhost:1349/api/v1/tools/html-to-image \
curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://snapotter.com", "format": "png", "devicePreset": "desktop"}'
@@ -367,28 +369,28 @@ curl -X POST http://localhost:1349/api/v1/tools/html-to-image \
### Tool Sub-Routes
Some tools expose additional endpoints beyond the standard `POST /api/v1/tools/<toolId>`:
Some tools expose additional endpoints beyond the standard `POST /api/v1/tools/<section>/<toolId>`:
| Method | Path | Description |
|--------|------|-------------|
| `POST` | `/api/v1/tools/remove-background/effects` | Apply background effects (color/gradient/blur/shadow) without re-running AI. Uses cached mask from initial removal. |
| `POST` | `/api/v1/tools/edit-metadata/inspect` | Read existing EXIF/IPTC/XMP metadata from an image |
| `POST` | `/api/v1/tools/strip-metadata/inspect` | Inspect metadata fields before stripping |
| `POST` | `/api/v1/tools/passport-photo/analyze` | Phase 1: AI face detection + background removal. Returns face landmarks and cached data. |
| `POST` | `/api/v1/tools/passport-photo/generate` | Phase 2: Crop, resize, and tile using cached analysis. No AI re-run. |
| `POST` | `/api/v1/tools/gif-tools/info` | Get GIF metadata (frame count, dimensions, duration) |
| `POST` | `/api/v1/tools/pdf-to-image/info` | Get PDF metadata (page count, dimensions) |
| `POST` | `/api/v1/tools/pdf-to-image/preview` | Generate a preview of a specific PDF page |
| `POST` | `/api/v1/tools/svg-to-raster/batch` | Batch convert multiple SVGs to raster |
| `POST` | `/api/v1/tools/image-enhancement/analyze` | Analyze image quality and return enhancement recommendations |
| `POST` | `/api/v1/tools/optimize-for-web/preview` | Lightweight preview for live parameter tuning. Returns optimized image with size headers. |
| `POST` | `/api/v1/tools/image/remove-background/effects` | Apply background effects (color/gradient/blur/shadow) without re-running AI. Uses cached mask from initial removal. |
| `POST` | `/api/v1/tools/image/edit-metadata/inspect` | Read existing EXIF/IPTC/XMP metadata from an image |
| `POST` | `/api/v1/tools/image/strip-metadata/inspect` | Inspect metadata fields before stripping |
| `POST` | `/api/v1/tools/image/passport-photo/analyze` | Phase 1: AI face detection + background removal. Returns face landmarks and cached data. |
| `POST` | `/api/v1/tools/image/passport-photo/generate` | Phase 2: Crop, resize, and tile using cached analysis. No AI re-run. |
| `POST` | `/api/v1/tools/image/gif-tools/info` | Get GIF metadata (frame count, dimensions, duration) |
| `POST` | `/api/v1/tools/pdf/pdf-to-image/info` | Get PDF metadata (page count, dimensions) |
| `POST` | `/api/v1/tools/pdf/pdf-to-image/preview` | Generate a preview of a specific PDF page |
| `POST` | `/api/v1/tools/image/svg-to-raster/batch` | Batch convert multiple SVGs to raster |
| `POST` | `/api/v1/tools/image/image-enhancement/analyze` | Analyze image quality and return enhancement recommendations |
| `POST` | `/api/v1/tools/image/optimize-for-web/preview` | Lightweight preview for live parameter tuning. Returns optimized image with size headers. |
## Batch Processing
Apply any tool to multiple files at once. Returns a ZIP archive.
```bash
curl -X POST http://localhost:1349/api/v1/tools/compress/batch \
curl -X POST http://localhost:1349/api/v1/tools/image/compress/batch \
-H "Authorization: Bearer <token>" \
-F "files=@a.jpg" \
-F "files=@b.jpg" \
+1 -1
View File
@@ -81,7 +81,7 @@ This VitePress site. Deployed to Cloudflare Pages automatically on push to `main
## How a request flows
1. The user picks a tool in the web UI and uploads a file.
2. The frontend sends a multipart POST to `/api/v1/tools/:toolId` with the file and settings.
2. The frontend sends a multipart POST to `/api/v1/tools/:section/:toolId` with the file and settings.
3. The API route validates the input with Zod, then dispatches processing.
4. For standard tools, the job is enqueued to the appropriate BullMQ pool (image, media, or docs based on modality). The in-process BullMQ worker auto-orients the image based on EXIF metadata, runs the tool's process function, and returns the result.
5. For AI tools, the TypeScript bridge sends a request to the persistent Python dispatcher (or spawns a fresh subprocess as fallback), waits for it to finish, and reads the output file.
+1 -1
View File
@@ -139,7 +139,7 @@ Every file you process can be saved to your **Files** library. SnapOtter tracks
Every tool is accessible via HTTP:
```bash
curl -X POST http://localhost:1349/api/v1/tools/resize \
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_<your-api-key>" \
-F "file=@photo.jpg" \
-F 'settings={"width":800,"height":600,"fit":"cover"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert audio between mono and stereo layouts, or swap the left and right channe
## API Endpoint
`POST /api/v1/tools/audio-channels`
`POST /api/v1/tools/audio/audio-channels`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/audio-channels \
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-channels \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"mode": "stereo-to-mono"}'
+3 -3
View File
@@ -8,7 +8,7 @@ View, edit, or strip audio metadata tags such as title, artist, and album (ID3 a
## API Endpoint
`POST /api/v1/tools/audio-metadata`
`POST /api/v1/tools/audio/audio-metadata`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -26,7 +26,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
Edit metadata tags:
```bash
curl -X POST http://localhost:1349/api/v1/tools/audio-metadata \
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"title": "My Song", "artist": "Artist Name", "album": "Album Name"}'
@@ -35,7 +35,7 @@ curl -X POST http://localhost:1349/api/v1/tools/audio-metadata \
Strip all metadata:
```bash
curl -X POST http://localhost:1349/api/v1/tools/audio-metadata \
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"strip": true}'
+2 -2
View File
@@ -8,7 +8,7 @@ Speed up or slow down audio playback by applying a speed multiplier.
## API Endpoint
`POST /api/v1/tools/audio-speed`
`POST /api/v1/tools/audio/audio-speed`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/audio-speed \
curl -X POST http://localhost:1349/api/v1/tools/audio/audio-speed \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"factor": 2}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert audio files between common formats including MP3, WAV, OGG, FLAC, and M4
## API Endpoint
`POST /api/v1/tools/convert-audio`
`POST /api/v1/tools/audio/convert-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/convert-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"format": "flac", "bitrateKbps": 256}'
+2 -2
View File
@@ -8,7 +8,7 @@ Add fade-in and fade-out effects to the beginning and end of an audio file.
## API Endpoint
`POST /api/v1/tools/fade-audio`
`POST /api/v1/tools/audio/fade-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/fade-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/fade-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"fadeInS": 2, "fadeOutS": 3}'
+2 -2
View File
@@ -8,7 +8,7 @@ Combine two or more audio files into a single sequential track, concatenated in
## API Endpoint
`POST /api/v1/tools/merge-audio`
`POST /api/v1/tools/audio/merge-audio`
Accepts multipart form data with multiple audio files and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with multiple audio files and a JSON `settings` fiel
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/merge-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/merge-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@intro.mp3" \
-F "file=@main.mp3" \
+2 -2
View File
@@ -8,7 +8,7 @@ Reduce background noise in an audio file using FFT-based denoising with selectab
## API Endpoint
`POST /api/v1/tools/noise-reduction`
`POST /api/v1/tools/audio/noise-reduction`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/noise-reduction \
curl -X POST http://localhost:1349/api/v1/tools/audio/noise-reduction \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"strength": "strong"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Even out audio loudness to broadcast standard levels using EBU R128 normalizatio
## API Endpoint
`POST /api/v1/tools/normalize-audio`
`POST /api/v1/tools/audio/normalize-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. It applies EBU R128 loudness normaliza
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/normalize-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/normalize-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Raise or lower the pitch of an audio file by a number of semitones without chang
## API Endpoint
`POST /api/v1/tools/pitch-shift`
`POST /api/v1/tools/audio/pitch-shift`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/pitch-shift \
curl -X POST http://localhost:1349/api/v1/tools/audio/pitch-shift \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"semitones": -5}'
+2 -2
View File
@@ -8,7 +8,7 @@ Reverse an audio file so it plays backwards.
## API Endpoint
`POST /api/v1/tools/reverse-audio`
`POST /api/v1/tools/audio/reverse-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. The entire audio file is reversed.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/reverse-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/reverse-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Create a ringtone clip (.m4r) from any audio file by selecting a start time and
## API Endpoint
`POST /api/v1/tools/ringtone-maker`
`POST /api/v1/tools/audio/ringtone-maker`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/ringtone-maker \
curl -X POST http://localhost:1349/api/v1/tools/audio/ringtone-maker \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"startS": 15, "durationS": 20}'
+2 -2
View File
@@ -8,7 +8,7 @@ Detect and remove silent sections from an audio file based on a configurable thr
## API Endpoint
`POST /api/v1/tools/silence-removal`
`POST /api/v1/tools/audio/silence-removal`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/silence-removal \
curl -X POST http://localhost:1349/api/v1/tools/audio/silence-removal \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"thresholdDb": -45, "minSilenceS": 1}'
+3 -3
View File
@@ -8,7 +8,7 @@ Split an audio file into segments by fixed time intervals, equal parts, or autom
## API Endpoint
`POST /api/v1/tools/split-audio`
`POST /api/v1/tools/audio/split-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -27,7 +27,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
Split into 30-second segments:
```bash
curl -X POST http://localhost:1349/api/v1/tools/split-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"mode": "time", "segmentS": 30}'
@@ -36,7 +36,7 @@ curl -X POST http://localhost:1349/api/v1/tools/split-audio \
Split by silence detection:
```bash
curl -X POST http://localhost:1349/api/v1/tools/split-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/split-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"mode": "silence", "thresholdDb": -35, "minSilenceS": 0.5}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert speech to text using AI-powered transcription (faster-whisper). Supports
## API Endpoint
`POST /api/v1/tools/transcribe-audio`
`POST /api/v1/tools/audio/transcribe-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/transcribe-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/transcribe-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"language": "en", "outputFormat": "srt"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Cut a section out of an audio file by specifying start and end times in seconds.
## API Endpoint
`POST /api/v1/tools/trim-audio`
`POST /api/v1/tools/audio/trim-audio`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/trim-audio \
curl -X POST http://localhost:1349/api/v1/tools/audio/trim-audio \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"startS": 10, "endS": 45}'
+2 -2
View File
@@ -8,7 +8,7 @@ Increase or decrease the volume of an audio file by applying a fixed gain in dec
## API Endpoint
`POST /api/v1/tools/volume-adjust`
`POST /api/v1/tools/audio/volume-adjust`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/volume-adjust \
curl -X POST http://localhost:1349/api/v1/tools/audio/volume-adjust \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"gainDb": 6}'
+2 -2
View File
@@ -8,7 +8,7 @@ Generate a waveform visualization as a PNG image from an audio file, with config
## API Endpoint
`POST /api/v1/tools/waveform-image`
`POST /api/v1/tools/audio/waveform-image`
Accepts multipart form data with an audio file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with an audio file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/waveform-image \
curl -X POST http://localhost:1349/api/v1/tools/audio/waveform-image \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@audio.mp3" \
-F 'settings={"width": 1920, "height": 400, "color": "#e07832"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Create bar, line, or pie charts from CSV or JSON data. Returns a PNG image of th
## API Endpoint
`POST /api/v1/tools/chart-maker`
`POST /api/v1/tools/files/chart-maker`
Accepts multipart form data with a CSV or JSON file and a JSON `settings` field.
@@ -24,7 +24,7 @@ Accepts multipart form data with a CSV or JSON file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/chart-maker \
curl -X POST http://localhost:1349/api/v1/tools/files/chart-maker \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@sales.csv" \
-F 'settings={"kind": "line", "title": "Monthly Sales", "width": 960, "height": 540}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert documents between Word (DOCX), OpenDocument (ODT), RTF, and plain text f
## API Endpoint
`POST /api/v1/tools/convert-document`
`POST /api/v1/tools/files/convert-document`
Accepts multipart form data with a Word/ODT/RTF/TXT file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with a Word/ODT/RTF/TXT file and a JSON `settings` f
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert-document \
curl -X POST http://localhost:1349/api/v1/tools/files/convert-document \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx" \
-F 'settings={"format": "odt"}'
@@ -8,7 +8,7 @@ Convert presentations between PowerPoint (PPTX) and OpenDocument Presentation (O
## API Endpoint
`POST /api/v1/tools/convert-presentation`
`POST /api/v1/tools/files/convert-presentation`
Accepts multipart form data with a PowerPoint/ODP file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with a PowerPoint/ODP file and a JSON `settings` fie
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert-presentation \
curl -X POST http://localhost:1349/api/v1/tools/files/convert-presentation \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx" \
-F 'settings={"format": "odp"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert spreadsheets between Excel (XLSX), OpenDocument Spreadsheet (ODS), and C
## API Endpoint
`POST /api/v1/tools/convert-spreadsheet`
`POST /api/v1/tools/files/convert-spreadsheet`
Accepts multipart form data with an Excel/ODS/CSV file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an Excel/ODS/CSV file and a JSON `settings` fie
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert-spreadsheet \
curl -X POST http://localhost:1349/api/v1/tools/files/convert-spreadsheet \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.xlsx" \
-F 'settings={"format": "csv"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Bundle multiple files of any type into a single ZIP archive. Duplicate filenames
## API Endpoint
`POST /api/v1/tools/create-zip`
`POST /api/v1/tools/files/create-zip`
Accepts multipart form data with two or more files. No settings field is required.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload 2--50 files of any type to bund
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/create-zip \
curl -X POST http://localhost:1349/api/v1/tools/files/create-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf" \
-F "file=@data.csv" \
+3 -3
View File
@@ -8,7 +8,7 @@ Convert between CSV and Excel (XLSX) formats in both directions. Upload a CSV or
## API Endpoint
`POST /api/v1/tools/csv-excel`
`POST /api/v1/tools/files/csv-excel`
Accepts multipart form data with a CSV, TSV, or XLSX file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with a CSV, TSV, or XLSX file and a JSON `settings`
CSV to Excel:
```bash
curl -X POST http://localhost:1349/api/v1/tools/csv-excel \
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.csv" \
-F 'settings={"sheet": 1}'
@@ -32,7 +32,7 @@ curl -X POST http://localhost:1349/api/v1/tools/csv-excel \
Excel to CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/csv-excel \
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.xlsx" \
-F 'settings={"sheet": 2}'
+3 -3
View File
@@ -8,7 +8,7 @@ Convert between CSV and JSON formats in both directions. Upload a CSV or TSV fil
## API Endpoint
`POST /api/v1/tools/csv-json`
`POST /api/v1/tools/files/csv-json`
Accepts multipart form data with a CSV, TSV, or JSON file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with a CSV, TSV, or JSON file and a JSON `settings`
CSV to JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/csv-json \
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.csv" \
-F 'settings={"pretty": true}'
@@ -32,7 +32,7 @@ curl -X POST http://localhost:1349/api/v1/tools/csv-json \
JSON to CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/csv-json \
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.json" \
-F 'settings={}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert an EPUB e-book to PDF, Word (DOCX), HTML, or Markdown. Remote resources
## API Endpoint
`POST /api/v1/tools/epub-convert`
`POST /api/v1/tools/files/epub-convert`
Accepts multipart form data with an EPUB file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an EPUB file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/epub-convert \
curl -X POST http://localhost:1349/api/v1/tools/files/epub-convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@book.epub" \
-F 'settings={"format": "pdf"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert Excel, OpenDocument, or CSV spreadsheets to PDF. Wide sheets may paginat
## API Endpoint
`POST /api/v1/tools/excel-to-pdf`
`POST /api/v1/tools/files/excel-to-pdf`
Accepts multipart form data with an Excel/ODS/CSV file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a spreadsheet and it will be co
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/excel-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/files/excel-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@budget.xlsx"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Safely extract files from a ZIP archive. Single-file archives return the contain
## API Endpoint
`POST /api/v1/tools/extract-zip`
`POST /api/v1/tools/files/extract-zip`
Accepts multipart form data with a ZIP file. No settings field is required.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a `.zip` file to extract.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/extract-zip \
curl -X POST http://localhost:1349/api/v1/tools/files/extract-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@archive.zip"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Convert an HTML file to a styled PDF document. Remote resources (external images
## API Endpoint
`POST /api/v1/tools/html-to-pdf`
`POST /api/v1/tools/files/html-to-pdf`
Accepts multipart form data with an HTML file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload an HTML file and it will be con
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/html-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/files/html-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@page.html"
```
+3 -3
View File
@@ -8,7 +8,7 @@ Convert between JSON and XML formats in both directions. Upload a JSON file to g
## API Endpoint
`POST /api/v1/tools/json-xml`
`POST /api/v1/tools/files/json-xml`
Accepts multipart form data with a JSON or XML file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with a JSON or XML file and a JSON `settings` field.
JSON to XML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/json-xml \
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json" \
-F 'settings={"pretty": true}'
@@ -32,7 +32,7 @@ curl -X POST http://localhost:1349/api/v1/tools/json-xml \
XML to JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/json-xml \
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.xml" \
-F 'settings={"pretty": true}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert a Markdown file to a Word document (DOCX), preserving headings, lists, c
## API Endpoint
`POST /api/v1/tools/markdown-to-docx`
`POST /api/v1/tools/files/markdown-to-docx`
Accepts multipart form data with a Markdown file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a Markdown file and it will be
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/markdown-to-docx \
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-docx \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@README.md"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Convert a Markdown file to a standalone HTML page. Remote images referenced in t
## API Endpoint
`POST /api/v1/tools/markdown-to-html`
`POST /api/v1/tools/files/markdown-to-html`
Accepts multipart form data with a Markdown file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a Markdown file and it will be
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/markdown-to-html \
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-html \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@notes.md"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Convert a Markdown file to a styled PDF document. Remote resources are disabled
## API Endpoint
`POST /api/v1/tools/markdown-to-pdf`
`POST /api/v1/tools/files/markdown-to-pdf`
Accepts multipart form data with a Markdown file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a Markdown file and it will be
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/markdown-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.md"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Combine multiple CSV or TSV files with matching columns into a single merged fil
## API Endpoint
`POST /api/v1/tools/merge-csvs`
`POST /api/v1/tools/files/merge-csvs`
Accepts multipart form data with two or more CSV files. No settings field is required.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload 2--20 CSV or TSV files with mat
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/merge-csvs \
curl -X POST http://localhost:1349/api/v1/tools/files/merge-csvs \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@january.csv" \
-F "file=@february.csv" \
+2 -2
View File
@@ -8,7 +8,7 @@ Convert PowerPoint or OpenDocument presentations to PDF, with one slide per page
## API Endpoint
`POST /api/v1/tools/powerpoint-to-pdf`
`POST /api/v1/tools/files/powerpoint-to-pdf`
Accepts multipart form data with a PowerPoint/ODP file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a presentation and it will be c
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/powerpoint-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/files/powerpoint-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Split a large CSV or TSV file into smaller files by row count. Returns a ZIP arc
## API Endpoint
`POST /api/v1/tools/split-csv`
`POST /api/v1/tools/files/split-csv`
Accepts multipart form data with a CSV file and a JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with a CSV file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/split-csv \
curl -X POST http://localhost:1349/api/v1/tools/files/split-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@large-dataset.csv" \
-F 'settings={"rowsPerFile": 500, "keepHeader": true}'
+2 -2
View File
@@ -8,7 +8,7 @@ Convert Word documents, Markdown, HTML, or plain text files into the EPUB e-book
## API Endpoint
`POST /api/v1/tools/to-epub`
`POST /api/v1/tools/files/to-epub`
Accepts multipart form data with a Word/Markdown/HTML/TXT file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a document and it will be conve
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/to-epub \
curl -X POST http://localhost:1349/api/v1/tools/files/to-epub \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@manuscript.docx"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Convert Word documents, OpenDocument text, RTF, or plain text files to PDF.
## API Endpoint
`POST /api/v1/tools/word-to-pdf`
`POST /api/v1/tools/files/word-to-pdf`
Accepts multipart form data with a Word/ODT/RTF/TXT file.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. Upload a document and it will be conve
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/word-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/files/word-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Extract repeating elements from an XML file into a flat CSV table. The tool auto
## API Endpoint
`POST /api/v1/tools/xml-to-csv`
`POST /api/v1/tools/files/xml-to-csv`
Accepts multipart form data with an XML file. No settings field is required.
@@ -19,7 +19,7 @@ This tool has no configurable parameters. The repeating element is auto-detected
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/xml-to-csv \
curl -X POST http://localhost:1349/api/v1/tools/files/xml-to-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@catalog.xml"
```
+3 -3
View File
@@ -8,7 +8,7 @@ Convert between YAML and JSON formats in both directions. Upload a YAML file to
## API Endpoint
`POST /api/v1/tools/yaml-json`
`POST /api/v1/tools/files/yaml-json`
Accepts multipart form data with a YAML or JSON file. No settings field is required.
@@ -21,7 +21,7 @@ This tool has no configurable parameters. The conversion direction is determined
YAML to JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/yaml-json \
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.yaml"
```
@@ -29,7 +29,7 @@ curl -X POST http://localhost:1349/api/v1/tools/yaml-json \
JSON to YAML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/yaml-json \
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json"
```
+4 -4
View File
@@ -8,7 +8,7 @@ Comprehensive color adjustment tool combining brightness, contrast, exposure, sa
## API Endpoint
`POST /api/v1/tools/adjust-colors`
`POST /api/v1/tools/image/adjust-colors`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -32,7 +32,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/adjust-colors \
curl -X POST http://localhost:1349/api/v1/tools/image/adjust-colors \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"brightness": 20, "contrast": 10, "saturation": -30, "effect": "none"}'
@@ -41,7 +41,7 @@ curl -X POST http://localhost:1349/api/v1/tools/adjust-colors \
Apply a warm vintage look:
```bash
curl -X POST http://localhost:1349/api/v1/tools/adjust-colors \
curl -X POST http://localhost:1349/api/v1/tools/image/adjust-colors \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"temperature": 40, "saturation": -15, "contrast": 10, "effect": "sepia"}'
@@ -64,5 +64,5 @@ curl -X POST http://localhost:1349/api/v1/tools/adjust-colors \
- Adjustments are applied in this order: brightness, contrast, exposure, saturation/hue, temperature/tint, sharpness, channels, effects.
- Temperature uses a 3x3 color recombination matrix on the blue-orange and green-magenta axes.
- Exposure maps to Sharp's gamma function (positive brightens midtones, negative darkens them).
- This endpoint also responds at the legacy paths `/api/v1/tools/brightness-contrast`, `/api/v1/tools/saturation`, `/api/v1/tools/color-channels`, and `/api/v1/tools/color-effects`. All use the same schema.
- This endpoint also responds at the legacy paths `/api/v1/tools/image/brightness-contrast`, `/api/v1/tools/image/saturation`, `/api/v1/tools/image/color-channels`, and `/api/v1/tools/image/color-effects`. All use the same schema.
- Output format matches the input format. HEIC, RAW, PSD, and SVG inputs are automatically decoded before processing.
+2 -2
View File
@@ -4,7 +4,7 @@ Expand the canvas of an image with AI-powered fill (outpainting). Extends the im
## API Endpoint
`POST /api/v1/tools/ai-canvas-expand`
`POST /api/v1/tools/image/ai-canvas-expand`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -28,7 +28,7 @@ At least one extend direction must be greater than 0.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/ai-canvas-expand \
curl -X POST http://localhost:1349/api/v1/tools/image/ai-canvas-expand \
-F "file=@photo.jpg" \
-F 'settings={"extendTop":200,"extendBottom":200,"extendLeft":100,"extendRight":100,"tier":"balanced"}'
```
+2 -2
View File
@@ -8,7 +8,7 @@ Replace the background of an image with a solid color or gradient. The AI model
## API Endpoint
`POST /api/v1/tools/background-replace`
`POST /api/v1/tools/image/background-replace`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -27,7 +27,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/background-replace \
curl -X POST http://localhost:1349/api/v1/tools/image/background-replace \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"backgroundType": "color", "color": "#2563eb", "feather": 2}'
+2 -2
View File
@@ -8,7 +8,7 @@ Generate barcode images from text input. Supports Code 128, EAN-13, UPC-A, Code
## API Endpoint
`POST /api/v1/tools/barcode-generate`
`POST /api/v1/tools/image/barcode-generate`
Accepts an `application/json` body (not multipart). The barcode is generated from the provided text, not from an uploaded file.
@@ -24,7 +24,7 @@ Accepts an `application/json` body (not multipart). The barcode is generated fro
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/barcode-generate \
curl -X POST http://localhost:1349/api/v1/tools/image/barcode-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "5901234123457", "type": "ean13", "scale": 4}'
+2 -2
View File
@@ -8,7 +8,7 @@ Scan uploaded images for all types of barcodes and QR codes. Returns decoded tex
## API Endpoint
`POST /api/v1/tools/barcode-read`
`POST /api/v1/tools/image/barcode-read`
Accepts multipart form data with an image file and an optional JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an image file and an optional JSON `settings` f
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/barcode-read \
curl -X POST http://localhost:1349/api/v1/tools/image/barcode-read \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@receipt.jpg" \
-F 'settings={"tryHarder": true}'
+3 -3
View File
@@ -4,7 +4,7 @@ Add gradient backgrounds, device frames, shadows, watermarks, and social media s
## API Endpoint
`POST /api/v1/tools/beautify`
`POST /api/v1/tools/image/beautify`
## Parameters
@@ -33,7 +33,7 @@ Add gradient backgrounds, device frames, shadows, watermarks, and social media s
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/beautify \
curl -X POST http://localhost:1349/api/v1/tools/image/beautify \
-F "file=@screenshot.png" \
-F 'settings={"backgroundType":"linear-gradient","gradientStops":[{"color":"#667eea","position":0},{"color":"#764ba2","position":100}],"gradientAngle":135,"padding":64,"borderRadius":12,"shadowPreset":"medium","frame":"macos-dark","socialPreset":"twitter"}'
```
@@ -41,7 +41,7 @@ curl -X POST http://localhost:1349/api/v1/tools/beautify \
### With Background Image
```bash
curl -X POST http://localhost:1349/api/v1/tools/beautify \
curl -X POST http://localhost:1349/api/v1/tools/image/beautify \
-F "file=@screenshot.png" \
-F "backgroundImage=@bg-texture.jpg" \
-F 'settings={"backgroundType":"image","padding":80,"borderRadius":16,"shadowPreset":"dramatic"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Blur the background of an image while keeping the subject sharp. The AI model is
## API Endpoint
`POST /api/v1/tools/blur-background`
`POST /api/v1/tools/image/blur-background`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/blur-background \
curl -X POST http://localhost:1349/api/v1/tools/image/blur-background \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"intensity": 75, "feather": 3}'
+2 -2
View File
@@ -4,7 +4,7 @@ Auto-detect and blur faces in images using AI-powered face detection (MediaPipe)
## API Endpoint
`POST /api/v1/tools/blur-faces`
`POST /api/v1/tools/image/blur-faces`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -21,7 +21,7 @@ Auto-detect and blur faces in images using AI-powered face detection (MediaPipe)
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/blur-faces \
curl -X POST http://localhost:1349/api/v1/tools/image/blur-faces \
-F "file=@group-photo.jpg" \
-F 'settings={"blurRadius":40,"sensitivity":0.3}'
```
+2 -2
View File
@@ -4,7 +4,7 @@ Add borders, padding, rounded corners, and drop shadows to images. The tool appl
## API Endpoint
`POST /api/v1/tools/border`
`POST /api/v1/tools/image/border`
## Parameters
@@ -25,7 +25,7 @@ Add borders, padding, rounded corners, and drop shadows to images. The tool appl
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/border \
curl -X POST http://localhost:1349/api/v1/tools/image/border \
-F "file=@photo.jpg" \
-F 'settings={"borderWidth":20,"borderColor":"#333333","cornerRadius":16,"shadow":true,"shadowBlur":25,"shadowOpacity":50}'
```
+3 -3
View File
@@ -8,7 +8,7 @@ Rename multiple files using a pattern template with placeholders for index, padd
## API Endpoint
`POST /api/v1/tools/bulk-rename`
`POST /api/v1/tools/image/bulk-rename`
Accepts multipart form data with multiple files and a JSON `settings` field.
@@ -32,7 +32,7 @@ The original file extension is always preserved.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/bulk-rename \
curl -X POST http://localhost:1349/api/v1/tools/image/bulk-rename \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo1.jpg" \
-F "file=@photo2.jpg" \
@@ -45,7 +45,7 @@ This produces: `vacation-1.jpg`, `vacation-2.jpg`, `vacation-3.jpg`
Using original filename:
```bash
curl -X POST http://localhost:1349/api/v1/tools/bulk-rename \
curl -X POST http://localhost:1349/api/v1/tools/image/bulk-rename \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@IMG_001.jpg" \
-F "file=@IMG_002.jpg" \
+2 -2
View File
@@ -8,7 +8,7 @@ Crop an image to a centered circle with transparent corners. Supports adjustable
## API Endpoint
`POST /api/v1/tools/circle-crop`
`POST /api/v1/tools/image/circle-crop`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -27,7 +27,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/circle-crop \
curl -X POST http://localhost:1349/api/v1/tools/image/circle-crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"zoom": 1.2, "borderWidth": 4, "borderColor": "#333333"}'
+2 -2
View File
@@ -4,7 +4,7 @@ Combine multiple images into beautiful grid collages with 25+ templates. Support
## API Endpoint
`POST /api/v1/tools/collage`
`POST /api/v1/tools/image/collage`
## Parameters
@@ -55,7 +55,7 @@ Combine multiple images into beautiful grid collages with 25+ templates. Support
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/collage \
curl -X POST http://localhost:1349/api/v1/tools/image/collage \
-F "file=@photo1.jpg" \
-F "file=@photo2.jpg" \
-F "file=@photo3.jpg" \
+2 -2
View File
@@ -8,7 +8,7 @@ Simulate color vision deficiency (CVD) to preview how images appear to people wi
## API Endpoint
`POST /api/v1/tools/color-blindness`
`POST /api/v1/tools/image/color-blindness`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -34,7 +34,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/color-blindness \
curl -X POST http://localhost:1349/api/v1/tools/image/color-blindness \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@design.png" \
-F 'settings={"simulationType": "deuteranopia"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Extract the dominant colors from an image and return them as hex color values. U
## API Endpoint
`POST /api/v1/tools/color-palette`
`POST /api/v1/tools/image/color-palette`
Accepts multipart form data with an image file and an optional JSON `settings` field.
@@ -22,7 +22,7 @@ Accepts multipart form data with an image file and an optional JSON `settings` f
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/color-palette \
curl -X POST http://localhost:1349/api/v1/tools/image/color-palette \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"count": 6, "format": "hex"}'
+2 -2
View File
@@ -4,7 +4,7 @@ Convert black-and-white or grayscale photos to full color using AI (DDColor mode
## API Endpoint
`POST /api/v1/tools/colorize`
`POST /api/v1/tools/image/colorize`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -21,7 +21,7 @@ Convert black-and-white or grayscale photos to full color using AI (DDColor mode
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/colorize \
curl -X POST http://localhost:1349/api/v1/tools/image/colorize \
-F "file=@old-bw-photo.jpg" \
-F 'settings={"intensity":0.9,"model":"auto"}'
```
+2 -2
View File
@@ -8,7 +8,7 @@ Upload two images to compute a pixel-level difference map and a numerical simila
## API Endpoint
`POST /api/v1/tools/compare`
`POST /api/v1/tools/image/compare`
Accepts multipart form data with **two** image files. No settings field is needed.
@@ -24,7 +24,7 @@ This tool has no configurable parameters. Upload exactly two image files.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/compare \
curl -X POST http://localhost:1349/api/v1/tools/image/compare \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@original.jpg" \
-F "file=@modified.jpg"
+3 -3
View File
@@ -8,7 +8,7 @@ Layer an overlay image on top of a base image with configurable position, opacit
## API Endpoint
`POST /api/v1/tools/compose`
`POST /api/v1/tools/image/compose`
Accepts multipart form data with **two** image files and a JSON `settings` field.
@@ -46,7 +46,7 @@ Accepts multipart form data with **two** image files and a JSON `settings` field
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/compose \
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@background.jpg" \
-F "overlay=@graphic.png" \
@@ -56,7 +56,7 @@ curl -X POST http://localhost:1349/api/v1/tools/compose \
Using multiply blend mode:
```bash
curl -X POST http://localhost:1349/api/v1/tools/compose \
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F "overlay=@texture.jpg" \
+3 -3
View File
@@ -8,7 +8,7 @@ Reduce image file size by specifying a quality level or a target file size in ki
## API Endpoint
`POST /api/v1/tools/compress`
`POST /api/v1/tools/image/compress`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -25,7 +25,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
Compress to quality 60:
```bash
curl -X POST http://localhost:1349/api/v1/tools/compress \
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "quality", "quality": 60}'
@@ -34,7 +34,7 @@ curl -X POST http://localhost:1349/api/v1/tools/compress \
Compress to target size of 200 KB:
```bash
curl -X POST http://localhost:1349/api/v1/tools/compress \
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"mode": "targetSize", "targetSizeKb": 200}'
@@ -4,7 +4,7 @@ Seam carving resize that intelligently removes or adds pixels along paths of lea
## API Endpoint
`POST /api/v1/tools/content-aware-resize`
`POST /api/v1/tools/image/content-aware-resize`
**Processing:** Synchronous (returns result directly)
@@ -27,7 +27,7 @@ At least one of `width`, `height`, or `square` must be specified.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/content-aware-resize \
curl -X POST http://localhost:1349/api/v1/tools/image/content-aware-resize \
-F "file=@landscape.jpg" \
-F 'settings={"width":800,"protectFaces":true}'
```
+3 -3
View File
@@ -8,7 +8,7 @@ Convert images between formats. Supports common web formats as well as specializ
## API Endpoint
`POST /api/v1/tools/convert`
`POST /api/v1/tools/image/convert`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -45,7 +45,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
Convert to WebP:
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert \
curl -X POST http://localhost:1349/api/v1/tools/image/convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"format": "webp", "quality": 85}'
@@ -54,7 +54,7 @@ curl -X POST http://localhost:1349/api/v1/tools/convert \
Convert to PNG (lossless):
```bash
curl -X POST http://localhost:1349/api/v1/tools/convert \
curl -X POST http://localhost:1349/api/v1/tools/image/convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"format": "png"}'
+3 -3
View File
@@ -8,7 +8,7 @@ Crop images by defining a rectangular region using position and size. Supports b
## API Endpoint
`POST /api/v1/tools/crop`
`POST /api/v1/tools/image/crop`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -25,7 +25,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/crop \
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 100, "top": 50, "width": 800, "height": 600}'
@@ -34,7 +34,7 @@ curl -X POST http://localhost:1349/api/v1/tools/crop \
Crop using percentage values:
```bash
curl -X POST http://localhost:1349/api/v1/tools/crop \
curl -X POST http://localhost:1349/api/v1/tools/image/crop \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"left": 10, "top": 10, "width": 80, "height": 80, "unit": "percent"}'
+2 -2
View File
@@ -8,7 +8,7 @@ Apply a two-color duotone effect to an image. The image is converted to grayscal
## API Endpoint
`POST /api/v1/tools/duotone`
`POST /api/v1/tools/image/duotone`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/duotone \
curl -X POST http://localhost:1349/api/v1/tools/image/duotone \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"shadow": "#0f172a", "highlight": "#f97316", "intensity": 80}'
+6 -6
View File
@@ -10,13 +10,13 @@ Edit image metadata fields including EXIF, IPTC, GPS coordinates, dates, and key
### Edit Metadata
`POST /api/v1/tools/edit-metadata`
`POST /api/v1/tools/image/edit-metadata`
Writes metadata fields to the image and returns the modified file.
### Inspect Metadata
`POST /api/v1/tools/edit-metadata/inspect`
`POST /api/v1/tools/image/edit-metadata/inspect`
Returns the full metadata from the image via ExifTool as JSON. Does not modify the image.
@@ -52,7 +52,7 @@ Returns the full metadata from the image via ExifTool as JSON. Does not modify t
Set author and copyright:
```bash
curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"author": "Jane Smith", "copyright": "2024 Jane Smith"}'
@@ -61,7 +61,7 @@ curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
Set GPS coordinates:
```bash
curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"gpsLatitude": 48.8566, "gpsLongitude": 2.3522, "gpsAltitude": 35}'
@@ -70,7 +70,7 @@ curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
Remove GPS and add keywords:
```bash
curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"clearGps": true, "keywords": ["landscape", "sunset"], "keywordsMode": "add"}'
@@ -79,7 +79,7 @@ curl -X POST http://localhost:1349/api/v1/tools/edit-metadata \
Inspect metadata:
```bash
curl -X POST http://localhost:1349/api/v1/tools/edit-metadata/inspect \
curl -X POST http://localhost:1349/api/v1/tools/image/edit-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
```
+2 -2
View File
@@ -4,7 +4,7 @@ Restore and enhance faces in images using AI models (GFPGAN/CodeFormer).
## API Endpoint
`POST /api/v1/tools/enhance-faces`
`POST /api/v1/tools/image/enhance-faces`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -23,7 +23,7 @@ Restore and enhance faces in images using AI models (GFPGAN/CodeFormer).
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/enhance-faces \
curl -X POST http://localhost:1349/api/v1/tools/image/enhance-faces \
-F "file=@portrait.jpg" \
-F 'settings={"model":"codeformer","strength":0.7,"onlyCenterFace":false}'
```
+2 -2
View File
@@ -4,7 +4,7 @@ Remove unwanted objects from images using AI inpainting (LaMa model). Accepts an
## API Endpoint
`POST /api/v1/tools/erase-object`
`POST /api/v1/tools/image/erase-object`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -22,7 +22,7 @@ Remove unwanted objects from images using AI inpainting (LaMa model). Accepts an
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/erase-object \
curl -X POST http://localhost:1349/api/v1/tools/image/erase-object \
-F "file=@photo.jpg" \
-F "mask=@mask.png" \
-F "format=png" \
+3 -3
View File
@@ -8,7 +8,7 @@ Generate a complete set of favicon and app icon files from a source image. Produ
## API Endpoint
`POST /api/v1/tools/favicon`
`POST /api/v1/tools/image/favicon`
Accepts multipart form data with one or more image files and an optional JSON `settings` field.
@@ -43,7 +43,7 @@ For each input image, the following files are produced:
Single source image with rounded corners and padding:
```bash
curl -X POST http://localhost:1349/api/v1/tools/favicon \
curl -X POST http://localhost:1349/api/v1/tools/image/favicon \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@logo.png" \
-F 'settings={"padding": 10, "radius": 20, "themeColor": "#0a0a0a"}'
@@ -52,7 +52,7 @@ curl -X POST http://localhost:1349/api/v1/tools/favicon \
Multiple source images (each gets its own set in a subfolder):
```bash
curl -X POST http://localhost:1349/api/v1/tools/favicon \
curl -X POST http://localhost:1349/api/v1/tools/image/favicon \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@logo-light.png" \
-F "file=@logo-dark.png"
+2 -2
View File
@@ -8,7 +8,7 @@ Upload multiple images to detect duplicates and near-duplicates using perceptual
## API Endpoint
`POST /api/v1/tools/find-duplicates`
`POST /api/v1/tools/image/find-duplicates`
Accepts multipart form data with multiple image files and an optional JSON `settings` field.
@@ -25,7 +25,7 @@ Upload at least 2 image files in the multipart request (all using the `file` fie
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/find-duplicates \
curl -X POST http://localhost:1349/api/v1/tools/image/find-duplicates \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo1.jpg" \
-F "file=@photo2.jpg" \
+7 -7
View File
@@ -4,7 +4,7 @@ Resize, optimize, change speed, reverse, extract frames, and rotate animated GIF
## API Endpoint
`POST /api/v1/tools/gif-tools`
`POST /api/v1/tools/image/gif-tools`
## Parameters
@@ -60,7 +60,7 @@ Resize, optimize, change speed, reverse, extract frames, and rotate animated GIF
### Resize
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"resize","percentage":50}'
```
@@ -68,7 +68,7 @@ curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
### Optimize
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@large.gif" \
-F 'settings={"mode":"optimize","colors":128,"effort":9}'
```
@@ -76,7 +76,7 @@ curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
### Speed Up
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"speed","speedFactor":2.0}'
```
@@ -84,7 +84,7 @@ curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
### Extract Single Frame
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools \
-F "file=@animation.gif" \
-F 'settings={"mode":"extract","extractMode":"single","frameNumber":5,"extractFormat":"png"}'
```
@@ -102,14 +102,14 @@ curl -X POST http://localhost:1349/api/v1/tools/gif-tools \
## Info Sub-Route
`POST /api/v1/tools/gif-tools/info`
`POST /api/v1/tools/image/gif-tools/info`
Returns metadata about an animated GIF without processing it.
### Info Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-tools/info \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-tools/info \
-F "file=@animation.gif"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Convert animated GIF files to WebP and vice versa, preserving all frames and ani
## API Endpoint
`POST /api/v1/tools/gif-webp`
`POST /api/v1/tools/image/gif-webp`
Accepts multipart form data with a GIF or WebP file and a JSON `settings` field.
@@ -23,7 +23,7 @@ Accepts multipart form data with a GIF or WebP file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/gif-webp \
curl -X POST http://localhost:1349/api/v1/tools/image/gif-webp \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@animation.gif" \
-F 'settings={"quality": 85, "resizePercent": 50}'
+2 -2
View File
@@ -8,7 +8,7 @@ Generate an RGB histogram chart from an image. Returns a PNG histogram image alo
## API Endpoint
`POST /api/v1/tools/histogram`
`POST /api/v1/tools/image/histogram`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -21,7 +21,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/histogram \
curl -X POST http://localhost:1349/api/v1/tools/image/histogram \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"scale": "linear"}'
+3 -3
View File
@@ -8,7 +8,7 @@ Capture a webpage URL or raw HTML content as a screenshot image. Supports device
## API Endpoint
`POST /api/v1/tools/html-to-image`
`POST /api/v1/tools/image/html-to-image`
Accepts a **JSON body** (not multipart). No file upload is needed.
@@ -41,7 +41,7 @@ Either `url` or `html` must be provided, but not both.
Capture a webpage:
```bash
curl -X POST http://localhost:1349/api/v1/tools/html-to-image \
curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com", "format": "png", "fullPage": true, "devicePreset": "desktop"}'
@@ -50,7 +50,7 @@ curl -X POST http://localhost:1349/api/v1/tools/html-to-image \
Render HTML content:
```bash
curl -X POST http://localhost:1349/api/v1/tools/html-to-image \
curl -X POST http://localhost:1349/api/v1/tools/image/html-to-image \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"html": "<div style=\"padding: 20px; background: #f0f0f0;\"><h1>Hello</h1></div>", "format": "png"}'
+4 -4
View File
@@ -4,7 +4,7 @@ One-click auto-improve with smart analysis. Analyzes the image and applies expos
## API Endpoint
`POST /api/v1/tools/image-enhancement`
`POST /api/v1/tools/image/image-enhancement`
**Processing:** Synchronous (uses `createToolRoute` factory, returns result directly)
@@ -34,7 +34,7 @@ One-click auto-improve with smart analysis. Analyzes the image and applies expos
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-enhancement \
curl -X POST http://localhost:1349/api/v1/tools/image/image-enhancement \
-F "file=@photo.jpg" \
-F 'settings={"mode":"portrait","intensity":70,"corrections":{"exposure":true,"contrast":true,"sharpness":false}}'
```
@@ -52,7 +52,7 @@ curl -X POST http://localhost:1349/api/v1/tools/image-enhancement \
## Analyze Endpoint
`POST /api/v1/tools/image-enhancement/analyze`
`POST /api/v1/tools/image/image-enhancement/analyze`
Analyzes an image and returns correction recommendations without applying them.
@@ -65,7 +65,7 @@ Analyzes an image and returns correction recommendations without applying them.
### Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-enhancement/analyze \
curl -X POST http://localhost:1349/api/v1/tools/image/image-enhancement/analyze \
-F "file=@photo.jpg"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Pad an image to a target aspect ratio by adding a solid color, transparent, or b
## API Endpoint
`POST /api/v1/tools/image-pad`
`POST /api/v1/tools/image/image-pad`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -26,7 +26,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-pad \
curl -X POST http://localhost:1349/api/v1/tools/image/image-pad \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"target": "16:9", "background": "blur", "padding": 5}'
+3 -3
View File
@@ -8,7 +8,7 @@ Convert one or more images to base64-encoded strings and data URIs. Supports opt
## API Endpoint
`POST /api/v1/tools/image-to-base64`
`POST /api/v1/tools/image/image-to-base64`
Accepts multipart form data with one or more image files and an optional JSON `settings` field.
@@ -24,7 +24,7 @@ Accepts multipart form data with one or more image files and an optional JSON `s
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-to-base64 \
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@icon.png" \
-F 'settings={"outputFormat": "webp", "quality": 80, "maxWidth": 200}'
@@ -33,7 +33,7 @@ curl -X POST http://localhost:1349/api/v1/tools/image-to-base64 \
Multiple files:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-to-base64 \
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-base64 \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@icon1.png" \
-F "file=@icon2.png" \
+4 -4
View File
@@ -8,7 +8,7 @@ Combine one or more images into a PDF document. Supports multiple page sizes, or
## API Endpoint
`POST /api/v1/tools/image-to-pdf`
`POST /api/v1/tools/image/image-to-pdf`
Accepts multipart form data with one or more image files and a JSON `settings` field.
@@ -36,7 +36,7 @@ Minimum target size is 50 KB.
Basic multi-image PDF:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@page1.jpg" \
-F "file=@page2.jpg" \
@@ -47,7 +47,7 @@ curl -X POST http://localhost:1349/api/v1/tools/image-to-pdf \
With file size target:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@scan1.jpg" \
-F "file=@scan2.jpg" \
@@ -57,7 +57,7 @@ curl -X POST http://localhost:1349/api/v1/tools/image-to-pdf \
One PDF per image:
```bash
curl -X POST http://localhost:1349/api/v1/tools/image-to-pdf \
curl -X POST http://localhost:1349/api/v1/tools/image/image-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo1.jpg" \
-F "file=@photo2.jpg" \
+2 -2
View File
@@ -8,7 +8,7 @@ Read-only analysis tool that returns comprehensive image metadata including dime
## API Endpoint
`POST /api/v1/tools/info`
`POST /api/v1/tools/image/info`
Accepts multipart form data with an image file. No settings field is needed.
@@ -23,7 +23,7 @@ This tool has no configurable parameters. Simply upload the image file.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/info \
curl -X POST http://localhost:1349/api/v1/tools/image/info \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
```
+2 -2
View File
@@ -8,7 +8,7 @@ Generate a tiny low-quality image placeholder (LQIP) from a source image. Return
## API Endpoint
`POST /api/v1/tools/lqip-placeholder`
`POST /api/v1/tools/image/lqip-placeholder`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -25,7 +25,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/lqip-placeholder \
curl -X POST http://localhost:1349/api/v1/tools/image/lqip-placeholder \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"width": 20, "strategy": "blur", "format": "webp"}'
+3 -3
View File
@@ -8,7 +8,7 @@ Create memes using built-in templates or custom images. Add text with classic me
## API Endpoint
`POST /api/v1/tools/meme-generator`
`POST /api/v1/tools/image/meme-generator`
Accepts either:
- **Multipart form data** with an image file and a JSON `settings` field (custom image mode)
@@ -52,7 +52,7 @@ Each entry in the `textBoxes` array should have:
Custom image with top and bottom text:
```bash
curl -X POST http://localhost:1349/api/v1/tools/meme-generator \
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"textLayout": "top-bottom", "textBoxes": [{"id": "top", "text": "When the code works"}, {"id": "bottom", "text": "On the first try"}], "fontFamily": "anton", "allCaps": true}'
@@ -61,7 +61,7 @@ curl -X POST http://localhost:1349/api/v1/tools/meme-generator \
Using a built-in template (JSON body, no file upload):
```bash
curl -X POST http://localhost:1349/api/v1/tools/meme-generator \
curl -X POST http://localhost:1349/api/v1/tools/image/meme-generator \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"templateId": "drake", "textBoxes": [{"id": "top", "text": "Manual testing"}, {"id": "bottom", "text": "Automated tests"}]}'
+2 -2
View File
@@ -8,7 +8,7 @@ AI-powered noise and grain removal with multi-tier quality options, using the Py
## API Endpoint
`POST /api/v1/tools/noise-removal`
`POST /api/v1/tools/image/noise-removal`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -29,7 +29,7 @@ AI-powered noise and grain removal with multi-tier quality options, using the Py
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/noise-removal \
curl -X POST http://localhost:1349/api/v1/tools/image/noise-removal \
-F "file=@noisy-photo.jpg" \
-F 'settings={"tier":"quality","strength":60,"detailPreservation":70,"colorNoise":40}'
```
+2 -2
View File
@@ -8,7 +8,7 @@ Extract text from images using AI-powered optical character recognition. Support
## API Endpoint
`POST /api/v1/tools/ocr`
`POST /api/v1/tools/image/ocr`
**Processing:** Synchronous (returns extracted text directly, though progress is reported via SSE if a `clientJobId` is provided)
@@ -27,7 +27,7 @@ Extract text from images using AI-powered optical character recognition. Support
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/ocr \
curl -X POST http://localhost:1349/api/v1/tools/image/ocr \
-F "file=@document.png" \
-F 'settings={"quality":"best","language":"en","enhance":true}'
```
+5 -5
View File
@@ -8,11 +8,11 @@ Optimize images for web delivery in a single step. Combines format conversion, q
## API Endpoint
`POST /api/v1/tools/optimize-for-web`
`POST /api/v1/tools/image/optimize-for-web`
Accepts multipart form data with an image file and a JSON `settings` field.
A live preview endpoint is also available at `POST /api/v1/tools/optimize-for-web/preview`, which returns the processed image directly as binary (no workspace creation) for real-time parameter tuning.
A live preview endpoint is also available at `POST /api/v1/tools/image/optimize-for-web/preview`, which returns the processed image directly as binary (no workspace creation) for real-time parameter tuning.
## Parameters
@@ -28,7 +28,7 @@ A live preview endpoint is also available at `POST /api/v1/tools/optimize-for-we
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/optimize-for-web \
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"format": "webp", "quality": 75, "maxWidth": 1920}'
@@ -37,7 +37,7 @@ curl -X POST http://localhost:1349/api/v1/tools/optimize-for-web \
Optimize for AVIF with aggressive compression:
```bash
curl -X POST http://localhost:1349/api/v1/tools/optimize-for-web \
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"format": "avif", "quality": 50, "maxWidth": 1200, "maxHeight": 800}'
@@ -56,7 +56,7 @@ curl -X POST http://localhost:1349/api/v1/tools/optimize-for-web \
### Preview Endpoint Response
The preview endpoint (`/api/v1/tools/optimize-for-web/preview`) returns the binary image directly with informational headers:
The preview endpoint (`/api/v1/tools/image/optimize-for-web/preview`) returns the binary image directly with informational headers:
- `X-Original-Size` - Original file size in bytes
- `X-Processed-Size` - Processed file size in bytes
+6 -6
View File
@@ -16,7 +16,7 @@ This tool uses a two-phase flow with separate endpoints for analysis and generat
### Phase 1: Analyze
`POST /api/v1/tools/passport-photo/analyze`
`POST /api/v1/tools/image/passport-photo/analyze`
Detects face landmarks and removes the background. Returns landmark data and a preview for the frontend to display a crop preview.
@@ -30,7 +30,7 @@ Detects face landmarks and removes the background. Returns landmark data and a p
#### Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/passport-photo/analyze \
curl -X POST http://localhost:1349/api/v1/tools/image/passport-photo/analyze \
-F "file=@headshot.jpg"
```
@@ -75,7 +75,7 @@ If `clientJobId` is provided, progress is streamed (0-30% for face detection, 30
### Phase 2: Generate
`POST /api/v1/tools/passport-photo/generate`
`POST /api/v1/tools/image/passport-photo/generate`
Crops, resizes, and optionally tiles the photo onto a print sheet. Uses cached images from Phase 1 (no AI re-run).
@@ -103,7 +103,7 @@ Crops, resizes, and optionally tiles the photo onto a print sheet. Uses cached i
#### Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/passport-photo/generate \
curl -X POST http://localhost:1349/api/v1/tools/image/passport-photo/generate \
-H "Content-Type: application/json" \
-d '{
"jobId": "a1b2c3d4-...",
@@ -149,13 +149,13 @@ curl -X POST http://localhost:1349/api/v1/tools/passport-photo/generate \
### Base Route
`POST /api/v1/tools/passport-photo`
`POST /api/v1/tools/image/passport-photo`
Returns guidance to use the correct sub-endpoint.
```json
{
"error": "Use /api/v1/tools/passport-photo/analyze or /generate"
"error": "Use /api/v1/tools/image/passport-photo/analyze or /generate"
}
```
+3 -3
View File
@@ -8,7 +8,7 @@ Apply a pixelation effect to an entire image or a specific rectangular region. U
## API Endpoint
`POST /api/v1/tools/pixelate`
`POST /api/v1/tools/image/pixelate`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -33,7 +33,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
Pixelate the full image:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pixelate \
curl -X POST http://localhost:1349/api/v1/tools/image/pixelate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"blockSize": 20}'
@@ -42,7 +42,7 @@ curl -X POST http://localhost:1349/api/v1/tools/pixelate \
Pixelate a specific region:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pixelate \
curl -X POST http://localhost:1349/api/v1/tools/image/pixelate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"blockSize": 16, "region": {"left": 100, "top": 50, "width": 200, "height": 150}}'
+3 -3
View File
@@ -8,7 +8,7 @@ Generate QR code images from text or URLs with configurable size, error correcti
## API Endpoint
`POST /api/v1/tools/qr-generate`
`POST /api/v1/tools/image/qr-generate`
Accepts a **JSON body** (not multipart). No file upload is needed.
@@ -35,7 +35,7 @@ Accepts a **JSON body** (not multipart). No file upload is needed.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/qr-generate \
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "https://snapotter.com", "size": 500, "errorCorrection": "H"}'
@@ -44,7 +44,7 @@ curl -X POST http://localhost:1349/api/v1/tools/qr-generate \
Branded QR code with custom colors:
```bash
curl -X POST http://localhost:1349/api/v1/tools/qr-generate \
curl -X POST http://localhost:1349/api/v1/tools/image/qr-generate \
-H "Authorization: Bearer si_your-api-key" \
-H "Content-Type: application/json" \
-d '{"text": "Hello World", "size": 300, "foreground": "#1a365d", "background": "#f7fafc"}'
+2 -2
View File
@@ -8,7 +8,7 @@ AI-powered detection and correction of red eye caused by camera flash.
## API Endpoint
`POST /api/v1/tools/red-eye-removal`
`POST /api/v1/tools/image/red-eye-removal`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -27,7 +27,7 @@ AI-powered detection and correction of red eye caused by camera flash.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/red-eye-removal \
curl -X POST http://localhost:1349/api/v1/tools/image/red-eye-removal \
-F "file=@flash-photo.jpg" \
-F 'settings={"sensitivity":60,"strength":80}'
```
+4 -4
View File
@@ -8,7 +8,7 @@ AI-powered background removal with optional effects (blur, shadow, gradient, cus
## API Endpoint
`POST /api/v1/tools/remove-background`
`POST /api/v1/tools/image/remove-background`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -36,7 +36,7 @@ AI-powered background removal with optional effects (blur, shadow, gradient, cus
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/remove-background \
curl -X POST http://localhost:1349/api/v1/tools/image/remove-background \
-F "file=@photo.jpg" \
-F 'settings={"backgroundType":"transparent","edgeRefine":2,"outputFormat":"png"}'
```
@@ -80,7 +80,7 @@ data: {"phase":"processing","stage":"Removing background...","percent":50}
## Effects Endpoint (Phase 2)
`POST /api/v1/tools/remove-background/effects`
`POST /api/v1/tools/image/remove-background/effects`
Re-applies background effects without re-running the AI model. Uses cached mask and original from Phase 1.
@@ -111,7 +111,7 @@ Re-applies background effects without re-running the AI model. Uses cached mask
### Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/remove-background/effects \
curl -X POST http://localhost:1349/api/v1/tools/image/remove-background/effects \
-F 'settings={"jobId":"a1b2c3d4-...","filename":"photo.jpg","backgroundType":"color","backgroundColor":"#FF5500","outputFormat":"png"}'
```
+3 -3
View File
@@ -8,7 +8,7 @@ Replace pixels matching a source color with a target color, or make them transpa
## API Endpoint
`POST /api/v1/tools/replace-color`
`POST /api/v1/tools/image/replace-color`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -24,7 +24,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/replace-color \
curl -X POST http://localhost:1349/api/v1/tools/image/replace-color \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"sourceColor": "#FF0000", "targetColor": "#0000FF", "tolerance": 40}'
@@ -33,7 +33,7 @@ curl -X POST http://localhost:1349/api/v1/tools/replace-color \
Make a green background transparent:
```bash
curl -X POST http://localhost:1349/api/v1/tools/replace-color \
curl -X POST http://localhost:1349/api/v1/tools/image/replace-color \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@greenscreen.png" \
-F 'settings={"sourceColor": "#00FF00", "makeTransparent": true, "tolerance": 50}'
+3 -3
View File
@@ -8,7 +8,7 @@ Resize images by specifying exact pixel dimensions, a percentage scale factor, o
## API Endpoint
`POST /api/v1/tools/resize`
`POST /api/v1/tools/image/resize`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -35,7 +35,7 @@ At least one of `width`, `height`, or `percentage` must be provided.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/resize \
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"width": 800, "height": 600, "fit": "contain"}'
@@ -44,7 +44,7 @@ curl -X POST http://localhost:1349/api/v1/tools/resize \
Resize by percentage:
```bash
curl -X POST http://localhost:1349/api/v1/tools/resize \
curl -X POST http://localhost:1349/api/v1/tools/image/resize \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"percentage": 50}'
+2 -2
View File
@@ -4,7 +4,7 @@ Fix scratches, tears, and damage on old photos using a multi-step AI pipeline. C
## API Endpoint
`POST /api/v1/tools/restore-photo`
`POST /api/v1/tools/image/restore-photo`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -26,7 +26,7 @@ Fix scratches, tears, and damage on old photos using a multi-step AI pipeline. C
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/restore-photo \
curl -X POST http://localhost:1349/api/v1/tools/image/restore-photo \
-F "file=@damaged-old-photo.jpg" \
-F 'settings={"scratchRemoval":true,"faceEnhancement":true,"fidelity":0.6,"colorize":true}'
```
+4 -4
View File
@@ -8,7 +8,7 @@ Rotate images by an arbitrary angle and/or flip them horizontally or vertically.
## API Endpoint
`POST /api/v1/tools/rotate`
`POST /api/v1/tools/image/rotate`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -25,7 +25,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
Rotate 90 degrees clockwise:
```bash
curl -X POST http://localhost:1349/api/v1/tools/rotate \
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 90}'
@@ -34,7 +34,7 @@ curl -X POST http://localhost:1349/api/v1/tools/rotate \
Flip horizontally:
```bash
curl -X POST http://localhost:1349/api/v1/tools/rotate \
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"horizontal": true}'
@@ -43,7 +43,7 @@ curl -X POST http://localhost:1349/api/v1/tools/rotate \
Rotate and flip together:
```bash
curl -X POST http://localhost:1349/api/v1/tools/rotate \
curl -X POST http://localhost:1349/api/v1/tools/image/rotate \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"angle": 45, "vertical": true}'
+3 -3
View File
@@ -8,7 +8,7 @@ Advanced sharpening tool with three methods: adaptive (smart edge-aware), unshar
## API Endpoint
`POST /api/v1/tools/sharpening`
`POST /api/v1/tools/image/sharpening`
Accepts multipart form data with an image file and a JSON `settings` field.
@@ -33,7 +33,7 @@ Accepts multipart form data with an image file and a JSON `settings` field.
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/sharpening \
curl -X POST http://localhost:1349/api/v1/tools/image/sharpening \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"method": "adaptive", "sigma": 1.5}'
@@ -42,7 +42,7 @@ curl -X POST http://localhost:1349/api/v1/tools/sharpening \
Unsharp mask with threshold to protect smooth areas:
```bash
curl -X POST http://localhost:1349/api/v1/tools/sharpening \
curl -X POST http://localhost:1349/api/v1/tools/image/sharpening \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"method": "unsharp-mask", "amount": 150, "radius": 1.5, "threshold": 10}'
+2 -2
View File
@@ -4,7 +4,7 @@ Smart subject-aware, face-aware, or trim-based cropping. Uses Sharp's attention/
## API Endpoint
`POST /api/v1/tools/smart-crop`
`POST /api/v1/tools/image/smart-crop`
**Processing:** Asynchronous (returns 202, poll `/api/v1/jobs/{jobId}/progress` for status via SSE)
@@ -31,7 +31,7 @@ Smart subject-aware, face-aware, or trim-based cropping. Uses Sharp's attention/
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/smart-crop \
curl -X POST http://localhost:1349/api/v1/tools/image/smart-crop \
-F "file=@portrait.jpg" \
-F 'settings={"mode":"face","width":1080,"height":1080,"facePreset":"head-shoulders"}'
```
+2 -2
View File
@@ -4,7 +4,7 @@ Split a single image into grid tiles by column/row count or by specific pixel di
## API Endpoint
`POST /api/v1/tools/split`
`POST /api/v1/tools/image/split`
## Parameters
@@ -20,7 +20,7 @@ Split a single image into grid tiles by column/row count or by specific pixel di
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/split \
curl -X POST http://localhost:1349/api/v1/tools/image/split \
-F "file=@large-image.png" \
-F 'settings={"columns":3,"rows":3,"outputFormat":"png"}' \
--output split-tiles.zip
+2 -2
View File
@@ -8,7 +8,7 @@ Combine multiple images into a single sprite sheet grid. Each image is resized t
## API Endpoint
`POST /api/v1/tools/sprite-sheet`
`POST /api/v1/tools/image/sprite-sheet`
Accepts multipart form data with two or more image files and a JSON `settings` field.
@@ -25,7 +25,7 @@ Accepts multipart form data with two or more image files and a JSON `settings` f
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/sprite-sheet \
curl -X POST http://localhost:1349/api/v1/tools/image/sprite-sheet \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@frame1.png" \
-F "file=@frame2.png" \
+2 -2
View File
@@ -4,7 +4,7 @@ Join multiple images side by side, stacked vertically, or arranged in a grid. Su
## API Endpoint
`POST /api/v1/tools/stitch`
`POST /api/v1/tools/image/stitch`
## Parameters
@@ -24,7 +24,7 @@ Join multiple images side by side, stacked vertically, or arranged in a grid. Su
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/stitch \
curl -X POST http://localhost:1349/api/v1/tools/image/stitch \
-F "file=@image1.png" \
-F "file=@image2.png" \
-F "file=@image3.png" \
+5 -5
View File
@@ -10,13 +10,13 @@ Remove EXIF, GPS, ICC color profiles, and XMP metadata from images. Useful for p
### Strip Metadata
`POST /api/v1/tools/strip-metadata`
`POST /api/v1/tools/image/strip-metadata`
Processes the image and returns a cleaned version with selected metadata removed.
### Inspect Metadata
`POST /api/v1/tools/strip-metadata/inspect`
`POST /api/v1/tools/image/strip-metadata/inspect`
Returns the parsed metadata as JSON without modifying the image. Useful for previewing what metadata exists before stripping.
@@ -37,7 +37,7 @@ When `stripAll` is `true`, it overrides the individual flags and removes everyth
Strip all metadata:
```bash
curl -X POST http://localhost:1349/api/v1/tools/strip-metadata \
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": true}'
@@ -46,7 +46,7 @@ curl -X POST http://localhost:1349/api/v1/tools/strip-metadata \
Strip only GPS data (keep camera info and color profile):
```bash
curl -X POST http://localhost:1349/api/v1/tools/strip-metadata \
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg" \
-F 'settings={"stripAll": false, "stripGps": true}'
@@ -55,7 +55,7 @@ curl -X POST http://localhost:1349/api/v1/tools/strip-metadata \
Inspect metadata without modifying:
```bash
curl -X POST http://localhost:1349/api/v1/tools/strip-metadata/inspect \
curl -X POST http://localhost:1349/api/v1/tools/image/strip-metadata/inspect \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@photo.jpg"
```
+4 -4
View File
@@ -4,7 +4,7 @@ Convert SVG files to raster image formats (PNG, JPEG, WebP, AVIF, TIFF, GIF, HEI
## API Endpoint
`POST /api/v1/tools/svg-to-raster`
`POST /api/v1/tools/image/svg-to-raster`
## Parameters
@@ -20,7 +20,7 @@ Convert SVG files to raster image formats (PNG, JPEG, WebP, AVIF, TIFF, GIF, HEI
## Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/svg-to-raster \
curl -X POST http://localhost:1349/api/v1/tools/image/svg-to-raster \
-F "file=@logo.svg" \
-F 'settings={"width":1024,"dpi":300,"outputFormat":"png","backgroundColor":"#FFFFFF"}'
```
@@ -39,7 +39,7 @@ curl -X POST http://localhost:1349/api/v1/tools/svg-to-raster \
## Batch Endpoint
`POST /api/v1/tools/svg-to-raster/batch`
`POST /api/v1/tools/image/svg-to-raster/batch`
Convert multiple SVG files in one request. Returns a ZIP archive.
@@ -52,7 +52,7 @@ Convert multiple SVG files in one request. Returns a ZIP archive.
### Batch Example Request
```bash
curl -X POST http://localhost:1349/api/v1/tools/svg-to-raster/batch \
curl -X POST http://localhost:1349/api/v1/tools/image/svg-to-raster/batch \
-F "file=@icon1.svg" \
-F "file=@icon2.svg" \
-F "file=@icon3.svg" \

Some files were not shown because too many files have changed in this diff Show More