GPT-4o Transcribe vs Whisper v1
Cuál usar y cuándo
Estos dos facturan en unidades distintas - whisper-1 a $0.006 por minuto de audio, gpt-4o-transcribe a $6 por millón de tokens de audio de entrada más $2.5 y $10 por millón de tokens de texto - así que ninguna conversión única entre ellos es honesta. whisper-1 es el que tiene marcas de tiempo por palabra y por segmento, salida srt/vtt y el endpoint de traducción, pero no hace streaming; gpt-4o-transcribe sí, incluidas sesiones de transcripción en tiempo real, y devuelve solo json o texto. Elige whisper-1 para subtítulos y traducción, gpt-4o-transcribe para transcripción en vivo.
Benchmarks
Whisper v1: el proveedor no ha publicado resultados de benchmarks.
Publicado por los proveedores: Alibaba (Qwen) ByteDance Google OpenAI
Precios
| GPT-4o Transcribe | Whisper v1 | Δ | |
|---|---|---|---|
| Por minuto de audio | - | $0.006 | - |
| Entrada de audio / 1M tokens | $6 | - | - |
| Salida de texto / 1M tokens | $10 | - | - |
Estos dos modelos se facturan en unidades distintas, así que no se muestra ningún Δ: para convertir una en otra habría que asumir algo que no hemos medido. Arriba, cada tarifa aparece en su propia unidad.
Capacidades
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| Diarización de hablantes | no | no |
| Streaming | sí | no |
| Marcas de tiempo | no | sí |
Especificaciones
| GPT-4o Transcribe | Whisper v1 | |
|---|---|---|
| Modalidades de entrada | texto audio | audio |
| Modalidades de salida | texto | texto |
| Lanzamiento | 2025-03-20 | 2023-03-01 |
| Corte de conocimiento | 2024-06 | - |
| Límites | 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 |
| Salida máxima | 2K | - |
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: GPT-4o Transcribe · Whisper v1
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="gpt-4o-transcribe",
# model="whisper-1", # 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: "gpt-4o-transcribe",
// model: "whisper-1", // 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="gpt-4o-transcribe" \
# -F model="whisper-1" \ # 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: "gpt-4o-transcribe",
// Model: "whisper-1", // 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("gpt-4o-transcribe")
// .model("whisper-1") // 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, GPT-4o Transcribe o Whisper v1?
Se facturan en unidades distintas, así que no hay una cifra única que sea honesta: en la tabla de arriba, GPT-4o Transcribe y Whisper v1 aparecen cada uno en su propia unidad. Compáralos con tu propia carga de trabajo; el veredicto, al principio de esta página, explica qué ganas y qué pierdes con cada uno.
¿Puedo hacer pruebas A/B de GPT-4o Transcribe frente a Whisper v1 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 GPT-4o Transcribe y Whisper v1 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.