vab42 commited on
Commit
6dd7fe2
·
verified ·
1 Parent(s): 6e44971

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
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
- # Dies ist der kritische Aufrufpunkt
51
- logger.info(f"Versuche, Bildgenerierung mit Modell {FLUX_MODEL} zu starten...")
52
- response = client.images.generations.create(
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
- for image_data in response.data:
62
- img_bytes = base64.b64decode(image_data.b64_json)
63
- img = Image.open(io.BytesIO(img_bytes))
64
- images.append(img)
65
- return images
 
 
 
 
 
 
 
 
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()