API di trascrizione audio con una request fino a 95 MB
Metti i byte della registrazione nel campo multipart file. Puoi aggiungere language, diarize, source e webhook_url. La guida al caricamento diretto mostra la request completa; con un webhook ricevi una notifica quando il lavoro termina.
Se il server ha già il file su disco, multipart è un buon punto di partenza. Lascia che il client HTTP imposti il boundary. Invia il contenuto del file, non il suo percorso locale in un campo JSON. Un file vuoto o un’estensione non supportata richiedono una correzione, non una serie di tentativi identici.
Controlla separatamente dimensioni e durata. Un audio compresso può stare sotto 95 MB ma durare più di 5 ore. Un breve video ad alta risoluzione può invece essere troppo grande per multipart. Scegli il protocollo in base ai byte, poi verifica la durata.
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-F [email protected] \
-F language=autoUn’API per trascrivere video di grandi dimensioni
Per arrivare a 2 GB, apri un upload indicando nome e dimensione del file. Ricevi il piano dei blocchi e un X-Upload-Token valido per quel caricamento. La guida al caricamento a blocchi descrive tutta la sequenza.
Segui il piano restituito dall’API: per ogni blocco hai indice, offset e dimensione. Leggi esattamente quell’intervallo di byte; l’ultimo blocco può essere più corto. Il token autorizza le request PUT binarie, vale 1 ora e non sostituisce la tua chiave API.
Usa una Idempotency-Key stabile quando apri l’upload. Se il token scade, ripeti la stessa prenotazione con la stessa chiave e gli stessi parametri: ricevi un token nuovo per il caricamento già aperto. Non crearne un altro a ogni interruzione.
curl -X POST "https://api.transcript1.com/v1/transcriptions" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-H "Idempotency-Key: interview-2026-10-13" \
-H "Content-Type: application/json" \
-d '{"upload":{"filename":"interview.m4a","size":48210334,"mime_type":"audio/mp4"}}'Invia i blocchi e conferma il caricamento
Invia ogni blocco con PUT al suo URL, usando il token dell’upload. Poi conferma il completamento: transcript1 verifica i blocchi e mette in coda la trascrizione. Gli endpoint per controllo e completamento sono nella documentazione API.
Prima di riprendere, chiama GET /v1/transcriptions/:id/upload e confronta received_chunks con il piano iniziale. Invia solo ciò che manca. Reinviare un blocco lo sostituisce, ma i byte devono sempre rispettare la dimensione prevista. Un 401 può indicare un token scaduto: non devi ricreare il file.
Se ricevi 409 upload_incomplete, usa gli indici mancanti per completare l’invio. Dopo l’accodamento controlla lo stato della trascrizione o attendi il webhook. Nella tua interfaccia distingui l’avanzamento del caricamento da quello della trascrizione.
curl -X PUT "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/chunks/0" \
-H "X-Upload-Token: t1u_..." \
-H "Content-Type: application/octet-stream" \
--data-binary @chunk-0.bin
curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/complete" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"Mostra cosa sta succedendo al file
awaiting_upload significa che il caricamento è aperto: la trascrizione non è ancora partita. Mostra prima i byte inviati, poi la verifica dell’upload e infine l’elaborazione. Se perdi la connessione dopo la conferma, leggi lo stato prima di inviarla di nuovo.
Ogni team può tenere aperti fino a 20 upload. Dopo 24 ore annulliamo quelli incompleti ed eliminiamo i relativi blocchi. Per i caricamenti completati, il file viene eliminato 24 ore dopo lo stato finale della trascrizione. Se la tua app offre la riproduzione futura dell’audio, conserva una copia originale.
Il trasporto del file è solo una parte dell’integrazione. La guida da audio a testo aiuta a preparare e controllare le registrazioni. Per la ricerca, il percorso sulle interviste spiega come tenere insieme partecipanti, citazioni e riferimenti all’audio.