Chirp 3 vs Seed ASR
Quale scegliere e quando
Entrambi fatturano al minuto di audio ed entrambi diarizzano; seed-asr-bigmodel costa 8x meno, $0.002 contro $0.016, e accetta file molto più lunghi - fino a 5 ore e 512MB in modalità asincrona, contro un'ora per la modalità a lotti di chirp-3 - con timestamp di frase e di parola. chirp-3 risponde con l'ampiezza: 29 locale GA più 82 in anteprima, contro un insieme predefinito di mandarino, inglese, cantonese e dialetti cinesi in seed-asr-bigmodel, con 39 chiavi di lingua impostabili esplicitamente. Scegli in base alla durata delle registrazioni e al locale, non al prezzo.
Prezzi
Tariffe lette dal catalogo live al momento della build; il listino aggiornato è sulla pagina di ciascun modello.
Dove si collocano: prezzo al minuto di audio tra tutti i modelli di speech-to-text con questa unità di fatturazione (12, scala logaritmica)
Funzionalità
Specifiche
| Chirp 3 | Seed ASR | |
|---|---|---|
| Modalità di input | audio | audio |
| Modalità di output | testo | testo |
| Rilascio | 2025-10-13 | 2025-12-05 |
| Limiti | Auto-detected audio decoding sync Recognize <1 min, BatchRecognize 1 min - 1 hr (<=20 min with word timestamps), StreamingRecognize for real-time speaker diarization in BatchRecognize and Recognize (14 languages) utterance-level timestamps (StreamingRecognize only), word-level timestamps listed as unsupported language-agnostic transcription 29 GA + 82 preview locales | Async audio-file mode: <512MB, <5 hours, OPUS/WAV/MP3/SPX/OGG/AMR/AAC/M4A (raw PCM also accepted), results returned within 3 hours and retained 7 days speaker diarization via enable_speaker_info (audio-file API only, best with <=10 speakers, no diarization on the streaming API) sentence + word segmentation with start_time/end_time via show_utterances language identification via enable_lid hotwords/context up to 800 tokens and 20 rounds per-call billing |
| Lingue | 29 GA + 82 Preview locales (111 total) across StreamingRecognize, Recognize and BatchRecognize diarization covers 14 of them | With `language` empty the model covers Mandarin, English, Cantonese, Shanghainese, Minnan, Sichuan and Shaanxi dialects 39 language keys can be pinned explicitly (en-US, zh-CN, yue-CN, ja-JP, ko-KR, id-ID, es-MX, pt-BR, de-DE, fr-FR, fil-PH, ms-MY, th-TH, ar-SA, it-IT, bn-BD, el-GR, nl-NL, ru-RU, tr-TR, vi-VN, pl-PL, ro-RO, uk-UA, az-AZ, bg-BG, cs-CZ, da-DK, fi-FI, hi-IN, hu-HU, kk-KZ, km-KH, my-MM, no-NO, pa-PK, sv-SE, sw-KE, ur-PK), plus optional auto-detection (enable_auto_lang) |
Le specifiche sono riprese dalla documentazione di ciascun provider; se un provider non pubblica un dato, la riga viene omessa e non dedotta. Fonti complete: Chirp 3 · Seed ASR
Passa dall'uno all'altro cambiando una sola riga
In ogni scheda qui sotto ci sono entrambi gli id: le due righe evidenziate sono l'unica modifica. Stesso endpoint, stessa chiave, stessa struttura della richiesta.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="chirp-3",
# model="seed-asr-bigmodel", # decommenta questa riga, commenta quella sopra
file=open("meeting.mp3", "rb"),
language="en",
)
print(resp.text)import OpenAI from "openai";
import fs from "node:fs";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.audio.transcriptions.create({
model: "chirp-3",
// model: "seed-asr-bigmodel", // decommenta questa riga, commenta quella sopra
file: fs.createReadStream("meeting.mp3"),
});
console.log(resp.text);curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer sk-syn-..." \
-F model="chirp-3" \
# -F model="seed-asr-bigmodel" \ # decommenta questa riga, commenta quella sopra
-F file=@meeting.mp3package main
import (
"context"
"fmt"
"os"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
f, _ := os.Open("meeting.mp3")
resp, _ := client.Audio.Transcriptions.New(context.TODO(), openai.AudioTranscriptionNewParams{
Model: "chirp-3",
// Model: "seed-asr-bigmodel", // decommenta questa riga, commenta quella sopra
File: f,
})
fmt.Println(resp.Text)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.audio.transcriptions.*;
import java.nio.file.Paths;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
Transcription resp = client.audio().transcriptions().create(
TranscriptionCreateParams.builder()
.model("chirp-3")
// .model("seed-asr-bigmodel") // decommenta questa riga, commenta quella sopra
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Qual è il più economico, Chirp 3 o Seed ASR?
Seed ASR costa meno alla voce Al minuto di audio ($0.002 contro $0.016, 8.0× di differenza). Altre voci potrebbero dire il contrario: la tabella qui sopra riporta il listino completo, e il costo reale dipende dal tuo mix di utilizzo.
Posso fare un A/B test di Chirp 3 contro Seed ASR senza due integrazioni?
Sì. Si chiamano entrambi dallo stesso endpoint compatibile con OpenAI, con una sola chiave API. Per passare dall'uno all'altro basta cambiare la stringa del modello in una riga, quindi puoi mandare una parte del traffico a ciascuno e confrontare direttamente i costi.
Chirp 3 e Seed ASR supportano la diarizzazione dei parlanti?
La risposta, modello per modello, è nella tabella delle funzionalità qui sopra, ripresa direttamente dalla documentazione di ciascun provider. Diarizzazione, streaming e timestamp sono voci separate perché i modelli si differenziano su tutte e tre.