Source: https://ailoot.ai/docs/it/api/audio/
Canonical: https://ailoot.ai/docs/it/api/audio/
Language: it

[API](https://ailoot.ai/docs/it/) 

# Audio

[Markdown](https://ailoot.ai/docs/it/api/audio/index.md)

Sintesi vocale del testo (TTS) e riconoscimento vocale (STT) nel formato OpenAI Audio.

POST`https://api.ailoot.ai/v1/audio/speech`

Audio

```bash
# 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
```

```python
# riconoscimento vocale
with open("meeting.wav", "rb") as f:
    tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text)
```

200 OK · riconoscimento

```json
{
  "text": "Buongiorno, colleghi. Iniziamo con i risultati della settimana…"
}
```

## Autorizzazione

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `Authorization` | header | obbligatorio | Chiave nel formato `Bearer sk-…`. Sono accettati anche gli header `x-api-key` oppure `x-goog-api-key`. |

## Sintesi vocale: corpo della richiesta

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `model` | string | obbligatorio | 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`. |
| `input` | string | obbligatorio | Testo da convertire in voce. Per i modelli MiniMax meno di 10 000 caratteri, per `qwen-audio-3.0-tts-plus` fino a 600. |
| `voice` | string |  | Voce. **Obbligatoria per i modelli MiniMax** (`speech-2.8-hd` e altri `speech-…`): identificatore della voce MiniMax (lettere latine, cifre, `_` e `-`, fino a 128 caratteri). Per `qwen-audio-3.0-tts-plus` il valore predefinito è `longanlingxin`, per i modelli Gemini TTS — `Kore`. |
| `response_format` | string | facoltativo | MiniMax — solo `mp3`; `qwen-audio-3.0-tts-plus` — `mp3`, `wav` oppure `pcm`; Gemini TTS — `wav` oppure `json` (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

POST`https://api.ailoot.ai/v1/audio/transcriptions`

| Parametro | Tipo | Obbligatorio | Descrizione |
| --- | --- | --- | --- |
| `file` | file | obbligatorio | File audio WAV in `multipart/form-data`. `qwen-asr`, `qwen-asr-latest` e `qwen-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. |
| `model` | string | obbligatorio | Modello di riconoscimento: `gemini-3.5-transcribe`, `qwen-audio-3.0-asr-flash`, `asr-1.0`. |
| `response_format` | string | facoltativo | 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:

```json
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Sii breve."}}
```

```json
{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Di’ sì."}]}}
```

```json
{"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).

Qui è descritta la modalità vocale di `qwen-audio-3.0-realtime-plus`; gli altri modelli in tempo reale hanno regole proprie. Il percorso `/v1/realtime/sessions` e i token temporanei (ephemeral tokens) non sono supportati.

Hai altre domande? Invia il Request ID e una descrizione — ti aiuteremo a chiarire il problema.[Contatta l’assistenza](mailto:support@ailoot.ai)

## Ailoot · L’azienda e il suo portafoglio di progetti





Ailoot si basa su un’esperienza operativa consolidata, un’ampia base di clienti, un servizio stabile e un controllo costante dei KPI.





L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.





Ailoot mette questa esperienza operativa al servizio dell’accesso API alle funzioni AI nei prodotti dei clienti, negli agenti, nelle applicazioni e nelle automazioni.
