import json
import requests
import streamlit as st
import pycafe
st.set_page_config(page_title="Gemini Minimal Chat", layout="centered")
st.title("Gemini Minimal Chat")
API_KEY = pycafe.get_secret("GEMINI_API_KEY")
if not API_KEY:
st.error("GEMINI_API_KEY fehlt im py.cafe Tresor.")
st.stop()
MODEL = "gemini-2.5-flash"
URL = f"https://generativelanguage.googleapis.com/v1beta/models/{MODEL}:generateContent"
prompt = st.text_area("Prompt", height=180, placeholder="Schreibe deine Nachricht an Gemini…")
if st.button("Senden", type="primary") and prompt.strip():
payload = {
"contents": [{"role": "user", "parts": [{"text": prompt.strip()}]}],
"generationConfig": {"temperature": 0.4, "maxOutputTokens": 512},
}
r = requests.post(
URL,
params={"key": API_KEY},
headers={"Content-Type": "application/json"},
data=json.dumps(payload),
timeout=60,
)
if r.status_code != 200:
st.error(f"API-Fehler {r.status_code}: {r.text}")
else:
data = r.json()
try:
st.markdown(data["candidates"][0]["content"]["parts"][0]["text"])
except Exception:
st.error(f"Unerwartetes Antwortformat: {data}")