Spaces:
Paused
Paused
|
Download README.md from ilhamdev/imgtools-ai: direct link, hf CLI and curl.
- Browser
- Download file 4.08 kB
-
https://huggingface.co/spaces/ilhamdev/imgtools-ai/resolve/main/README.md
- Command line
-
hf download hf://spaces/ilhamdev/imgtools-ai/README.md
-
curl -L -o README.md https://huggingface.co/spaces/ilhamdev/imgtools-ai/resolve/main/README.md
4.08 kB
A newer version of the Gradio SDK is available: 6.30.0
metadata
title: ImgTools AI
emoji: 🖼️
colorFrom: indigo
colorTo: pink
sdk: gradio
app_file: app.py
app_port: 7860
hardware: zero-a10g
license: mit
ImgTools AI — Backend Service
Layanan REST API bertenaga AI untuk pemrosesan gambar tingkat lanjut pada ImgTools, dibangun dengan FastAPI dan dioptimalkan untuk deployment pada Hugging Face Spaces (Docker CPU).
Fitur Utama
- Hapus Latar Belakang (Remove Background): Segmentasi gambar akurat berbasis model
briaai/RMBG-1.4. - Tingkatkan Resolusi (Upscale): Super-resolution 2x & 4x berbasis
caidas/swin2SR-realworld-sr-x4-64-bsrl. - Tingkatkan Kualitas (Enhance): Peningkatan ketajaman dan detail berbasis
caidas/swin2SR-classical-sr-x2-64+ UnsharpMask. - Buramkan Wajah & Sensor (Face Blur): Deteksi wajah otomatis dengan
Bingsu/yolov8n-face(Ultralytics YOLO) + dukungan area manual (bounding boxes JSON) dengan filter Gaussian Blur atau Pixelate. - Konversi RAW ke JPG: Ekstraksi dan post-processing citra kamera RAW profesional via LibRaw (
rawpy). - Lazy-Load & Semaphore Caching: Model ML hanya dimuat ke memori saat pertama kali dibutuhkan, dengan
asyncio.Semaphoremenjaga batas concurrency. - Normalisasi EXIF & Kontrol Memori: Menormalkan orientasi EXIF secara otomatis dan membatasi ukuran memori dengan aman.
Daftar Endpoint REST API
1. Health & Status
GET /health: Status pemeriksaan kesehatan sistem ({"status": "ok"}).GET /: Info root dan ringkasan daftar endpoint yang aktif.
2. Hapus Latar Belakang
POST /api/remove-bg- Body (
multipart/form-data):file(File biner citra) - Respons: Aliran biner citra
image/pngtransparan (RGBA).
- Body (
3. Upscale (Super-Resolution)
POST /api/upscale- Body / Params:
file(File biner citra)scale(int, default:2): Faktor perbesaran (2atau4). Validasi mengembalikan422jika tidak valid.max_side(int, default:2048): Batas dimensi sisi terpanjang sebelum inferensi.
- Respons: Aliran biner citra
image/pngberesolusi tinggi.
- Body / Params:
4. Enhance (Peningkatan Kualitas)
POST /api/enhance- Body / Params:
file(File biner citra)strength(float, default:1.0): Kekuatan penajaman (diterapkan pada filter UnsharpMask).
- Respons: Aliran biner citra
image/pngtajam dan jernih.
- Body / Params:
5. Buramkan Wajah / Sensor Area
POST /api/face-blur- Body / Params:
file(File biner citra)blur(int, default:25): Radius blur atau ukuran pikselasi.mode(string, default:"gaussian"): Mode sensor ("gaussian"atau"pixelate").conf(float, default:0.35): Ambang batas confidence deteksi wajah YOLO.boxes(stringJSON, opsional): List area manual[x, y, w, h]atau[[x, y, w, h], ...].
- Respons: Aliran biner citra
image/pngdengan area wajah/sensor yang diburamkan.
- Body / Params:
6. Konversi RAW ke JPG
POST /api/raw-to-jpg- Body:
file(File citra kamera RAW, misal: CR2, NEF, ARW, DNG, dsb.) - Respons: Aliran biner citra
image/jpegdengan kualitas 92. - Error:
422 Unprocessable Entityjika berkas RAW tidak valid atau korup.
- Body:
Konfigurasi Lingkungan (Environment Variables)
| Variabel | Tipe | Default | Deskripsi |
|---|---|---|---|
ALLOWED_ORIGINS |
string | http://localhost:3000 |
Domain CORS yang diizinkan (pisahkan dengan koma). |
MAX_PIXELS |
integer | 24000000 |
Batas piksel maksimal (24 MP). Gambar di-downscale proporsional jika melampaui. |
MAX_BYTES |
integer | 26214400 |
Batas ukuran berkas (25 MB, HTTP 413 jika melebihi). |
MAX_CONCURRENCY |
integer | 2 |
Jumlah maksimum inferensi paralel. |
Menjalankan Layanan
Menggunakan Docker
docker build -t imgtools-ai .
docker run -p 7860:7860 -e ALLOWED_ORIGINS="http://localhost:3000" imgtools-ai
Dokumentasi interaktif OpenAPI / Swagger dapat diakses di http://localhost:7860/docs.