dokumentaatio
API

Audio

Markdown

Tekstin muuttaminen puheeksi (TTS) ja puheentunnistus (STT) OpenAI Audio -muodossa.

Koko opas
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# puhesynteesi
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": "Hyvää päivää! Tämä on esimerkki puhesynteesistä.", "voice": "longanlingxin"}' \
  --output speech.mp3

# tunnistus
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
200 OK · puheentunnistus
{
  "text": "Hyvää päivää, kollegat. Aloitetaan viikon tuloksista…"
}

Todennus

  • Authorizationheaderpakollinen

    Avain muodossa Bearer sk-…. Myös seuraavat otsakkeet käyvät: x-api-key tai x-goog-api-key.

Puheentuotto: pyynnön runko

  • modelstringpakollinen

    Puheentuottomalli: 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.

  • inputstringpakollinen

    Puheeksi muunnettava teksti. MiniMax-malleilla alle 10 000 merkkiä, mallilla qwen-audio-3.0-tts-plus — enintään 600.

  • voicestring

    Ääni. Pakollinen MiniMax-malleille (speech-2.8-hd ja muut speech-…): MiniMax-äänen tunniste (latinalaiset kirjaimet, numerot, _ ja -, enintään 128 merkkiä). Mallilla qwen-audio-3.0-tts-plus oletuksena longanlingxin, Gemini TTS -malleilla — Kore.

  • response_formatstringvalinnainen

    MiniMax — vain mp3; qwen-audio-3.0-tts-plus — mp3, wav tai pcm; Gemini TTS — wav tai json (linkki tiedostoon).

Vastaus on äänitiedosto (MiniMaxilla — audio/mpeg). Maksu määräytyy tekstin merkkien tai tokenien mukaan, kuten luettelossa ilmoitetaan.

Puheentunnistus

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

    WAV-äänitiedosto muodossa multipart/form-data. qwen-asr, qwen-asr-latest ja qwen-audio-3.0-asr-flash: kokonainen pakkaamaton PCM WAV, enintään 5 minuuttia, tiedosto noin 7,5 Mt (base64-muodossa enintään 10 Mt). asr-1.0: PCM WAV, enintään 500 sekuntia ja 50 Mt. gemini-3.5-transcribe: WAV, enintään 64 Mt.

  • modelstringpakollinen

    Puheentunnistusmalli: gemini-3.5-transcribe, qwen-audio-3.0-asr-flash, asr-1.0.

  • response_formatstringvalinnainen

    Vain json (tai jätä määrittämättä).

Kenttä language ei ole käytössä näillä malleilla. Vastaus: {"text": "…"}. Maksu määräytyy tallenteen keston mukaan (sekunteina, minuutteina tai tunteina — kullakin mallilla on oma yksikkönsä).

Reaaliaikainen ääni

Mallille qwen-audio-3.0-realtime-plus avaa WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus otsakkeella Authorization: Bearer <API_KEY>. Lähetä avain palvelinpuolelta: kyselymerkkijonossa olevaa avainta ei hyväksytä. Odota tapahtumaa session.created valitulla mallilla ja lähetä sitten asetukset, viesti ja response.create. Alla on kolme peräkkäistä JSON-tekstikehystä tekstivastauksen saamiseksi ääni-istunnossa:

{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Ole ytimekäs."}}

Lue vastaustapahtumia tapahtumaan response.done ja sen lopulliseen usage-arvoon asti; virheet saapuvat tapahtumana error. Maksu määräytyy kunkin vahvistetun vastauksen teksti- ja äänitokenien mukaan. Äänisyöte: tapahtuma input_audio_buffer.append kentällä audio — base64 PCM16 mono 16 kHz; sen jälkeen input_audio_buffer.commit ja response.create. Äänituloste on PCM16 mono 24 kHz. Binaarikehyksiä ei hyväksytä tässä istunnossa.

Tuetut asiakastapahtumat: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. conversation items -elementit sisältävät vain viestejä/tekstiä; function tools -työkalut, verkkohaku ja voiceprint eivät ole tuettuja. Istuntorajat: 600 sekuntia, 20 vastausta, 20 keskusteluhistorian vuoroa, 2000 tavua instructions-kentässä ja 8000 tavua asiakkaan tekstiä. Joutoajan aikakatkaisu riippuu asetuksista (oletuksena 60 sekuntia).

Onko vielä kysyttävää? Lähetä Request ID ja kuvaus — autamme selvittämään asian.Ota yhteyttä tukeen