Peiiiiiiiiru commited on
Commit
e796722
·
verified ·
1 Parent(s): d00b797

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -24
app.py CHANGED
@@ -1,35 +1,33 @@
1
  import gradio as gr
2
  import requests
3
- import io
4
- from PIL import Image
5
- from dotenv import load_dotenv
6
- import os
7
 
8
- # 載入環境變數
9
- load_dotenv()
10
-
11
- # Hugging Face API 設定
12
  API_URL = "https://api-inference.huggingface.co/models/KappaNeuro/ukiyo-e-art"
13
  headers = {"Authorization": "Bearer hf_MySpaceToken"}
14
 
 
 
 
 
 
 
 
 
 
15
  def generate_image(prompt):
16
- try:
17
- # 呼叫 Hugging Face API
18
- response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
19
- # 轉換回應為圖像
20
- image = Image.open(io.BytesIO(response.content))
21
- return image
22
- except Exception as e:
23
- return None
24
 
25
- # 建立 Gradio 介面
26
- iface = gr.Interface(
27
  fn=generate_image,
28
- inputs=gr.Textbox(label="請輸入圖像描述"),
29
- outputs=gr.Image(label="生成的圖像"),
30
- title="浮世繪風格圖像生成器",
31
- description="輸入描述文字,生成浮世繪風格的圖像"
32
  )
33
 
34
- # 啟動應用
35
- iface.launch()
 
1
  import gradio as gr
2
  import requests
 
 
 
 
3
 
4
+ # Hugging Face API 端點
 
 
 
5
  API_URL = "https://api-inference.huggingface.co/models/KappaNeuro/ukiyo-e-art"
6
  headers = {"Authorization": "Bearer hf_MySpaceToken"}
7
 
8
+ # 呼叫模型的函數
9
+ def query(payload):
10
+ response = requests.post(API_URL, headers=headers, json=payload)
11
+ if response.status_code == 200:
12
+ return response.content # 圖片回應為二進位格式
13
+ else:
14
+ return f"Error {response.status_code}: {response.text}"
15
+
16
+ # 定義 Gradio 介面功能
17
  def generate_image(prompt):
18
+ image_data = query({"inputs": prompt})
19
+ if isinstance(image_data, bytes):
20
+ return image_data # 返回生成的圖片
21
+ else:
22
+ return "無法生成圖片,請檢查輸入或模型狀態。"
 
 
 
23
 
24
+ # 建立 Gradio App
25
+ interface = gr.Interface(
26
  fn=generate_image,
27
+ inputs="text",
28
+ outputs="image",
29
+ title="浮世繪生成器",
30
+ description="輸入文字提示,生成日本浮世繪風格的藝術圖片。",
31
  )
32
 
33
+ interface.launch(share=True) # 設定 share=True 方便測試