Audio
MarkdownTekst-naar-spraak (TTS) en spraakherkenning (STT) in het OpenAI Audio-formaat.
Volledige gids
https://api.ailoot.ai/v1/audio/speech# spraakgeneratie
curl https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "qwen-audio-3.0-tts-plus", "input": "Goedendag! Dit is een voorbeeld van spraakgeneratie.", "voice": "longanlingxin"}' \
--output speech.mp3
# herkenning
curl https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-F model=qwen-asr \
-F file=@meeting.wav# spraakherkenning
with open("meeting.wav", "rb") as f:
tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text){
"text": "Goedendag, collega's. Laten we beginnen met de resultaten van de week…"
}Authenticatie
- Authorizationheaderverplicht
Sleutel in de vorm
Bearer sk-…. Ook deze headers worden ondersteund:x-api-keyofx-goog-api-key.
Tekst-naar-spraak: verzoekbody
- modelstringverplicht
Tekst-naar-spraakmodel:
gemini-3.8-flash-tts,qwen-audio-3.0-tts-plus,speech-2.8-turbo,gemini-3.8-flash-lite-tts,speech-2.8-hd,gemini-3.1-flash-tts-preview,speech-2.6-turbo,speech-2.6-hd,speech-02-turbo,speech-02-hd. - inputstringverplicht
Tekst om uit te spreken. Bij MiniMax-modellen: minder dan 10 000 tekens; bij
qwen-audio-3.0-tts-plus— maximaal 600. - voicestring
Stem. Verplicht voor MiniMax-modellen (
speech-2.8-hden anderespeech-…): stem-ID van MiniMax (Latijnse letters, cijfers,_en-, maximaal 128 tekens). Bijqwen-audio-3.0-tts-plusstandaardlonganlingxin, bij Gemini TTS-modellen:Kore. - response_formatstringoptioneel
MiniMax — alleen
mp3;qwen-audio-3.0-tts-plus—mp3,wavofpcm; Gemini TTS —wavofjson(link naar het bestand).
Het antwoord is een audiobestand (bij MiniMax: audio/mpeg). Je betaalt per tekstteken of per token, zoals aangegeven in de catalogus.
Spraakherkenning
https://api.ailoot.ai/v1/audio/transcriptions- filefileverplicht
WAV-audiobestand in
multipart/form-data.qwen-asr,qwen-asr-latestenqwen-audio-3.0-asr-flash: een volledig ongecomprimeerd PCM WAV-bestand van maximaal 5 minuten, ongeveer maximaal 7,5 MB (in base64 maximaal 10 MB).asr-1.0: PCM WAV van maximaal 500 seconden en 50 MB.gemini-3.5-transcribe: WAV van maximaal 64 MB. - modelstringverplicht
Spraakherkenningsmodel:
gemini-3.5-transcribe,qwen-audio-3.0-asr-flash,asr-1.0. - response_formatstringoptioneel
Alleen
json(of weglaten).
Het veld language wordt door deze modellen niet gebruikt. Antwoord: {"text": "…"}. Je betaalt voor de duur van de opname (seconden, minuten of uren — elk model heeft een eigen eenheid).
Spraak in realtime
Voor qwen-audio-3.0-realtime-plus open je een WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus met de header Authorization: Bearer <API_KEY>. Geef de sleutel door vanaf de server: een sleutel in de query string wordt niet geaccepteerd. Wacht op session.created met het gekozen model en verstuur daarna de instellingen, het bericht en response.create. Hieronder staan drie opeenvolgende JSON-tekstframes voor een tekstantwoord in een audiosessie:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Wees beknopt."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Zeg ja."}]}}{"type":"response.create"}Lees de antwoordgebeurtenissen tot response.done en de uiteindelijke usage daarvan; fouten komen binnen als een gebeurtenis van het type error. De kosten worden berekend op basis van de tekst- en audiotokens van elk bevestigd antwoord. Audio-invoer: gebeurtenis input_audio_buffer.append met audio — base64 PCM16 mono 16 kHz; daarna input_audio_buffer.commit en response.create. Audio-uitvoer: PCM16 mono 24 kHz. Binaire frames worden in deze sessie niet geaccepteerd.
Ondersteunde clientgebeurtenissen: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. conversation items — alleen berichten/tekst; function tools, web search en voiceprint worden niet ondersteund. Sessielimieten: 600 seconden, 20 antwoorden, 20 gespreksbeurten in de geschiedenis, 2000 bytes instructions en 8000 bytes clienttekst. De idle timeout hangt af van de configuratie (standaard 60 seconden).