Claude Opus 5.5 è disponibile su SeedRouter

Model APIs

Whisper-1

View Markdown

Invia un file audio per la trascrizione o la traduzione in inglese, controlla l’attività e scarica testo, JSON o sottotitoli.

Whisper-1 converte il parlato registrato in testo. Usa /v1/audio/transcriptions per conservare la lingua parlata o /v1/audio/translations per produrre inglese. Entrambi accettano multipart/form-data con un file caricato. SeedRouter restituisce prima un ID dell’attività; scarica il risultato scelto quando l’attività è completata. Questo differisce da una risposta sincrona dell’SDK OpenAI.

Playground e prezzi attuali · Primo tutorial di trascrizione · OpenAPI · Markdown

Invia una registrazione

Conserva la chiave API sul server. Lascia che il client HTTP generi il delimitatore multipart; non impostare manualmente una semplice intestazione Content-Type: multipart/form-data.

curl https://api.seedrouter.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -F model=whisper-1 \
  -F [email protected] \
  -F language=en \
  -F response_format=verbose_json \
  -F 'timestamp_granularities[]=word' \
  -F 'timestamp_granularities[]=segment'

La risposta conferma un’attività, non una trascrizione completata:

{
  "id": "task_example",
  "model": "whisper-1",
  "status": "processing",
  "created_at": 1792376116
}

Salva l’id effettivamente restituito. Invia una sola volta. Una connessione persa non dimostra se la richiesta sia stata accettata; controlla la cronologia delle attività prima di creare un’altra richiesta.

Leggi il risultato

curl "https://api.seedrouter.ai/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

Interroga lo stato finché status è processing. Un’attività completata contiene output.url e output.format; un’attività non riuscita contiene error.code e error.message. Un timeout del polling non è uno stato finale dell’attività. Solo il proprietario dell’attività può leggerla. Gli esempi seguenti illustrano la struttura della risposta:

{
  "id": "task_example",
  "model": "whisper-1",
  "status": "completed",
  "output": {
    "format": "verbose_json",
    "url": "https://static.seedrouter.ai/media/tasks/task_example/0.json"
  }
}

Scarica output.url con una richiesta GET separata. Leggi un risultato JSON come JSON e gli altri formati come testo. Le risposte pubbliche delle attività non includono prezzi o dettagli dell’account.

Parametri di trascrizione

file e model sono obbligatori. I nove campi seguenti costituiscono l’interfaccia di richiesta condivisa, inclusi file, model e stream, esplicitamente ignorato. chunking_strategy rimane una lacuna di compatibilità, come descritto di seguito.

CampoTipoPredefinitoContratto
fileCaricamento binarioObbligatorioUn file audio non vuoto, non un URL o una stringa con il nome del file. Consulta i limiti dei file.
modelStringaObbligatorioEsattamente whisper-1.
languageStringaRilevamento automaticoIndicazione della lingua di input, come en. Non viene imposta una lista locale di lingue consentite. Ometti per il rilevamento.
promptStringaOmessoContesto, ortografia o continuazione nella lingua dell’audio. Non viene inventato un limite di caratteri; Whisper considera gli ultimi 224 token del proprio tokenizer. Non è un prompt di istruzioni generali.
response_formatStringajsonjson, text, srt, verbose_json o vtt.
temperatureNumero0Intervallo inclusivo 0–1. Zero consente la regolazione automatica della temperatura del modello; non garantisce testo deterministico.
timestamp_granularities[]Stringa ripetutaTimestamp dei segmenti quando applicabiliword, segment o entrambi. Richiede response_format=verbose_json. È accettato anche il nome di campo ripetuto senza parentesi timestamp_granularities.
chunking_strategyauto, oggetto VAD o nullOmessoCampo dello schema audio condiviso la cui applicabilità a Whisper è irrisolta. Omettilo per il percorso verificato. auto esplicito non ha superato la verifica reale di compatibilità.
streamBooleano o nullfalseIgnorato per Whisper-1. Non vengono prodotti SSE o trascrizioni parziali.

L’oggetto VAD contiene type: "server_vad" obbligatorio, l’intero facoltativo prefix_padding_ms (predefinito documentato: 300), l’intero facoltativo silence_duration_ms (predefinito documentato: 200) e il numero facoltativo threshold da 0 a 1 (predefinito documentato: 0,5). Non viene imposto alcun intervallo intero non documentato. Una strategia omessa resta omessa; questi valori dell’oggetto non rendono auto il valore predefinito della richiesta.

Per la compatibilità SDK, l’oggetto VAD può essere codificato in una parte multipart JSON o come chunking_strategy[type], chunking_strategy[prefix_padding_ms], chunking_strategy[silence_duration_ms] e chunking_strategy[threshold]. Non mescolare le due codifiche. L’accettazione di queste forme dei campi non dimostra che VAD funzioni con questo modello.

I campi di testo facoltativi si omettono, anziché usare la stringa multipart letterale null. I campi sconosciuti e non applicabili al modello vengono scartati. In particolare, diarized_json, i controlli dei riferimenti dei parlanti, logprobs e gli eventi in tempo reale non sono funzionalità di Whisper-1. I campi scalari duplicati non sono validi.

Limiti dei file

I formati audio documentati sono FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV e WebM. Il limite attuale di caricamento è 26.214.400 byte (25 MiB). Le FAQ dell’API Audio di OpenAI specificano una dimensione massima della richiesta di 25 MiB per i caricamenti legacy di Whisper-1; mantieni i file sotto il limite per lasciare spazio ai campi multipart. I file devono contenere audio leggibile e una durata positiva e misurabile. La sola estensione non dimostra che l’audio sia valido.

Non esiste un ulteriore limite locale di un’ora, un requisito fisso di frequenza di campionamento o una restrizione al solo mono. La dimensione del file può comunque richiedere la suddivisione di registrazioni lunghe. Controlla i confini tra le parti per evitare di omettere o duplicare il parlato.

Traduzione in inglese

curl https://api.seedrouter.ai/v1/audio/translations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -F model=whisper-1 \
  -F [email protected] \
  -F response_format=text \
  -F temperature=0

La traduzione ha cinque campi: file, model, prompt, response_format e temperature, con gli stessi tipi e limiti indicati sopra. Il prompt facoltativo deve essere in inglese. Non è possibile scegliere la lingua di destinazione. language, i controlli dei timestamp, della suddivisione e gli altri campi esclusivi della trascrizione vengono scartati su questo endpoint. Una verifica di traduzione riuscita con input inglese non dimostra l’accuratezza per ogni lingua di origine.

Campi del risultato scaricato

FormatoContenuto
jsonOggetto con text. La trascrizione può includere anche usage: {type: "duration", seconds: number}.
textTesto semplice della trascrizione.
srtBlocchi di sottotitoli numerati con codici temporali SRT.
vttSottotitoli WebVTT.
verbose_jsontext, language e duration in secondi; segments facoltativo e, per la trascrizione, words e usage della durata.

Ogni parola ha word, start e end. Ogni segmento ha id, seek, start, end, text, tokens, temperature, avg_logprob, compression_ratio e no_speech_prob. start ed end sono in secondi. I segmenti non identificano i parlanti. Può essere presente la costante esclusiva della trascrizione task: "transcribe". I risultati di traduzione omettono words e usage, esclusivi della trascrizione. Le misurazioni audio e il testo trascritto non vengono riscritti per imitare una risposta attesa.

Fatturazione

Entrambe le operazioni usano la durata misurata dell’input. Per ogni registrazione, le unità di misurazione audio equivalgono a round(ceil(seconds) × 1000 / 60). Moltiplica queste unità per la tariffa unitaria attuale; non contano il testo trascritto. Per esempio, 15 secondi producono 250 unità, mentre 15,1 secondi ne producono 267. La pagina e il Playground leggono la stessa tariffa attuale. Le richieste non riuscite non vengono addebitate.

Stato della verifica

Verificato il 19 ottobre 2026. I test locali end-to-end hanno completato tutti e cinque i formati di output di trascrizione e una traduzione verbose_json, inclusi i download dei propri risultati e gli addebiti esatti sull’account. Una trascrizione ha richiesto con successo timestamp sia delle parole sia dei segmenti. Caricamenti FLAC, OGG, M4A, MP4 e WAV di durata inferiore a un secondo o frazionaria hanno superato verifiche reali di compatibilità separate.

chunking_strategy=auto esplicito è stato rifiutato. Tre casi inviati con WebM, MPEG più VAD e MPGA più stream=true non sono riusciti. Questi errori non dimostrano quale delle impostazioni combinate abbia causato il rifiuto. Quei formati e opzioni restano non verificati; il servizio non sostituisce silenziosamente una strategia richiesta esplicitamente. Il test di traduzione usava input inglese, quindi la qualità di traduzione tra lingue resta non misurata. Non considerare lo schema accettato una prova che ogni combinazione abbia superato un test reale.

Errori e recupero

Le combinazioni di file e parametri non valide vengono rifiutate prima di creare l’attività. Gli errori API contengono un code numerico e un message leggibile; consulta i codici di errore. Dopo l’accettazione, controlla lo stato finale dell’attività. In caso di invio incerto, cerca l’attività esistente prima di inviare di nuovo. Un’attività non riuscita non viene addebitata.

Fonti del contratto

OpenAI ha annunciato il 26 febbraio 2027 come data di dismissione di Whisper sulla propria API. Questo annuncio non stabilisce una data di dismissione per questo servizio. Consulta l’avviso di deprecazione OpenAI.