Chirp 2 vs Chirp 3
什么时候选哪个
两者同为每音频分钟 $0.016,所以更新的 chirp-3 是默认选择:它在 Recognize 和 BatchRecognize 中增加了说话人分离,覆盖 14 种语言,并公布 29 个 GA 加 82 个预览语言区,而 chirp-2 不做分离、StreamingRecognize 只支持 16 个语言区。代价在时间戳和时长——chirp-2 提供词级时间戳、批处理可从 1 分钟到 8 小时,而 chirp-3 把词级时间戳列为不支持、批处理封顶 1 小时。需要词级时间点或超长文件时选 chirp-2。
价格
价格取自构建时的实时目录,最新价格见各模型页面。
两个模型所处的位置:全部 12 个按同一单位计费的语音转文字模型的每分钟音频价格分布(对数刻度)
能力
规格
| Chirp 2 | Chirp 3 | |
|---|---|---|
| 输入模态 | 音频 | 音频 |
| 输出模态 | 文本 | 文本 |
| 发布日期 | - | 2025-10-13 |
| 限制 | 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 |
| 语言 | 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 |
规格照录自各供应商的文档;供应商没有公布的项目,对应的行直接省略,不做推断。 完整来源: Chirp 2 · Chirp 3
改一行代码就能在两个模型之间切换
下方每个标签页里都有两个模型 ID,高亮的那两行是唯一要改的地方。端点不变,API key 不变,请求结构也不变。
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", # 取消注释此行,注释上一行
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", // 取消注释此行,注释上一行
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" \ # 取消注释此行,注释上一行
-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", // 取消注释此行,注释上一行
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") // 取消注释此行,注释上一行
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());常见问题
Chirp 2 和 Chirp 3 哪个更便宜?
两个模型的「每分钟音频」价格相同($0.016),所以这一项上价格分不出高下,请看下方的规格与能力。
不用分别集成两次,就能对 Chirp 2 和 Chirp 3 做 A/B 测试吗?
可以。两个模型走同一个 OpenAI 兼容端点,用同一个 API key,切换时只要改一行里的模型名,所以可以给两个模型各分一部分流量,直接对比账单。
Chirp 2 和 Chirp 3 支持说话人分离吗?
上方的能力表格按各供应商的官方文档,逐个模型回答了这个问题。说话人分离、流式输出和时间戳三项分开列出,因为不同模型在这三项上的支持情况都不一样。