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

# Erkennung
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, Kolleginnen und Kollegen. Beginnen wir mit den Ergebnissen der Woche…"
}

Authentifizierung

  • Authorizationheadererforderlich

    Schlüssel im Format Bearer sk-…. Alternativ eignen sich die Header x-api-key oder x-goog-api-key.

Sprachausgabe: Anfrageinhalt

  • 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 weitere 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, Dateigröße etwa bis zu 7,5 MB (in base64 bis zu 10 MB). asr-1.0: PCM WAV mit bis zu 500 Sekunden 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).

Echtzeit-Sprachmodus

Für qwen-audio-3.0-realtime-plus öffnen Sie eine WebSocket-Verbindung 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 dann die Einstellungen, die Nachricht und response.create. Unten stehen drei aufeinanderfolgende JSON-Textframes für eine Textantwort in 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 und dessen abschließendes usage; Fehler erscheinen als Ereignis 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äre Frames werden in dieser Sitzung nicht akzeptiert.

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

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung, damit wir Ihnen weiterhelfen können.Support kontaktieren