docs
API

Audio

Markdown

Tekst-naar-spraak (TTS) en spraakherkenning (STT) in het OpenAI Audio-formaat.

Volledige gids
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# 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
200 OK · spraakherkenning
{
  "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-key of x-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-hd en andere speech-…): stem-ID van MiniMax (Latijnse letters, cijfers, _ en -, maximaal 128 tekens). Bij qwen-audio-3.0-tts-plus standaard longanlingxin, bij Gemini TTS-modellen: Kore.

  • response_formatstringoptioneel

    MiniMax — alleen mp3; qwen-audio-3.0-tts-plus — mp3, wav of pcm; Gemini TTS — wav of json (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

POSThttps://api.ailoot.ai/v1/audio/transcriptions
  • filefileverplicht

    WAV-audiobestand in multipart/form-data. qwen-asr, qwen-asr-latest en qwen-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."}}

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).

Nog vragen? Stuur de Request ID en een beschrijving — we helpen je verder.Contact opnemen met support