Vai al contenuto
PuraPura Developers

SDK in abbonamento

OAuth per utente · limiti del piano condivisi tra le app · modello gestito da Pura.

Cerchi le API a consumo?
Developers/Trascrizione audio

Trascrizione audio

Upload multipart, JSON e contabilizzazione condivisa con la chat.

Disponibilità

Usa POST /v1/integrations/inference/audio/transcriptions per trascrivere un file con il collegamento OAuth dell’utente e lo scope inference. Prima dell’upload controlla services.audio_transcription con capabilities(). Se ricevi 503 subscription_transcription_not_configured, mostra che la trascrizione non è disponibile e invita a riprovare più tardi o a contattare il supporto.

File e campi

Invia multipart/form-data con un file non vuoto, massimo 25.000.000 byte. Estensioni accettate: mp3, mp4, mpeg, mpga, m4a, wav, webm, ogg. Il provider deve supportare il formato reale: l’estensione non valida il contenuto.

Campi opzionali: language (due lettere minuscole), prompt (massimo 4.000 caratteri), temperature (finito, da 0 a 1), response_format (json o verbose_json). Non inviare model: la scelta è server-side e il campo è rifiutato con 422. Campi duplicati, sconosciuti o file multipli sono rifiutati. Lascia che FormData/HTTPX generi il boundary.

Esempio TypeScript

Il Blob deve essere immutabile durante la richiesta. L’SDK può ripresentare tutti i byte dopo il rinnovo del token; i file invalidi sono rifiutati prima del networking.

typescript
const transcript = await pura.transcribe({
  file: audioBlob, filename: 'recording.wav',
  language: 'it',
  response_format: 'verbose_json',
});
console.log(transcript.text);

Esempio Python

Usa bytes e filename esplicito. La risposta contiene text e conserva i segmenti quando il provider li restituisce. Non è un endpoint Realtime e non fornisce audio streaming.

python
transcript = pura.transcribe(
    audio_bytes, filename="recording.wav", language="it",
    response_format="verbose_json")
print(transcript["text"])

Consumo e dati

L’audio usa lo stesso collegamento e gli stessi limiti mensili, settimanali e di concorrenza della chat. Dopo la trascrizione puoi aggiornare il consumo con usage(). Per le condizioni applicabili ai file caricati consulta Conservazione dei dati e Residenza dati UE.