Kingoteam commited on
Commit
fa65fd9
·
verified ·
1 Parent(s): 46bdaa6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -25
app.py CHANGED
@@ -1,11 +1,8 @@
 
1
  import torch
2
  from PIL import Image
3
  import requests
4
  from io import BytesIO
5
- from fastapi import FastAPI, UploadFile, Form
6
- from starlette.responses import JSONResponse
7
- import base64
8
- import io
9
 
10
  # بارگذاری مدل‌ها بر اساس استایل انتخابی
11
  def load_model(style_name):
@@ -25,8 +22,8 @@ def animegan2_transform(input_img, style_name):
25
  input_img = input_img.convert("RGB")
26
  else:
27
  raise ValueError("فرمت تصویر ورودی صحیح نیست!")
28
-
29
- # تغییر رزولوشن به 460 برای کیفیت بالا
30
  input_img = input_img.resize((460, 460))
31
 
32
  # بارگذاری مدل انتخابی
@@ -44,24 +41,21 @@ def animegan2_transform(input_img, style_name):
44
  output_img = face2paint_func(model, input_img)
45
  return output_img
46
 
47
- # ------------------ FastAPI API ------------------
48
- app = FastAPI()
49
-
50
- @app.post("/api/animegan")
51
- async def animegan_api(
52
- file: UploadFile,
53
- style: str = Form("face_paint_512_v2")
54
- ):
55
- img_bytes = await file.read()
56
- input_img = Image.open(BytesIO(img_bytes)).convert("RGB")
57
- output_img = animegan2_transform(input_img, style)
58
-
59
- # تبدیل به Base64
60
- buf = io.BytesIO()
61
- output_img.save(buf, format="PNG")
62
- img_b64 = base64.b64encode(buf.getvalue()).decode("utf-8")
63
- return JSONResponse({"image": img_b64})
64
 
65
  if __name__ == "__main__":
66
- import uvicorn
67
- uvicorn.run(app, host="0.0.0.0", port=7860)
 
1
+ import gradio as gr
2
  import torch
3
  from PIL import Image
4
  import requests
5
  from io import BytesIO
 
 
 
 
6
 
7
  # بارگذاری مدل‌ها بر اساس استایل انتخابی
8
  def load_model(style_name):
 
22
  input_img = input_img.convert("RGB")
23
  else:
24
  raise ValueError("فرمت تصویر ورودی صحیح نیست!")
25
+
26
+ # تغییر رزولوشن به 1024 برای کیفیت بالا
27
  input_img = input_img.resize((460, 460))
28
 
29
  # بارگذاری مدل انتخابی
 
41
  output_img = face2paint_func(model, input_img)
42
  return output_img
43
 
44
+ # رابط کاربری Gradio
45
+ iface = gr.Interface(
46
+ fn=animegan2_transform,
47
+ inputs=[
48
+ gr.Image(type="pil", label="آپلود تصویر یا وارد کردن URL"),
49
+ gr.Dropdown(
50
+ ["face_paint_512_v1", "face_paint_512_v2", "paprika", "celeba_distill"],
51
+ value="face_paint_512_v2",
52
+ label="انتخاب استایل"
53
+ )
54
+ ],
55
+ outputs=gr.Image(type="pil", label="تصویر انیمه (کیفیت بالا)"),
56
+ title="AnimeGANv2 - تبدیل تصویر به انیمه با انتخاب استایل",
57
+ description="تصاویر خود را با کیفیت بالا و استایل‌های مختلف به انیمه تبدیل کنید."
58
+ )
 
 
59
 
60
  if __name__ == "__main__":
61
+ iface.launch()