Audio
MarkdownSintesi vocale del testo (TTS) e riconoscimento vocale (STT) nel formato OpenAI Audio.
Guida completa
https://api.ailoot.ai/v1/audio/speech# sintesi vocale
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": "Buongiorno! Questo è un esempio di sintesi vocale.", "voice": "longanlingxin"}' \
--output speech.mp3
# riconoscimento
curl https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-F model=qwen-asr \
-F file=@meeting.wav# riconoscimento vocale
with open("meeting.wav", "rb") as f:
tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text){
"text": "Buongiorno, colleghi. Iniziamo con i risultati della settimana…"
}Autorizzazione
- Authorizationheaderobbligatorio
Chiave nel formato
Bearer sk-…. Sono accettati anche gli headerx-api-keyoppurex-goog-api-key.
Sintesi vocale: corpo della richiesta
- modelstringobbligatorio
Modello di sintesi vocale:
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. - inputstringobbligatorio
Testo da convertire in voce. Per i modelli MiniMax meno di 10 000 caratteri, per
qwen-audio-3.0-tts-plusfino a 600. - voicestring
Voce. Obbligatoria per i modelli MiniMax (
speech-2.8-hde altrispeech-…): identificatore della voce MiniMax (lettere latine, cifre,_e-, fino a 128 caratteri). Perqwen-audio-3.0-tts-plusil valore predefinito èlonganlingxin, per i modelli Gemini TTS —Kore. - response_formatstringfacoltativo
MiniMax — solo
mp3;qwen-audio-3.0-tts-plus—mp3,wavoppurepcm; Gemini TTS —wavoppurejson(link al file).
La risposta è un file audio (per MiniMax — audio/mpeg). Il pagamento è calcolato sui caratteri del testo o sui token, come indicato nel catalogo.
Riconoscimento vocale
https://api.ailoot.ai/v1/audio/transcriptions- filefileobbligatorio
File audio WAV in
multipart/form-data.qwen-asr,qwen-asr-latesteqwen-audio-3.0-asr-flash: PCM WAV completo e non compresso, fino a 5 minuti, file fino a circa 7,5 MB (in base64 fino a 10 MB).asr-1.0: PCM WAV fino a 500 secondi e 50 MB.gemini-3.5-transcribe: WAV fino a 64 MB. - modelstringobbligatorio
Modello di riconoscimento:
gemini-3.5-transcribe,qwen-audio-3.0-asr-flash,asr-1.0. - response_formatstringfacoltativo
Solo
json(oppure non specificarlo).
Il campo language non è utilizzato da questi modelli. Risposta: {"text": "…"}. Il pagamento è calcolato sulla durata della registrazione (secondi, minuti o ore — ogni modello ha la propria unità).
Voce in tempo reale
Per qwen-audio-3.0-realtime-plus apri una connessione WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus con l’header Authorization: Bearer <API_KEY>. Trasmetti la chiave dal lato server: le chiavi nella query string non sono accettate. Attendi session.created con il modello scelto, poi invia le impostazioni, il messaggio e response.create. Di seguito tre frame di testo JSON consecutivi per ottenere una risposta testuale in una sessione audio:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Sii breve."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Di’ sì."}]}}{"type":"response.create"}Leggi gli eventi della risposta fino a response.done e al suo usage finale; gli errori arrivano come evento error. Il pagamento è calcolato sui token testuali e audio di ogni risposta confermata. Input audio: evento input_audio_buffer.append con audio — base64 PCM16 mono 16 kHz; poi input_audio_buffer.commit e response.create. L’output audio è PCM16 mono 24 kHz. In questa sessione non sono accettati frame binari.
Eventi client supportati: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. Gli elementi conversation items ammettono solo messaggi/testo; function tools, ricerca web e voiceprint non sono supportati. Limiti della sessione: 600 secondi, 20 risposte, 20 turni di cronologia, 2000 byte nel campo instructions e 8000 byte di testo client. Il timeout di inattività dipende dalla configurazione (60 secondi per impostazione predefinita).