Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -47,9 +47,9 @@ def generate_image(prompt: str, steps: int = 10, n_images: int = 1) -> list[Imag
|
|
47 |
return "Bitte geben Sie einen Prompt ein."
|
48 |
|
49 |
try:
|
50 |
-
#
|
51 |
-
logger.info(f"Versuche, Bildgenerierung mit Modell {FLUX_MODEL} zu starten...")
|
52 |
-
response = client.images.
|
53 |
model=FLUX_MODEL,
|
54 |
prompt=prompt,
|
55 |
steps=steps,
|
@@ -58,17 +58,24 @@ def generate_image(prompt: str, steps: int = 10, n_images: int = 1) -> list[Imag
|
|
58 |
logger.info("Bildgenerierung erfolgreich angefordert.")
|
59 |
|
60 |
images = []
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
except Exception as e:
|
67 |
-
# Hier werden Fehler vom API-Aufruf abgefangen
|
68 |
logger.error(f"FEHLER bei der Bildgenerierung: {e}", exc_info=True) # exc_info zeigt den vollständigen Traceback
|
69 |
return f"Fehler bei der Bildgenerierung: {e}. Eventuell API-Limit erreicht, Prompt ungültig oder Together.ai Problem."
|
70 |
|
71 |
-
# --- Gradio Interface Definition ---
|
72 |
with gr.Blocks() as demo:
|
73 |
gr.Markdown(
|
74 |
"""
|
@@ -109,13 +116,11 @@ with gr.Blocks() as demo:
|
|
109 |
height="auto"
|
110 |
)
|
111 |
|
112 |
-
# Verknüpfung der Eingaben mit der Generierungsfunktion
|
113 |
generate_button.click(
|
114 |
fn=generate_image,
|
115 |
inputs=[prompt_input, steps_slider, num_images_slider],
|
116 |
outputs=[output_gallery]
|
117 |
)
|
118 |
|
119 |
-
# Startet die Gradio-Anwendung
|
120 |
if __name__ == "__main__":
|
121 |
demo.launch()
|
|
|
47 |
return "Bitte geben Sie einen Prompt ein."
|
48 |
|
49 |
try:
|
50 |
+
# KORRIGIERTER API-Aufruf-Methode: client.images.generate()
|
51 |
+
logger.info(f"Versuche, Bildgenerierung mit Modell {FLUX_MODEL} zu starten über client.images.generate()...")
|
52 |
+
response = client.images.generate( # <-- DIESE ZEILE WURDE GEÄNDERT!
|
53 |
model=FLUX_MODEL,
|
54 |
prompt=prompt,
|
55 |
steps=steps,
|
|
|
58 |
logger.info("Bildgenerierung erfolgreich angefordert.")
|
59 |
|
60 |
images = []
|
61 |
+
# Der Response-Typ von client.images.generate() ist möglicherweise anders als bei create().
|
62 |
+
# Wir müssen sicherstellen, dass wir auf die 'data' zugreifen können.
|
63 |
+
# Prüfen Sie die Struktur von 'response' bei Erfolg in den Logs, falls es immer noch Probleme gibt.
|
64 |
+
if hasattr(response, 'data') and response.data:
|
65 |
+
for image_data in response.data:
|
66 |
+
img_bytes = base64.b64decode(image_data.b64_json)
|
67 |
+
img = Image.open(io.BytesIO(img_bytes))
|
68 |
+
images.append(img)
|
69 |
+
return images
|
70 |
+
else:
|
71 |
+
logger.error(f"FEHLER: Unerwartete Antwortstruktur von Together.ai: {response}")
|
72 |
+
return "Fehler: Ungültige Antwort von Together.ai. Bitte versuchen Sie es später erneut oder überprüfen Sie Ihr Guthaben."
|
73 |
+
|
74 |
except Exception as e:
|
|
|
75 |
logger.error(f"FEHLER bei der Bildgenerierung: {e}", exc_info=True) # exc_info zeigt den vollständigen Traceback
|
76 |
return f"Fehler bei der Bildgenerierung: {e}. Eventuell API-Limit erreicht, Prompt ungültig oder Together.ai Problem."
|
77 |
|
78 |
+
# --- Gradio Interface Definition (Bleibt unverändert) ---
|
79 |
with gr.Blocks() as demo:
|
80 |
gr.Markdown(
|
81 |
"""
|
|
|
116 |
height="auto"
|
117 |
)
|
118 |
|
|
|
119 |
generate_button.click(
|
120 |
fn=generate_image,
|
121 |
inputs=[prompt_input, steps_slider, num_images_slider],
|
122 |
outputs=[output_gallery]
|
123 |
)
|
124 |
|
|
|
125 |
if __name__ == "__main__":
|
126 |
demo.launch()
|