imgtools-ai / app.py
ilhamdev's picture
feat(ai): configure Gradio SDK with ZeroGPU support and REST API mounting
824ac86
Raw History Blame Contribute Delete
1.29 kB
import os
import sys
import logging
# 1. ZeroGPU spaces import harus paling pertama jika ada
try:
import spaces
except ImportError:
pass
import gradio as gr
import uvicorn
from main import app as fastapi_app
# Buat UI antarmuka Gradio interaktif
with gr.Blocks(title="ImgTools AI Service") as demo:
gr.Markdown("# 🖼️ ImgTools AI — Backend Service")
gr.Markdown(
"""
Layanan REST API bertenaga AI untuk aplikasi **ImgTools** (didukung oleh Hugging Face ZeroGPU).
### 🚀 Status & Endpoint REST API Aktif:
- **Health Check**: `GET /health`
- **Hapus Background**: `POST /api/remove-bg` (Model: RMBG-1.4)
- **Tingkatkan Resolusi (Upscale 2x/4x)**: `POST /api/upscale` (Model: Swin2SR)
- **Tingkatkan Kualitas (Enhance)**: `POST /api/enhance` (Model: Swin2SR)
- **Buramkan Wajah (Face Blur)**: `POST /api/face-blur` (Model: YOLO Face)
- **Konversi RAW ke JPG**: `POST /api/raw-to-jpg` (LibRaw)
📖 **Dokumentasi Lengkap API**: Buka [/docs](/docs) untuk Swagger UI interaktif.
"""
)
# Mount Gradio app ke FastAPI di root "/"
app = gr.mount_gradio_app(fastapi_app, demo, path="/")
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)