mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Move all 157 tool pages into image/video/audio/pdf/data subfolders so URLs read /tools/<modality>/<id> (e.g. /tools/image/crop). Nest the image sub-categories under an Image group in the sidebar so the nav reads by modality. Add public/_redirects (301, clean + .html forms) mapping every old flat /tools/<id> URL to its new path so inbound links keep working. Rewrite all internal /tools links. Verified with a clean docs build (no dead links).
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/image/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:13490/api/v1/tools/image/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.