katanuki / main.py
aka7774's picture
Upload 2 files
2c53c97 verified
raw
history blame contribute delete
No virus
981 Bytes
import os
import sys
import time
import signal
import io
from PIL import Image
from fastapi import FastAPI, Request, status, Form, UploadFile
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
from fastapi.exceptions import RequestValidationError
from fastapi.responses import Response
import fn
import gradio as gr
from app import demo
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
gr.mount_gradio_app(app, demo, path="/gradio")
fn.load_model()
@app.post("/katanuki")
async def katanuki_image(file: UploadFile = Form(...)):
file_content = await file.read()
file_stream = io.BytesIO(file_content)
dst_image = fn.animeseg(Image.open(file_stream))
binary = fn.pil_to_webp(Image.fromarray(dst_image))
return Response(content=binary, media_type="image/webp")