Chirp 3 vs Seed ASR
Qual usar, quando — veredito curado, não uma tabela de benchmark
Ambos cobram por minuto de áudio e ambos diarizam; o seed-asr-bigmodel sai 8x mais barato, $0.002 contra $0.016, e aceita arquivos bem mais longos — até 5 horas e 512MB no modo assíncrono, contra uma hora no modo em lote do chirp-3 — com carimbos de tempo por frase e por palavra. O chirp-3 responde com amplitude: 29 locais GA mais 82 em prévia, contra um conjunto padrão de mandarim, inglês, cantonês e dialetos chineses no seed-asr-bigmodel, com 39 chaves de idioma fixáveis explicitamente. Escolha pela duração da gravação e pelo local, não pelo preço.
Preços
Tarifas do catálogo em tempo real no momento do build; a página de cada modelo contém o cartão atual.
Onde eles se posicionam — preço por minuto de áudio entre todos os 11 modelos de fala para texto nesta unidade de cobrança (escala logarítmica)
Capacidades
Especificações
| Chirp 3 | Seed ASR | |
|---|---|---|
| Modalidades de entrada | áudio | áudio |
| Modalidades de saída | texto | texto |
| Lançamento | 2025-10-13 | — |
| Limites | 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 |
| Idiomas | 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) |
As especificações são transcritas da documentação de cada fornecedor; uma linha que um fornecedor não publica é omitida em vez de ser inferida. Fontes completas: Chirp 3 · Seed ASR
Alterne entre eles com uma linha
Ambos os IDs estão em todas as abas abaixo — o par de linhas destacado é a única edição. Mesmo endpoint, mesma chave, mesmo formato de requisição.
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", # descomente esta linha, comente a linha acima
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", // descomente esta linha, comente a linha acima
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" \ # descomente esta linha, comente a linha acima
-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", // descomente esta linha, comente a linha acima
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") // descomente esta linha, comente a linha acima
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Qual é mais barato, Chirp 3 ou Seed ASR?
Seed ASR é mais barato em por minuto de áudio ($0.002 vs $0.016, com 8.0× de diferença). Outras linhas podem apontar para o outro lado — a tabela acima traz o quadro completo, e o custo real depende do seu mix.
Posso fazer um teste A/B de Chirp 3 contra Seed ASR sem duas integrações?
Sim. Ambos são servidos pelo mesmo endpoint compatível com OpenAI com uma única chave de API — a troca é uma alteração de uma linha na string do modelo, de modo que você pode rotear uma fração do tráfego para cada um e comparar as faturas diretamente.
Chirp 3 e Seed ASR suportam diarização de locutor?
A tabela de capacidades acima responde a isso por modelo, direto da documentação de cada fornecedor — diarização, streaming e timestamps são listados separadamente porque os modelos diferem nos três.