Gemini Live Custom — Hugging Face Docker Space
Echtzeit-Sprach-Chat mit Gemini 3.1 Flash Live API + Tools.
Features
|
|
| 🎤 Mikrofon → 16kHz PCM → Gemini |
🔊 Audio-Ausgabe → 24kHz PCM → Browser |
| 💬 Text-Chat (parallel zur Sprache) |
🔍 Web Search (Serper API als Tool) |
| 🖼️ Image Generation (5 Provider) |
📄 Read File (aus /app und /data) |
| ⚙️ System Prompt (editierbar + persistent) |
🎙️ Stimmauswahl (Puck/Charon/Kore/Fenrir/Aoede) |
| 💾 Persistente Chats (JSONL) |
📋 Live-Logs über /logs |
Secrets (Space Settings → Secrets)
| Secret |
Beschreibung |
GEMINI_API_KEY |
Google AI Studio Gemini API Key |
SERPER_API_KEY |
Serper.dev Search API Key |
CF_ACCOUNT_ID |
Cloudflare Account ID (Image Gen) |
CF_API_TOKEN |
Cloudflare API Token |
AGNES_API_KEY |
Agnes AI API Key |
GEMINI_MODEL |
Modell-Name (default: gemini-3.1-flash-live-preview) |
Persistenz
- Bucket unter
/data gemountet → Settings, Chats, Generated Images überleben Restart
- Fallback:
/app/data (ephemeral) falls Bucket nicht beschreibbar
Gemini-Tools
| Tool |
Beschreibung |
web_search(query) |
Websuche via Serper API |
image_gen(prompt) |
Bild generieren (5 Provider umschaltbar) |
readfile(path) |
Textdatei lesen (erlaubt: /app, /data) |
API Endpoints
| Methode |
Pfad |
Beschreibung |
GET |
/ |
Frontend |
GET |
/health |
Health-Check |
GET |
/logs |
Letzte 300 Log-Einträge |
GET |
/settings |
Aktuelle Einstellungen |
POST |
/settings |
Einstellungen speichern |
GET |
/sessions |
Session-Liste |
GET |
/chats/{name} |
Session laden |
DELETE |
/sessions/{name} |
Session löschen |
WS |
/ws |
WebSocket (Audio + Text) |
Image Provider
| Provider |
Backend |
| FLUX.1 Schnell |
Cloudflare Workers AI |
| SDXL Lightning |
Cloudflare Workers AI |
| SDXL Base 1.0 |
Cloudflare Workers AI |
| Agnes 2.1 Flash |
Agnes AI (1K-4K) |
| Agnes 2.0 Flash |
Agnes AI (1024×1024) |
Known Issues
- HF Docker Spaces benötigen PRO-Abonnement
- CPU Basic Space geht nach
15 min Inaktivität in Sleep (2 min Cold Start)
/data Bucket-Mounts können Permission-Probleme haben (Fallback auf /app/data)
- Private Spaces können von Brave/Shields blockiert werden