# Externe Schnittstellen ## Transcription-API (`API_BASE`) Wird für Audio-/Videotranskription mit Diarisierung verwendet. **Standard-URL:** `http://gx10.aquantico.lan:8093` ### `POST /transcribe-diarize` Upload der Mediendatei als `multipart/form-data`. **Request:** ``` Content-Type: multipart/form-data field: file (binary, application/octet-stream) ``` Unterstützte Formate: alle gängigen Audio- und Videoformate (MP3, WAV, M4A, OGG, MP4, MKV, MOV, …). Die API extrahiert den Audiotrack selbst. **Response (JSON):** ```json { "formatted_text": "Speaker 1: Hallo...\nSpeaker 2: ...", ... } ``` Das Feld `formatted_text` wird als Markdown-Inhalt des `transcript`-Dokuments gespeichert. Die vollständige JSON-Antwort landet in `documents.raw_json`. **Timeout:** 1800 s (30 Minuten, für lange Aufnahmen) --- ## Ollama (`OLLAMA_BASE_URL`) Wird für die LLM-Analyse von Transkripten verwendet. **Standard-URL:** `http://gx10.aquantico.lan:11434` ### `POST /api/generate` **Request (JSON):** ```json { "model": "qwen3.5:9b", "prompt": "...", "stream": true, "think": true, "options": { "num_ctx": 16384, "num_predict": 16384, "repeat_penalty": 1.15, "repeat_last_n": 128 } } ``` - `stream: true` — Antwort wird zeilenweise als JSON-Objekte gestreamt - `think` — aktiviert Extended Thinking / Chain-of-Thought (modellabhängig) - `num_ctx` — wird dynamisch berechnet (`_estimate_num_ctx`) oder aus den Einstellungen gelesen - Alle `options`-Parameter sind über die Einstellungsseite oder pro Prompt konfigurierbar **Response (NDJSON-Stream):** ```json {"response": "Teil der Antwort", "thinking": "...", "done": false} ... {"response": "", "done": true, "total_duration": ...} ``` Chunks werden in `_JOB_STREAMS[job_id]` gepuffert für die Live-Anzeige auf der Jobs-Seite. **Timeout:** 1200 s ### `GET /api/tags` Wird von `GET /settings/models` aufgerufen, um verfügbare Modelle zu listen. **Response (JSON):** ```json { "models": [ { "name": "qwen3.5:9b", ... }, ... ] } ``` **Timeout:** 5 s --- ## KI-Einstellungen (Prioritäten) Beim Analyse-Job gelten folgende Prioritäten für die LLM-Parameter: ``` Prompt-spezifische Einstellungen (llm_use_default=0) → Werte aus prompts.llm_* Spalten Globale Einstellungen (llm_use_default=1, Standard) → Werte aus der settings-Tabelle Fallback → Umgebungsvariablen (OLLAMA_MODEL, OLLAMA_THINK, …) ```