GPT-4o Transcribe vs Whisper v1
何时使用哪一个 — 经过整理的结论,而非基准测试表格
两者计费单位不同——whisper-1 每音频分钟 $0.006,gpt-4o-transcribe 每百万音频输入 token $6 再加每百万文本 token $2.5 和 $10——所以两者之间没有哪一种换算是诚实的。whisper-1 是带词级和分段级时间戳、srt/vtt 输出以及翻译端点的那一个,但它不支持流式;gpt-4o-transcribe 支持流式(包括实时转写会话),只返回 json 或 text。做字幕和翻译选 whisper-1,要实时转写选 gpt-4o-transcribe。
定价
| GPT-4o Transcribe | Whisper v1 | Δ | |
|---|---|---|---|
| 每分钟音频 | — | $0.006 | — |
| 音频输入 / 1M tokens | $6 | — | — |
| 文本输出 / 1M tokens | $10 | — | — |
这两个模型的计费单位不同,因此不显示 Δ — 它们之间的转换需要基于我们尚未实测的假设。上面列出的每张费率卡均采用其自身对应的单位。
能力
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| 说话人分离 | 否 | 否 |
| 流式传输 | 是 | 否 |
| 时间戳 | 否 | 是 |
规格
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| 输入模态 | 文本 音频 | 音频 |
| 输出模态 | 文本 | 文本 |
| 发布日期 | 2025-03-20 | 2023-03-01 |
| 知识截止日期 | 2024-06 | — |
| 限制 | mp3/mp4/mpeg/mpga/m4a/wav/webm, up to 25MB streaming transcription supported (incl. Realtime transcription sessions) json/text output only no word timestamps or diarization | mp3/mp4/mpeg/mpga/m4a/wav/webm, up to 25MB word- and segment-level timestamps (verbose_json), srt/vtt output no streaming only model supported on the translations endpoint (to English) |
| 语言 | 57 languages listed for the transcriptions endpoint (one shared list for all transcription models) ISO 639-1 / 639-3 codes accepted for GPT-4o-based models | Trained on 98 languages 57 listed as supported, the languages that met OpenAI's under-50% word-error-rate threshold across the transcriptions and translations endpoints |
| 最大输出 | 2K | — |
规格转录自各供应商的文档;若供应商未发布某项数据,则直接省略该行,而非进行推断。 完整来源: GPT-4o Transcribe · Whisper v1
只需一行代码即可在它们之间切换
两个 ID 都包含在下方的每个选项卡中 — 高亮显示的两行是唯一的修改。相同的端点,相同的密钥,相同的请求结构。
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.audio.transcriptions.create(
model="gpt-4o-transcribe",
# model="whisper-1", # 取消注释此行,注释上一行
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: "gpt-4o-transcribe",
// model: "whisper-1", // 取消注释此行,注释上一行
file: fs.createReadStream("meeting.mp3"),
});
console.log(resp.text);curl https://synthorai.io/v1/audio/transcriptions \
-H "Authorization: Bearer sk-syn-..." \
-F model="gpt-4o-transcribe" \
# -F model="whisper-1" \ # 取消注释此行,注释上一行
-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: "gpt-4o-transcribe",
// Model: "whisper-1", // 取消注释此行,注释上一行
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("gpt-4o-transcribe")
// .model("whisper-1") // 取消注释此行,注释上一行
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());常见问题
GPT-4o Transcribe 和 Whisper v1 哪个更便宜?
它们的计费单位不同,因此不存在单一的绝对数字:在上方表格中,GPT-4o Transcribe 和 Whisper v1 分别以各自的单位显示。请根据你自己的工作负载进行比较——本页顶部的结论中描述了实际的权衡。
我可以在不进行两次集成的情况下,对 GPT-4o Transcribe 和 Whisper v1 进行 A/B 测试吗?
可以。两者均通过同一个兼容 OpenAI 的端点提供服务,并使用同一把 API 密钥——切换只需更改一行模型字符串,因此你可以将一部分流量路由到各个模型并直接比较账单。
GPT-4o Transcribe 和 Whisper v1 支持说话人分离吗?
上方能力表格依据各供应商的官方文档,针对每个模型回答了此问题——由于各个模型在说话人分离、流式传输和时间戳这三方面均存在差异,因此将它们单独列出。