2.6 KiB
2.6 KiB
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ěď
{
"text1": "přepis z Deepgramu",
"text2": "přepis z OpenAI Whisper",
"deepgram_model": "nova-2",
"whisper_model": "whisper-1",
"language": "cs"
}
Příklad (curl)
curl -X POST https://services.csbot.cz/apps/audio-transcription/transcribe/dual \
-H "X-Deepgram-Api-Key: <DEEPGRAM_KEY>" \
-H "X-OpenAI-Api-Key: <OPENAI_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ěď
{
"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)
curl -X POST https://services.csbot.cz/apps/audio-transcription/transcribe/combined \
-H "X-Deepgram-Api-Key: <DEEPGRAM_KEY>" \
-H "X-OpenAI-Api-Key: <OPENAI_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í.