GPT-4o Transcribe vs Whisper v1
Qual usar e quando
Estes dois cobram em unidades diferentes - whisper-1 a $0.006 por minuto de áudio, gpt-4o-transcribe a $6 por milhão de tokens de áudio de entrada mais $2.5 e $10 por milhão de tokens de texto - então nenhuma conversão única entre eles é honesta. O whisper-1 é o que tem carimbos de tempo por palavra e por segmento, saída srt/vtt e o endpoint de tradução, mas não faz streaming; o gpt-4o-transcribe faz, inclusive sessões de transcrição em tempo real, e devolve apenas json ou texto. Escolha o whisper-1 para legendas e tradução, o gpt-4o-transcribe para transcrição ao vivo.
Benchmarks
Whisper v1: o provedor não publicou resultados de benchmark.
Publicado pelos provedores: Alibaba (Qwen) ByteDance Google OpenAI
Preços
| GPT-4o Transcribe | Whisper v1 | Δ | |
|---|---|---|---|
| Por minuto de áudio | - | $0.006 | - |
| Entrada de áudio / 1M tokens | $6 | - | - |
| Saída de texto / 1M tokens | $10 | - | - |
Estes dois modelos cobram em unidades diferentes, então nenhum Δ é mostrado: converter uma na outra exigiria uma suposição que não medimos. Acima, os preços de cada um aparecem na sua própria unidade.
Capacidades
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| Diarização de locutor | não | não |
| Streaming | sim | não |
| Timestamps | não | sim |
Especificações
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| Modalidades de entrada | texto áudio | áudio |
| Modalidades de saída | texto | texto |
| Lançamento | 2025-03-20 | 2023-03-01 |
| Corte de conhecimento | 2024-06 | - |
| Limites | 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) |
| Idiomas | 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 |
| Saída máxima | 2K | - |
As especificações são transcritas da documentação de cada provedor; quando um provedor não publica um dado, a linha é omitida, e não inferida. Fontes completas: GPT-4o Transcribe · Whisper v1
Troque de um para o outro mudando uma linha
Os dois ids estão em todas as abas abaixo; o par de linhas destacado é a única alteração. O endpoint, a chave e o formato da requisição são os mesmos.
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", # 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: "gpt-4o-transcribe",
// model: "whisper-1", // 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="gpt-4o-transcribe" \
# -F model="whisper-1" \ # 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: "gpt-4o-transcribe",
// Model: "whisper-1", // 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("gpt-4o-transcribe")
// .model("whisper-1") // descomente esta linha, comente a linha acima
.file(Paths.get("meeting.mp3"))
.build()).asTranscription();
System.out.println(resp.text());Perguntas frequentes
Qual é mais barato, GPT-4o Transcribe ou Whisper v1?
Eles cobram em unidades diferentes, então não existe um número único que seja honesto: na tabela acima, GPT-4o Transcribe e Whisper v1 aparecem cada um na sua unidade. Compare os dois na sua própria carga de trabalho; o trade-off na prática está descrito no veredito, no topo desta página.
Posso fazer um teste A/B de GPT-4o Transcribe contra Whisper v1 sem duas integrações?
Sim. Os dois são servidos pelo mesmo endpoint compatível com OpenAI, com uma única chave de API. Para trocar, basta mudar uma linha, a string do modelo; assim você pode direcionar uma parte do tráfego para cada um e comparar as contas diretamente.
GPT-4o Transcribe e Whisper v1 suportam diarização de locutor?
A tabela de capacidades acima responde modelo a modelo, direto da documentação de cada provedor. Diarização, streaming e timestamps aparecem em linhas separadas porque os modelos diferem nos três.