dokumentacija
API

Audio

Markdown

Pretvorba besedila v govor (TTS) in prepoznavanje govora (STT) v formatu OpenAI Audio.

Celoten vodnik
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# pretvorba v govor
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": "Dober dan! To je primer pretvorbe besedila v govor.", "voice": "longanlingxin"}' \
  --output speech.mp3

# prepoznavanje
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
200 OK · prepoznavanje
{
  "text": "Dober dan, sodelavci. Začnimo s pregledom tedna…"
}

Avtentikacija

  • Authorizationheaderobvezno

    Ključ v obliki Bearer sk-…. Uporabite lahko tudi glavi x-api-key ali x-goog-api-key.

Pretvorba v govor: telo zahteve

  • modelstringobvezno

    Model za pretvorbo v govor: 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.

  • inputstringobvezno

    Besedilo za pretvorbo v govor. Pri modelih MiniMax mora vsebovati manj kot 10 000 znakov, pri qwen-audio-3.0-tts-plus – največ 600.

  • voicestring

    Glas. Obvezen pri modelih MiniMax (speech-2.8-hd in drugi speech-…): identifikator glasu MiniMax (latinične črke, številke, _ in -, največ 128 znakov). Pri qwen-audio-3.0-tts-plus privzeto longanlingxin, pri modelih Gemini TTS pa – Kore.

  • response_formatstringneobvezno

    MiniMax – samo mp3; qwen-audio-3.0-tts-plus – mp3, wav ali pcm; Gemini TTS – wav ali json (povezava do datoteke).

Odgovor je zvočna datoteka (pri MiniMax – audio/mpeg). Obračunavanje poteka po znakih besedila ali žetonih, kot je navedeno v katalogu.

Prepoznavanje govora

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

    Zvočna datoteka WAV v multipart/form-data. qwen-asr, qwen-asr-latest in qwen-audio-3.0-asr-flash: celotna nestisnjena datoteka PCM WAV, dolga največ 5 minut, datoteka približno do 7,5 MB (v base64 – do 10 MB). asr-1.0: PCM WAV do 500 sekund in 50 MB. gemini-3.5-transcribe: WAV do 64 MB.

  • modelstringobvezno

    Model za prepoznavanje: gemini-3.5-transcribe, qwen-audio-3.0-asr-flash, asr-1.0.

  • response_formatstringneobvezno

    Samo json (ali ga ne navedite).

Polje language se pri teh modelih ne uporablja. Odgovor: {"text": "…"}. Obračunavanje poteka po dolžini posnetka (sekunde, minute ali ure – vsak model ima svojo enoto).

Govor v realnem času

Za qwen-audio-3.0-realtime-plus odprite WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus z glavo Authorization: Bearer <API_KEY>. Ključ pošljite s strežniške strani: ključ v poizvedbenem nizu ni sprejet. Počakajte na session.created z izbranim modelom, nato pošljite nastavitve, sporočilo in response.create. Spodaj so trije zaporedni besedilni okvirji JSON za besedilni odgovor v zvočni seji:

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

Berite dogodke odgovora do response.done in njegovih končnih podatkov usage; napake prispejo kot dogodek error. Obračunavanje poteka po besedilnih in zvočnih žetonih vsakega potrjenega odgovora. Zvočni vhod: dogodek input_audio_buffer.append z audio – base64 PCM16 mono 16 kHz; nato input_audio_buffer.commit in response.create. Zvočni izhod – PCM16 mono 24 kHz. Binarni okvirji v tej seji niso sprejeti.

Podprti dogodki odjemalca: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. Elementi pogovora so lahko le sporočila/besedilo; funkcijska orodja, spletno iskanje in glasovni odtis niso podprti. Omejitve seje: 600 sekund, 20 odgovorov, 20 izmenjav v zgodovini, 2000 bajtov instructions in 8000 bajtov odjemalčevega besedila. Časovna omejitev nedejavnosti je odvisna od konfiguracije (privzeto 60 sekund).

Imate še vprašanja? Pošljite Request ID in opis – pomagali vam bomo razjasniti težavo.Pišite podpori