Audio
MarkdownText-to-Speech (TTS) und Spracherkennung (STT) im Format OpenAI Audio.
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 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, Kolleginnen und Kollegen. Beginnen wir mit den Ergebnissen der Woche…"
}Authentifizierung
- Authorizationheadererforderlich
Schlüssel im Format
Bearer sk-…. Alternativ eignen sich die Headerx-api-keyoderx-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-hdund weiterespeech-…): MiniMax-Stimmen-ID (lateinische Buchstaben, Ziffern,_und-, bis zu 128 Zeichen). Beiqwen-audio-3.0-tts-plusstandardmäßiglonganlingxin, bei Gemini-TTS-ModellenKore. - response_formatstringoptional
MiniMax nur
mp3;qwen-audio-3.0-tts-plus—mp3,wavoderpcm; Gemini TTSwavoderjson(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 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."}}{"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 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).