artificialguybr
commited on
Commit
•
8264ed9
1
Parent(s):
3e5f8f0
Update app.py
Browse files
app.py
CHANGED
@@ -10,14 +10,13 @@ import time
|
|
10 |
repo = "artificialguybr/StudioGhibli.Redmond-V2"
|
11 |
trigger_word = "Studio Ghibli, StdGBRedmAF"
|
12 |
|
13 |
-
# Função para enviar o prompt para a API e receber a imagem gerada
|
14 |
def generate_image(prompt):
|
15 |
api_url = f"https://api-inference.huggingface.co/models/{repo}"
|
16 |
-
#token = os.getenv("API_TOKEN") #
|
17 |
headers = {
|
18 |
#"Authorization": f"Bearer {token}"
|
19 |
}
|
20 |
-
full_prompt = f"{prompt} {trigger_word}"
|
21 |
payload = {
|
22 |
"inputs": full_prompt,
|
23 |
"parameters": {
|
@@ -30,34 +29,18 @@ def generate_image(prompt):
|
|
30 |
error_count = 0
|
31 |
pbar = tqdm(total=None, desc="Loading model")
|
32 |
while True:
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
time.sleep(1)
|
45 |
-
error_count += 1
|
46 |
-
else:
|
47 |
-
raise Exception(f"API Error: {response.status_code}")
|
48 |
-
except requests.exceptions.HTTPError as http_err:
|
49 |
-
print(f"HTTP error occurred: {http_err}")
|
50 |
-
except requests.exceptions.RequestException as err:
|
51 |
-
print(f"An error occurred: {err}")
|
52 |
-
except requests.exceptions.JSONDecodeError as json_err:
|
53 |
-
print(f"JSON decode error: {json_err}")
|
54 |
-
# Se a resposta não for JSON, tenta carregar a imagem diretamente
|
55 |
-
return Image.open(BytesIO(response.content))
|
56 |
-
except Exception as e:
|
57 |
-
print(f"An unexpected error occurred: {e}")
|
58 |
-
break # Sai do loop se um erro inesperado ocorrer
|
59 |
|
60 |
-
# Criando a interface do Gradio
|
61 |
iface = gr.Interface(
|
62 |
fn=generate_image,
|
63 |
inputs=gr.Textbox(lines=2, placeholder="Digite seu prompt aqui..."),
|
@@ -66,5 +49,4 @@ iface = gr.Interface(
|
|
66 |
description="Insira um prompt de texto para gerar uma imagem com o estilo do Studio Ghibli."
|
67 |
)
|
68 |
|
69 |
-
# Iniciando a interface
|
70 |
iface.launch()
|
|
|
10 |
repo = "artificialguybr/StudioGhibli.Redmond-V2"
|
11 |
trigger_word = "Studio Ghibli, StdGBRedmAF"
|
12 |
|
|
|
13 |
def generate_image(prompt):
|
14 |
api_url = f"https://api-inference.huggingface.co/models/{repo}"
|
15 |
+
#token = os.getenv("API_TOKEN") # Descomente e use seu token da API do Hugging Face
|
16 |
headers = {
|
17 |
#"Authorization": f"Bearer {token}"
|
18 |
}
|
19 |
+
full_prompt = f"{prompt} {trigger_word}"
|
20 |
payload = {
|
21 |
"inputs": full_prompt,
|
22 |
"parameters": {
|
|
|
29 |
error_count = 0
|
30 |
pbar = tqdm(total=None, desc="Loading model")
|
31 |
while True:
|
32 |
+
response = requests.post(api_url, headers=headers, json=payload)
|
33 |
+
if response.status_code == 200:
|
34 |
+
return Image.open(BytesIO(response.content)) # Alterado para corresponder ao primeiro código
|
35 |
+
elif response.status_code == 503:
|
36 |
+
time.sleep(1)
|
37 |
+
pbar.update(1)
|
38 |
+
elif response.status_code == 500 and error_count < 5:
|
39 |
+
time.sleep(1)
|
40 |
+
error_count += 1
|
41 |
+
else:
|
42 |
+
raise Exception(f"API Error: {response.status_code}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
|
|
44 |
iface = gr.Interface(
|
45 |
fn=generate_image,
|
46 |
inputs=gr.Textbox(lines=2, placeholder="Digite seu prompt aqui..."),
|
|
|
49 |
description="Insira um prompt de texto para gerar uma imagem com o estilo do Studio Ghibli."
|
50 |
)
|
51 |
|
|
|
52 |
iface.launch()
|