Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -58,9 +58,9 @@ def apply_kmeans_pil(image, k=12):
|
|
58 |
|
59 |
# === Generaci贸n principal ===
|
60 |
@spaces.GPU
|
61 |
-
def generar_pixelart(prompt
|
62 |
"""Genera imagen pixel art con postprocesado."""
|
63 |
-
pipe = load_model(
|
64 |
|
65 |
negative_prompt = (
|
66 |
"low quality, bad anatomy, bad hands, text, error, "
|
@@ -73,21 +73,15 @@ def generar_pixelart(prompt, modelo_hf, resolucion_pixel, k_colors, guidance, st
|
|
73 |
image = pipe(
|
74 |
prompt=prompt,
|
75 |
negative_prompt=negative_prompt,
|
76 |
-
num_inference_steps=
|
77 |
-
guidance_scale=
|
78 |
).images[0]
|
79 |
|
80 |
-
#
|
81 |
-
|
82 |
-
width, height = map(int, resolucion_pixel.lower().split("x"))
|
83 |
-
except Exception as e:
|
84 |
-
print("鈿狅笍 Error en resoluci贸n:", e)
|
85 |
-
width, height = 128, 128
|
86 |
-
|
87 |
-
pixelated = image.resize((width, height), Image.NEAREST).resize((512, 512), Image.NEAREST)
|
88 |
|
89 |
# Aplicar KMeans
|
90 |
-
final_image = apply_kmeans_pil(pixelated, k=
|
91 |
|
92 |
return final_image
|
93 |
|
@@ -101,22 +95,10 @@ with gr.Blocks() as demo:
|
|
101 |
)
|
102 |
|
103 |
prompt = gr.Textbox(label="Prompt de entrada")
|
104 |
-
modelo = gr.Textbox(value=DEFAULT_LORA, label="Modelo LoRA / Hugging Face Repo")
|
105 |
-
resoluciones = gr.Radio(
|
106 |
-
choices=["32x32", "64x64", "128x128"], value="128x128", label="Tama帽o pixel art"
|
107 |
-
)
|
108 |
-
k_slider = gr.Slider(8, 32, value=12, step=1, label="Cantidad de colores (K-means)")
|
109 |
-
guidance_slider = gr.Slider(3.0, 15.0, value=7.5, step=0.5, label="Guidance Scale")
|
110 |
-
steps_slider = gr.Slider(10, 50, value=30, step=1, label="Pasos de inferencia")
|
111 |
-
|
112 |
output = gr.Image(label="Resultado estilo Pixel Art")
|
113 |
btn = gr.Button("馃帹 Generar")
|
114 |
|
115 |
-
btn.click(
|
116 |
-
fn=generar_pixelart,
|
117 |
-
inputs=[prompt, modelo, resoluciones, k_slider, guidance_slider, steps_slider],
|
118 |
-
outputs=output
|
119 |
-
)
|
120 |
|
121 |
gr.Markdown("---")
|
122 |
gr.Markdown("Desarrollado por **[AmericaPixelGames](https://americapixelgames.com)** 馃幃")
|
|
|
58 |
|
59 |
# === Generaci贸n principal ===
|
60 |
@spaces.GPU
|
61 |
+
def generar_pixelart(prompt):
|
62 |
"""Genera imagen pixel art con postprocesado."""
|
63 |
+
pipe = load_model(DEFAULT_LORA)
|
64 |
|
65 |
negative_prompt = (
|
66 |
"low quality, bad anatomy, bad hands, text, error, "
|
|
|
73 |
image = pipe(
|
74 |
prompt=prompt,
|
75 |
negative_prompt=negative_prompt,
|
76 |
+
num_inference_steps=30,
|
77 |
+
guidance_scale=7.5
|
78 |
).images[0]
|
79 |
|
80 |
+
# Pixelado
|
81 |
+
pixelated = image.resize((128, 128), Image.NEAREST).resize((512, 512), Image.NEAREST)
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
|
83 |
# Aplicar KMeans
|
84 |
+
final_image = apply_kmeans_pil(pixelated, k=12)
|
85 |
|
86 |
return final_image
|
87 |
|
|
|
95 |
)
|
96 |
|
97 |
prompt = gr.Textbox(label="Prompt de entrada")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
output = gr.Image(label="Resultado estilo Pixel Art")
|
99 |
btn = gr.Button("馃帹 Generar")
|
100 |
|
101 |
+
btn.click(fn=generar_pixelart, inputs=prompt, outputs=output)
|
|
|
|
|
|
|
|
|
102 |
|
103 |
gr.Markdown("---")
|
104 |
gr.Markdown("Desarrollado por **[AmericaPixelGames](https://americapixelgames.com)** 馃幃")
|