docs
API

Audio

Markdown

Synthèse vocale (TTS) et reconnaissance de la parole (STT) au format OpenAI Audio.

Guide complet
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# Synthèse 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": "Bonjour ! Voici un exemple de synthèse vocale.", "voice": "longanlingxin"}' \
  --output speech.mp3

# Reconnaissance
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
200 OK · transcription
{
  "text": "Bonjour, chers collègues. Commençons par le bilan de la semaine…"
}

Autorisation

  • Authorizationheaderobligatoire

    Clé au format Bearer sk-…. Les en-têtes suivants conviennent aussi : x-api-key ou x-goog-api-key.

Synthèse vocale : corps de la requête

  • modelstringobligatoire

    Modèle de synthèse 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.

  • inputstringobligatoire

    Texte à lire. Pour les modèles MiniMax, moins de 10 000 caractères; pour qwen-audio-3.0-tts-plus — jusqu’à 600.

  • voicestring

    Voix. Obligatoire pour les modèles MiniMax (speech-2.8-hd et les autres speech-…) : identifiant de voix MiniMax (lettres latines, chiffres, _ et -, jusqu’à 128 caractères). Pour qwen-audio-3.0-tts-plus par défaut longanlingxin, pour les modèles Gemini TTS : Kore.

  • response_formatstringfacultatif

    MiniMax : uniquement mp3; qwen-audio-3.0-tts-plus — mp3, wav ou pcm; Gemini TTS : wav ou json (lien vers le fichier).

La réponse est un fichier audio (pour MiniMax : audio/mpeg). La facturation se fait par caractère de texte ou par jeton, comme indiqué dans le catalogue.

Reconnaissance de la parole

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

    Fichier audio WAV au format multipart/form-data. qwen-asr, qwen-asr-latest et qwen-audio-3.0-asr-flash : WAV PCM complet, non compressé, jusqu’à 5 minutes; fichier d’environ 7,5 Mo au maximum (en base64, jusqu’à 10 Mo). asr-1.0 : WAV PCM jusqu’à 500 secondes et 50 Mo. gemini-3.5-transcribe : WAV jusqu’à 64 Mo.

  • modelstringobligatoire

    Modèle de reconnaissance de la parole : gemini-3.5-transcribe, qwen-audio-3.0-asr-flash, asr-1.0.

  • response_formatstringfacultatif

    Uniquement json (ou omettez ce champ).

Le champ language n’est pas utilisé par ces modèles. Réponse : {"text": "…"}. La facturation dépend de la durée de l’enregistrement (secondes, minutes ou heures : chaque modèle a sa propre unité).

Voix en temps réel

Pour qwen-audio-3.0-realtime-plus ouvrez une connexion WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus avec l’en-tête Authorization: Bearer <API_KEY>. Transmettez la clé depuis le serveur : les clés dans la chaîne de requête ne sont pas acceptées. Attendez session.created avec le modèle choisi, puis envoyez les paramètres, le message et response.create. Voici trois trames textuelles JSON successives pour obtenir une réponse textuelle dans une session audio :

{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Soyez bref."}}

Lisez les événements de réponse jusqu’à response.done et ses données finales d’utilisation (usage); les erreurs arrivent dans un événement error. La facturation porte sur les jetons de texte et d’audio de chaque réponse confirmée. Entrée audio : événement input_audio_buffer.append avec audio — base64 PCM16 mono 16 kHz ; puis input_audio_buffer.commit et response.create. La sortie audio est en PCM16 mono 24 kHz. Les trames binaires ne sont pas acceptées dans cette session.

Événements clients pris en charge : session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. Les éléments de conversation se limitent aux messages et au texte; les outils de fonction, la recherche Web et voiceprint ne sont pas pris en charge. Limites de la session : 600 secondes, 20 réponses, 20 tours de conversation dans l’historique, 2000 octets pour instructions et 8000 octets de texte client. Le délai d’inactivité dépend de la configuration (60 secondes par défaut).

Vous avez d’autres questions? Envoyez le Request ID et une description : nous vous aiderons à comprendre.Contacter le soutien