Doku
API

Audio

Markdown

Text-to-Speech (TTS) und Spracherkennung (STT) im Format OpenAI Audio.

Vollständiger Leitfaden
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# Sprachausgabe
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": "Guten Tag! Dies ist ein Beispiel für Sprachausgabe.", "voice": "longanlingxin"}' \
  --output speech.mp3

# Spracherkennung
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
200 OK · Spracherkennung
{
  "text": "Guten Tag, liebe Kolleginnen und Kollegen. Beginnen wir mit den Ergebnissen der Woche…"
}

Authentifizierung

  • Authorizationheadererforderlich

    Schlüssel in der Form Bearer sk-…. Alternativ akzeptiert Ailoot die Header x-api-key oder x-goog-api-key.

Sprachausgabe: Request-Body

  • modelstringerforderlich

    Modell für die Sprachausgabe: 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.

  • inputstringerforderlich

    Text für die Sprachausgabe. Bei MiniMax-Modellen weniger als 10 000 Zeichen, bei qwen-audio-3.0-tts-plus — bis zu 600.

  • voicestring

    Stimme. Für MiniMax-Modelle erforderlich (speech-2.8-hd und andere speech-…): MiniMax-Stimmen-ID (lateinische Buchstaben, Ziffern, _ und -, bis zu 128 Zeichen). Bei qwen-audio-3.0-tts-plus standardmäßig longanlingxin, bei Gemini-TTS-Modellen — Kore.

  • response_formatstringoptional

    MiniMax — nur mp3; qwen-audio-3.0-tts-plus — mp3, wav oder pcm; Gemini TTS — wav oder json (Link zur Datei).

Die Antwort ist eine Audiodatei (bei MiniMax — audio/mpeg). Abgerechnet wird nach Textzeichen oder Tokens, wie im Katalog angegeben.

Spracherkennung

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

    WAV-Audiodatei in multipart/form-data. qwen-asr, qwen-asr-latest und qwen-audio-3.0-asr-flash: vollständiges, unkomprimiertes PCM WAV mit bis zu 5 Minuten Länge und einer Dateigröße von ungefähr bis zu 7,5 MB (in base64 bis zu 10 MB). asr-1.0: PCM WAV mit bis zu 500 Sekunden Länge und 50 MB. gemini-3.5-transcribe: WAV mit bis zu 64 MB.

  • modelstringerforderlich

    Modell für die Spracherkennung: gemini-3.5-transcribe, qwen-audio-3.0-asr-flash, asr-1.0.

  • response_formatstringoptional

    Nur json (oder weglassen).

Das Feld language wird von diesen Modellen nicht verwendet. Antwort: {"text": "…"}. Abgerechnet wird nach der Aufnahmedauer (Sekunden, Minuten oder Stunden — jedes Modell hat seine eigene Einheit).

Sprache in Echtzeit

Für qwen-audio-3.0-realtime-plus öffnen Sie eine WebSocket-Verbindung zu wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus mit dem Header Authorization: Bearer <API_KEY>. Übermitteln Sie den Schlüssel serverseitig: Ein Schlüssel im Query-String wird nicht akzeptiert. Warten Sie auf session.created mit dem gewählten Modell und senden Sie danach Einstellungen, Nachricht und response.create. Nachfolgend drei aufeinanderfolgende JSON-Textframes für eine Textantwort innerhalb der Audiositzung:

{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Fasse dich kurz."}}

Lesen Sie die Antwortereignisse bis response.done einschließlich der abschließenden usage; Fehler werden als folgendes Ereignis übermittelt: error. Abgerechnet werden die Text- und Audiotokens jeder bestätigten Antwort. Audioeingabe: Ereignis input_audio_buffer.append mit audio — base64 PCM16 mono 16 kHz; anschließend input_audio_buffer.commit und response.create. Audioausgabe — PCM16 mono 24 kHz. Binärframes werden in dieser Sitzung nicht akzeptiert.

Unterstützte Clientereignisse: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. conversation items — ausschließlich Nachrichten/Text; function tools, web search und voiceprint werden nicht unterstützt. Sitzungslimits: 600 Sekunden, 20 Antworten, 20 history turns, 2000 Bytes instructions und 8000 Bytes Clienttext. Der Idle timeout hängt von der Konfiguration ab (standardmäßig 60 Sekunden).

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.Support kontaktieren