# quiXzoom Academy — Gemini Integration Guide > Hur du kopplar AAMOS Gemini till Academy för bildgenerering --- ## 🔍 Hitta din Gemini i AAMOS ### Steg 1: Leta efter Gemini-tjänsten ```bash # Sök efter Gemini-relaterade filer find /opt/amos -type f \( -name "*.py" -o -name "*.yaml" -o -name "*.env" \) \ -exec grep -l "gemini\|vertex.*ai\|generativelanguage" {} \; 2>/dev/null # Kolla om det finns en körande tjänst curl -s http://localhost:8080/health curl -s http://localhost:5000/health netstat -tlnp | grep -E "8080|5000|3000" ``` ### Steg 2: Hitta API-nyckeln ```bash # Kolla miljövariabler env | grep -i "gemini\|google\|vertex" # Kolla i AAMOS-config cat /opt/amos/.env 2>/dev/null | grep -i "gemini\|google" cat /opt/amos/config.yaml 2>/dev/null | grep -i "gemini\|google" # Kolla i Kubernetes secrets (om det körs i k8s) kubectl get secrets -n aamos 2>/dev/null | grep -i gemini ``` --- ## 🔧 Integration ### Alternativ A: Direkt API-anrop (enklaste) ```python # academy_gemini_direct.py import os import requests import json GEMINI_API_KEY = os.getenv("GEMINI_API_KEY") def generate_academy_image(lesson_title: str, description: str) -> str: """ Generera pedagogisk bild för Academy-lektion """ url = f"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp-image-generation:generateContent?key={GEMINI_API_KEY}" payload = { "contents": [{ "parts": [{ "text": f"""Generera en pedagogisk illustration för en online-utbildning. Titel: {lesson_title} Beskrivning: {description} Krav: - Modern, ren stil - Färger: blå (#0066FF), grön (#00C853), svart (#0A0A0A) - Pedagogisk och lätt att förstå - Ingen text i bilden - Format: 16:9 """ }] }], "generationConfig": { "responseModalities": ["Text", "Image"] } } response = requests.post(url, json=payload) if response.status_code == 200: data = response.json() # Extrahera bild från response # Spara till fil return "image_url" else: raise Exception(f"Fel: {response.status_code} - {response.text}") # Exempel image = generate_academy_image( "Fotokvalitet — Ljus och exponering", "Visa skillnaden mellan underexponerad, korrekt exponerad och överexponerad bild" ) ``` ### Alternativ B: Via AAMOS Gemini-tjänst (om den finns) ```python # academy_gemini_aamos.py import requests AAMOS_GEMINI_URL = "http://localhost:8080/v1/generate" # eller annan port def generate_via_aamos(prompt: str) -> bytes: """ Använd AAMOS interna Gemini-tjänst """ response = requests.post( AAMOS_GEMINI_URL, json={ "prompt": prompt, "model": "gemini-2.0-flash-exp-image-generation", "output_format": "png" } ) return response.content ``` --- ## 🚀 Automatisk bildgenerering ```bash # Kör skriptet för att generera alla bilder python academy-image-generator.py --generate # Eller generera en specifik bild python -c " from academy_image_generator import generate_image import os os.environ['GEMINI_API_KEY'] = 'din-nyckel-här' generate_image('m2l2', 'din-nyckel-här') " ``` --- ## 📁 Filstruktur ``` academy/ ├── index.html # Huvudsida ├── api.json # API-specifikation ├── module1/ │ └── lesson1/ │ └── index.html # Lektion med bilder ├── module2/ │ └── lesson1/ │ └── index.html # Lektion med bilder └── images/ # Genererade bilder ├── m1l1-welcome.png ├── m2l1-ai-review.png ├── m2l2-lighting.png └── ... ``` --- ## 🎯 Nästa steg 1. **Hitta din Gemini-nyckel** i AAMOS 2. **Testa generering** av en bild 3. **Ladda upp** till S3 4. **Uppdatera** lektionerna med bild-URLer 5. **Automatisera** med GitHub Actions eller cron --- ## 📞 Support Om du inte hittar Gemini i AAMOS: 1. Kolla med Johan (CTO) om det finns en central AI-tjänst 2. Eller skapa ett nytt Google Cloud-projekt för quiXzoom 3. Aktivera Vertex AI API 4. Skapa service account och ladda ner JSON-nyckel