# Endpointy přepisu Audio se posílá jako proměnná `file` (multipart/form-data). Všechny ostatní parametry jsou form fields v POST. API klíče jsou v X- hlavičkách. Výstup je vždy JSON. ## Hlavičky (secrets) | Hlavička | Nutná | Popis | |----------|-------|-------| | `X-Deepgram-Api-Key` | ano | Deepgram API klíč | | `X-OpenAI-Api-Key` | ano | OpenAI API klíč (Whisper + slučovací chat) | ## POST /transcribe/dual Paralelní přepis dvěma engine. Vrací dva nezávislé texty. ### Form parametry | Pole | Typ | Default | Popis | |------|-----|---------|-------| | `file` | soubor | — | Audio k přepisu (povinné) | | `deepgram_model` | text | `nova-2` | Deepgram model | | `whisper_model` | text | `whisper-1` | OpenAI přepisový model | | `language` | text | `cs` | Jazyk (ISO kód) | | `diarize` | bool | `true` | Deepgram diarizace | | `smart_format` | bool | `true` | Deepgram smart formatting | ### Odpověď ```json { "text1": "přepis z Deepgramu", "text2": "přepis z OpenAI Whisper", "deepgram_model": "nova-2", "whisper_model": "whisper-1", "language": "cs" } ``` ### Příklad (curl) ```bash curl -X POST https://services.csbot.cz/apps/audio-transcription/transcribe/dual \ -H "X-Deepgram-Api-Key: " \ -H "X-OpenAI-Api-Key: " \ -F "file=@nahravka.mp3" \ -F "language=cs" ``` ## POST /transcribe/combined Jako `dual`, navíc oba přepisy sloučí přes OpenAI Chat do jednoho výsledku (`merged`). ### Form parametry Vše z `dual`, plus: | Pole | Typ | Default | Popis | |------|-----|---------|-------| | `combine_prompt` | text | výchozí „Czech Transcript Merger“ | System prompt pro sloučení | | `chat_model` | text | `gpt-4o` | OpenAI chat model pro sloučení | Nezadá-li se `combine_prompt`, použije se výchozí prompt z `app/prompts.py`. ### Odpověď ```json { "text1": "přepis z Deepgramu", "text2": "přepis z OpenAI Whisper", "merged": "sloučený, co nejpřesnější výsledný přepis", "deepgram_model": "nova-2", "whisper_model": "whisper-1", "chat_model": "gpt-4o", "language": "cs" } ``` ### Příklad (curl) ```bash curl -X POST https://services.csbot.cz/apps/audio-transcription/transcribe/combined \ -H "X-Deepgram-Api-Key: " \ -H "X-OpenAI-Api-Key: " \ -F "file=@nahravka.mp3" ``` ## Chybové stavy | HTTP | Kdy | |------|-----| | 400 | Chybí / prázdný audio soubor | | 401 | Chybí `X-Deepgram-Api-Key` nebo `X-OpenAI-Api-Key` | | 502 | Chyba upstream API (Deepgram / OpenAI) | | 500 | Neočekávaná chyba serveru | Všechny chyby se logují (bez secrets), žádné tiché selhání.