Audio
MarkdownText-to-Speech (TTS) und Spracherkennung (STT) im OpenAI-Audio-Format.
Vollständiger Leitfaden
https://api.ailoot.ai/v1/audio/speech# 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 die 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# Spracherkennung
with open("meeting.wav", "rb") as f:
tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text){
"text": "Guten Tag zusammen. Beginnen wir mit den Ergebnissen der Woche…"
}Authentifizierung
- Authorizationheadererforderlich
Schlüssel im Format
Bearer sk-…. Alternativ funktionieren die Headerx-api-keyoderx-goog-api-key.
Sprachausgabe: Anfragekörper
- modelstringerforderlich
Sprachausgabemodell:
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-plusbis zu 600. - voicestring
Stimme. Bei MiniMax-Modellen erforderlich (
speech-2.8-hdund weiterenspeech-…): MiniMax-Stimmen-ID (lateinische Buchstaben, Ziffern,_und-, bis zu 128 Zeichen). Beiqwen-audio-3.0-tts-plusstandardmässiglonganlingxin, bei Gemini-TTS-ModellenKore. - response_formatstringoptional
MiniMax unterstützt nur
mp3;qwen-audio-3.0-tts-plus—mp3,wavoderpcm; Gemini TTS unterstütztwavoderjson(Link zur Datei).
Die Antwort ist eine Audiodatei (bei MiniMax audio/mpeg). Abgerechnet wird nach Textzeichen oder Tokens, wie im Katalog angegeben.
Spracherkennung
https://api.ailoot.ai/v1/audio/transcriptions- filefileerforderlich
WAV-Audiodatei in
multipart/form-data.qwen-asr,qwen-asr-latestundqwen-audio-3.0-asr-flash: vollständiges, unkomprimiertes PCM-WAV bis zu 5 Minuten, Dateigrösse ungefähr bis zu 7,5 MB (in base64 bis zu 10 MB).asr-1.0: PCM-WAV bis zu 500 Sekunden und 50 MB.gemini-3.5-transcribe: WAV bis zu 64 MB. - modelstringerforderlich
Spracherkennungsmodell:
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 Aufnahmedauer (Sekunden, Minuten oder Stunden — jedes Modell hat seine eigene Einheit).
Echtzeit-Sprachmodus
Für qwen-audio-3.0-realtime-plus öffnen Sie einen WebSocket 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: Schlüssel im Query-String werden nicht akzeptiert. Warten Sie auf session.created mit dem gewählten Modell und senden Sie anschliessend die Einstellungen, die Nachricht und response.create. Unten stehen drei aufeinanderfolgende JSON-Text-Frames für eine Textantwort innerhalb einer Audiositzung:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Fasse dich kurz."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Sag ja."}]}}{"type":"response.create"}Lesen Sie die Antwortereignisse bis response.done und dessen abschliessende usage-Angabe; Fehler erscheinen im 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; anschliessend 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 unterstützen nur 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ässig 60 Sekunden).