Chirp 2 vs Chirp 3
Lequel, quand — verdict de synthèse, pas un tableau de benchmarks
Même $0.016 par minute d'audio, donc le plus récent chirp-3 est le choix par défaut : il ajoute la diarisation dans Recognize et BatchRecognize sur 14 langues, et publie 29 locales GA plus 82 en préversion, là où chirp-2 ne diarise pas et limite StreamingRecognize à 16 locales. Le compromis porte sur les horodatages et la durée — chirp-2 offre des horodatages au mot et des lots d'une minute à 8 heures, tandis que chirp-3 indique les horodatages au mot comme non pris en charge et plafonne les lots à 1 heure. Prenez chirp-2 s'il vous faut des minutages au mot ou des fichiers très longs.
Tarification
Tarifs issus du catalogue en direct au moment de la compilation ; chaque page de modèle présente la fiche actuelle.
Où ils se situent — prix par minute d'audio sur l'ensemble des 11 modèles speech-to-text pour cette unité de facturation (échelle logarithmique)
Capacités
Spécifications
| Chirp 2 | Chirp 3 | |
|---|---|---|
| Modalités d'entrée | audio | audio |
| Modalités de sortie | texte | texte |
| Sortie | — | 2025-10-13 |
| Limites | Auto-detected audio decoding sync Recognize <1 min, BatchRecognize 1 min–8 hrs, StreamingRecognize for real-time optional word-level timestamps language-agnostic transcription (the model infers the prevalent spoken language and transcribes in it) no standalone language detection no speaker diarization speech translation supported | 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 |
| Langues | Varies by method: BatchRecognize offers the most extensive coverage and Recognize is "on par with Chirp" StreamingRecognize is limited to 16 locales (Chinese Simplified/Traditional, Cantonese, English AU/IN/GB/US, French CA/FR, German, Italian, Japanese, Korean, Portuguese (Brazil), Spanish ES/US) | 29 GA + 82 Preview locales (111 total) across StreamingRecognize, Recognize and BatchRecognize diarization covers 14 of them |
Les spécifications sont transcrites à partir de la documentation de chaque fournisseur ; une ligne qu'un fournisseur ne publie pas est omise plutôt que déduite. Sources complètes : Chirp 2 · Chirp 3
Basculez de l'un à l'autre avec une seule ligne
Les deux ids sont dans chaque onglet ci-dessous — la paire de lignes en surbrillance est la seule modification. Même endpoint, même clé, même structure de requête.
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="chirp-2",
# model="chirp-3", # décommentez cette ligne, commentez celle du dessus
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-2",
// model: "chirp-3", // décommentez cette ligne, commentez celle du dessus
file: fs.createReadStream("meeting.mp3"),
});
console.log(resp.text);curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer sk-syn-..." \
-F model="chirp-2" \
# -F model="chirp-3" \ # décommentez cette ligne, commentez celle du dessus
-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-2",
// Model: "chirp-3", // décommentez cette ligne, commentez celle du dessus
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-2")
// .model("chirp-3") // décommentez cette ligne, commentez celle du dessus
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());FAQ
Lequel est le moins cher, Chirp 2 ou Chirp 3 ?
Ils affichent la même valeur pour par minute d'audio ($0.016), donc le prix ne permet pas de trancher ici — consultez les spécifications et les capacités ci-dessous.
Puis-je faire un test A/B de Chirp 2 par rapport à Chirp 3 sans deux intégrations ?
Oui. Les deux sont servis via le même endpoint compatible OpenAI avec une seule clé API — le basculement est un changement de chaîne de modèle en une ligne, vous pouvez donc diriger une fraction du trafic vers chacun et comparer les factures directement.
Chirp 2 et Chirp 3 prennent-ils en charge la diarisation des locuteurs ?
Le tableau des capacités ci-dessus y répond par modèle, directement à partir de la documentation de chaque fournisseur — la diarisation, le streaming et les horodatages sont listés séparément car les modèles diffèrent sur ces trois points.