Audio-transkribering
Senast uppdaterad:
POST https://api.staik.se/v1/audio/transcriptionsTranskribera ljud till text med KB-Whisper large — Kungliga bibliotekets
svensk-tränade Whisper-modell (50 000 timmar svenskt tal). OpenAI-kompatibel:
peka openai-SDK:n mot api.staik.se så fungerar den direkt. Modellnamnet
whisper-1 routar också hit.
from openai import OpenAI
client = OpenAI(api_key="sk-st-your-key", base_url="https://api.staik.se/v1")
with open("moten.mp3", "rb") as f:
result = client.audio.transcriptions.create(
model="kb-whisper-large",
file=f,
language="sv",
)
print(result.text)Stödda format: mp3, wav, m4a, ogg, webm, mp4. Max filstorlek: 100 MB.
response_format: json (default), text, srt, vtt eller verbose_json
(med segments).
Långa filer — asynkront jobb
Det synkrona anropet passar filer upp till ~20 minuter. För längre inspelningar
finns jobb-API:t: ladda upp, få ett job_id direkt, polla tills klart. Gatewayn
delar själv upp ljudet, transkriberar och sätter ihop resultatet — inga timeouts,
och talare hålls konsekventa över hela filen.
# 1. Ladda upp → svarar direkt med ett job_id (status "queued")
curl https://api.staik.se/v1/audio/transcriptions/jobs \
-H "Authorization: Bearer sk-st-your-key" \
-F file=@langt-mote.m4a \
-F model=kb-whisper-large \
-F language=sv \
-F diarize=true
# → {"id":"390cc2dc-...","status":"queued","progress":0, ...}
# 2. Polla tills status = "completed" (progress 0–100 under tiden)
curl https://api.staik.se/v1/audio/transcriptions/jobs/390cc2dc-... \
-H "Authorization: Bearer sk-st-your-key"
# → {"status":"completed","progress":100,"audio_duration_seconds":4769,
# "tokens_charged":79483,"result":{"text":"...","segments":[...]}}Status går queued → processing → completed (eller failed/cancelled).
result följer med först när jobbet är klart, formaterat enligt
response_format. Lista jobb med GET /v1/audio/transcriptions/jobs, avbryt
med DELETE /v1/audio/transcriptions/jobs/{id}. Debitering sker när jobbet är
klart, per faktisk ljudlängd.
Talarseparering
diarize=true ger talaretiketter i segmenten. Talare hålls konsekventa även
när långa filer delas upp internt.
Tokens-åtgång
Transkribering debiteras 2 500 tokens per minut ljud (≈42/sekund) från samma tokenpool som chat-modellerna — 1 timme ljud kostar 150 000 tokens. Se vad din plan motsvarar under Planer och kvoter.
Varje synkront svar innehåller headrarna X-Audio-Duration-Seconds och
X-Audio-Tokens-Charged; för async-jobb finns samma info i jobbets
audio_duration_seconds/tokens_charged.