dokumentasi
API

Audio

Markdown

Sintesis pertuturan (TTS) dan pengecaman pertuturan (STT) dalam format OpenAI Audio.

Panduan lengkap
POSThttps://api.ailoot.ai/v1/audio/speech
Audio
# penjanaan suara
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": "Selamat tengah hari! Ini ialah contoh penjanaan suara.", "voice": "longanlingxin"}' \
  --output speech.mp3

# pengecaman
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
200 OK · pengecaman
{
  "text": "Selamat tengah hari, rakan-rakan. Kita mulakan dengan ringkasan minggu ini…"
}

Pengesahan

  • Authorizationheaderwajib

    Kunci dalam bentuk Bearer sk-…. Pengepala berikut juga boleh digunakan x-api-key atau x-goog-api-key.

Sintesis pertuturan: badan permintaan

  • modelstringwajib

    Model sintesis pertuturan: 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.

  • inputstringwajib

    Teks untuk disuarakan. Model MiniMax — kurang daripada 10 000 aksara, manakala qwen-audio-3.0-tts-plus — sehingga 600.

  • voicestring

    Suara. Wajib untuk model MiniMax (speech-2.8-hd dan model lain speech-…): pengecam suara MiniMax (huruf Latin, angka, _ dan -, sehingga 128 aksara). Bagi qwen-audio-3.0-tts-plus nilai lalainya ialah longanlingxin, manakala bagi model Gemini TTS — Kore.

  • response_formatstringpilihan

    MiniMax — hanya mp3; qwen-audio-3.0-tts-plus — mp3, wav atau pcm; Gemini TTS — wav atau json (pautan ke fail).

Respons ialah fail audio (bagi MiniMax — audio/mpeg). Bayaran dikira mengikut aksara teks atau token, seperti yang dinyatakan dalam katalog.

Pengecaman pertuturan

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

    Fail audio WAV dalam multipart/form-data. qwen-asr, qwen-asr-latest dan qwen-audio-3.0-asr-flash: PCM WAV penuh tanpa pemampatan sehingga 5 minit, fail sekitar 7,5 MB maksimum (dalam base64 — sehingga 10 MB). asr-1.0: PCM WAV sehingga 500 saat dan 50 MB. gemini-3.5-transcribe: WAV sehingga 64 MB.

  • modelstringwajib

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

  • response_formatstringpilihan

    Hanya json (atau abaikan medan ini).

Medan language tidak digunakan oleh model ini. Respons: {"text": "…"}. Bayaran dikira mengikut tempoh rakaman (saat, minit atau jam — setiap model mempunyai unitnya sendiri).

Suara masa nyata

Untuk qwen-audio-3.0-realtime-plus buka WebSocket wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus dengan pengepala Authorization: Bearer <API_KEY>. Hantar kunci dari bahagian pelayan: kunci dalam rentetan pertanyaan tidak diterima. Tunggu session.created dengan model yang dipilih, kemudian hantar tetapan, mesej dan response.create. Berikut ialah tiga bingkai teks JSON berturutan untuk respons teks dalam sesi audio:

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

Baca peristiwa respons sehingga response.done dan penggunaan akhirnya; ralat diterima melalui peristiwa error. Bayaran dikira mengikut token teks dan audio bagi setiap respons yang disahkan. Input audio: peristiwa input_audio_buffer.append dengan audio — base64 PCM16 mono 16 kHz; kemudian input_audio_buffer.commit dan response.create. Output audio — PCM16 mono 24 kHz. Bingkai binari tidak diterima dalam sesi ini.

Peristiwa klien yang disokong: session.update, input_audio_buffer.append/commit/clear, response.create/cancel, conversation.item.create/retrieve/delete. conversation items — hanya mesej/teks; function tools, web search dan voiceprint tidak disokong. Had sesi: 600 saat, 20 respons, 20 history turns, 2000 bait instructions dan 8000 bait teks klien. Idle timeout bergantung pada konfigurasi (secara lalai 60 saat).

Masih ada soalan? Hantar Request ID dan penerangannya — kami akan membantu menyiasatnya.Hubungi sokongan