Spaces:
Build error
Build error
| import os | |
| import streamlit as st | |
| from PIL import Image | |
| import io | |
| from google import genai | |
| from google.genai import types | |
| # API-Schlüssel laden | |
| #genai.configure(api_key=os.get("KEY")) | |
| st.title("Bildanalyse mit Gemini") | |
| col1, col2 = st.columns(2) | |
| with col1: | |
| uploaded_file = st.file_uploader("Bild hochladen", type=["jpg", "png", "jpeg"]) | |
| if uploaded_file is not None: | |
| image = Image.open(uploaded_file) | |
| st.image(image, caption="Hochgeladenes Bild", use_container_width=True) | |
| if st.button("Analysieren"): | |
| with st.spinner("Analysiere Bild..."): | |
| try: | |
| # Bild in Bytes umwandeln | |
| image_bytes = io.BytesIO() | |
| image.save(image_bytes, format=image.format) | |
| image_bytes = image_bytes.getvalue() | |
| # Anfrage an Gemini senden | |
| client = genai.Client(api_key=os.getenv("KEY")) # Client innerhalb der Funktion erstellen | |
| response = client.models.generate_content( | |
| model="gemini-2.0-flash-exp", # Oder "gemini-2.0-flash-exp", je nach Verfügbarkeit | |
| contents=["Beschreibe dieses Bild und identifiziere das Hauptobjekt.", types.Part.from_bytes(data=image_bytes, mime_type=f"image/{image.format.lower()}") | |
| ] | |
| ) | |
| with col2: | |
| # Antwort anzeigen | |
| st.write("## Analyseergebnis:") | |
| st.write(response.text) | |
| except Exception as e: | |
| st.error(f"Ein Fehler ist aufgetreten: {e}") | |