Chirp 2 vs Chirp 3
Cuál usar y cuándo
Los mismos $0.016 por minuto de audio, así que el más reciente chirp-3 es la opción por defecto: añade diarización en Recognize y BatchRecognize en 14 idiomas y publica 29 locales GA más 82 en vista previa, donde chirp-2 no diariza y limita StreamingRecognize a 16 locales. El intercambio está en las marcas de tiempo y la duración - chirp-2 ofrece marcas a nivel de palabra y lotes de 1 minuto a 8 horas, mientras que chirp-3 lista las marcas por palabra como no admitidas y limita los lotes a 1 hora. Elige chirp-2 si necesitas tiempos por palabra o archivos muy largos.
Precios
Tarifas tomadas del catálogo en vivo al generar el sitio; la página de cada modelo tiene la ficha de precios actualizada.
Dónde queda cada uno: precio por minuto de audio entre los 12 modelos de voz a texto que se facturan en esta unidad (escala logarítmica)
Capacidades
Especificaciones
| Chirp 2 | Chirp 3 | |
|---|---|---|
| Modalidades de entrada | audio | audio |
| Modalidades de salida | texto | texto |
| Lanzamiento | - | 2025-10-13 |
| Límites | 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 |
| Idiomas | 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 |
Las especificaciones se transcriben de la documentación de cada proveedor; si un proveedor no publica un dato, la fila se omite en vez de deducirlo. Fuentes completas: Chirp 2 · Chirp 3
Cambia de uno a otro con una sola línea
Los dos ids aparecen en todas las pestañas de abajo; lo único que cambia es el par de líneas resaltadas. El endpoint, la clave y la estructura de la solicitud son los mismos.
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", # descomenta esta línea, comenta la de arriba
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", // descomenta esta línea, comenta la de arriba
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" \ # descomenta esta línea, comenta la de arriba
-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", // descomenta esta línea, comenta la de arriba
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") // descomenta esta línea, comenta la de arriba
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());Preguntas frecuentes
¿Cuál es más barato, Chirp 2 o Chirp 3?
Los dos tienen el mismo precio en Por minuto de audio ($0.016), así que aquí el precio no decide: mira las especificaciones y las capacidades más abajo.
¿Puedo hacer pruebas A/B de Chirp 2 frente a Chirp 3 sin dos integraciones?
Sí. Los dos se sirven desde el mismo endpoint compatible con OpenAI y con una sola clave API. Para cambiar de uno a otro basta con tocar una línea, el nombre del modelo, así que puedes mandar una parte del tráfico a cada uno y comparar directamente las facturas.
¿Admiten Chirp 2 y Chirp 3 la diarización de hablantes?
La tabla de capacidades de arriba lo indica para cada modelo, según la documentación de su proveedor. La diarización, el streaming y las marcas de tiempo aparecen por separado porque los modelos difieren en las tres cosas.