mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Reconcile every tool page's parameters, defaults, and response shape against the tool's Zod settings schema and executionHint in code. Notable fixes: color-palette (add count + format params, hex output, median-cut algorithm), favicon (add 5 params, was documented as having none), qr-generate (add logoDataUri), convert (add ppm/eps/tga formats), video-loudnorm (-16 LUFS not -14), smart-crop (async 202 not sync 200), images-to-video (1080x1080 square), and several output-filename and behavior-note corrections. Also normalize API endpoint paths to /api/v1/tools/<id> (no modality segment) and standardize curl examples on the Docker API port 1349. Verified with a clean docs build.
2.4 KiB
2.4 KiB
PNG Transparency Fixer
Fix fake transparent PNGs in one click. Uses AI matting (BiRefNet HR Matting model) to produce true alpha transparency, with defringe post-processing to clean up edges.
API Endpoint
POST /api/v1/tools/transparency-fixer
Processing: Asynchronous (returns 202, poll /api/v1/jobs/{jobId}/progress for status via SSE)
Model bundle: background-removal (4-5 GB)
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| file | file | Yes | - | Image file (multipart) |
| defringe | number | No | 30 |
Defringe intensity (0-100). Removes semi-transparent fringe pixels around edges |
| outputFormat | string | No | "png" |
Output format: png or webp |
| removeWatermark | boolean | No | false |
Apply watermark removal pre-processing (median filter) |
Example Request
curl -X POST http://localhost:1349/api/v1/tools/transparency-fixer \
-F "file=@fake-transparent.png" \
-F 'settings={"defringe":40,"outputFormat":"png"}'
Response
Initial Response (202 Accepted)
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
Progress (SSE at /api/v1/jobs/{jobId}/progress)
event: progress
data: {"phase":"processing","stage":"Processing transparency...","percent":50}
Final Result (via SSE)
{
"phase": "complete",
"percent": 100,
"result": {
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/{jobId}/fake-transparent_fixed.png",
"originalSize": 180000,
"processedSize": 150000,
"filename": "fake-transparent.png"
}
}
Notes
- Requires the
background-removalmodel bundle to be installed (4-5 GB). - Uses
birefnet-hr-mattingas the primary model for high-quality alpha matting. Falls back tobirefnet-generalif the HR model runs out of memory. - The
defringeoption removes semi-transparent fringe pixels that AI matting sometimes leaves around hair, fur, and fine edges. It works by blurring the alpha channel and zeroing out low-confidence pixels. - The
removeWatermarkoption applies a median filter pre-processing step. It is a basic watermark reduction, not a dedicated watermark removal tool. - Only outputs PNG or lossless WebP (both support alpha transparency).
- Supports HEIC/HEIF, RAW, TGA, PSD, EXR, and HDR input formats via automatic decoding.