La factura de la transcripción de voz parece depender solo de "cuánto dura el audio", pero el costo total suele estar formado por más factores: silencios inútiles, archivos de alto bitrate, reintentos fallidos, solapamientos al dividir, envíos duplicados, retención de almacenamiento y revisión humana posterior.
Este artículo no fija precios unitarios, porque cambian y porque cada modelo y cada pasarela aplican criterios distintos. Lo importante es entender la estructura de facturación y los factores que mueven el costo; para las tarifas concretas, consulta la página de precios de modelos del sitio.
Nota: OpenAI y Whisper son marcas de sus respectivos titulares; este artículo solo ofrece una explicación técnica y no implica relación alguna con OpenAI. La unidad de facturación, las regiones disponibles y los límites de cada modelo pueden cambiar; guíate por la documentación oficial y la página de precios del sitio. Este texto no incluye cotizaciones concretas.
1. La unidad básica de facturación es la duración del audio
El modelo tradicional whisper-1 cobra por los minutos de audio enviados. La familia más reciente gpt-4o-transcribe cobra por tokens de entrada y salida de audio, y la página de precios suele ofrecer también una estimación equivalente por minuto; modelos nuevos como gpt-transcribe siguen evolucionando en su forma de cálculo.
Sea por minuto o por token, la base del cobro es "la duración del audio enviado", no "la duración en la que alguien habla". Los títulos, los silencios prolongados y las pausas de una reunión también pueden entrar en la factura. La primera regla para controlar el costo es recortar el audio innecesario antes de subirlo.
2. Cómo afectan el tamaño y el formato del archivo a la factura
La interfaz oficial admite un máximo de 25 MB por archivo y acepta mp3, mp4, mpeg, mpga, m4a, wav y webm. El límite de tamaño influye indirectamente en el costo:
- Un wav de alto bitrate ocupa mucho, supera el límite con más facilidad y obliga a dividir más veces.
- Cuanto más grande es el archivo, más lenta es la subida y mayor la probabilidad de tiempos de espera y reintentos.
- Un formato incompatible falla directamente y consume tiempo de solicitud y de diagnóstico.
- La transcodificación no suele entrar en la factura de la API, pero consume recursos de servidor y almacenamiento.
Convertir todo a mp3 o wav mono a 16 kHz suele reducir mucho el tamaño con una calidad aceptable. Antes de comprimir, confirma que el negocio tolera la pérdida de calidad; en audios con dialectos o terminología especializada conviene conservar un bitrate más alto.
3. Qué operaciones inflan el costo sin que se note
| Concepto de costo | ¿Entra en la factura de la API? | Método de control |
|---|---|---|
| Duración del audio | Sí | Eliminar silencios, recortar extremos, enviar solo tramos útiles |
| Reintentos fallidos | Puede cobrarse dos veces | Limitar reintentos y registrar resultados |
| Solapamiento al dividir | Sí; la parte solapada se transcribe de nuevo | Mantener 0,5–1 segundo y eliminar duplicados al unir |
| Transcodificación y almacenamiento | Normalmente no entra en la factura de la API | Definir reglas de ciclo de vida y limpiar a tiempo |
| Tráfico de salida | Depende del proveedor y la arquitectura | Procesar en la misma región y evitar descargas repetidas |
| Revisión humana | No entra en la factura de la API | Revisión por muestreo, sustituciones y auditoría por niveles |
El desperdicio más común no es el precio unitario, sino el trabajo repetido: un mismo audio enviado tres veces por un tiempo de espera agotado, o una transcripción completa rehecha solo para obtener las marcas de tiempo.
4. Reintentos, tiempos de espera y cobro duplicado
Que la red agote el tiempo de espera no significa que el servidor no haya procesado la solicitud. Si la solicitud ya se facturó pero el cliente no recibió el resultado, el reintento genera un segundo cargo. En ingeniería hay que hacer tres cosas:
- Usar el hash del archivo o el número de pedido como clave de idempotencia y guardar los resultados exitosos para reutilizarlos.
- Limitar el número máximo de reintentos, por ejemplo a tres, con espera exponencial.
- Reintentar solo ante 429, 5xx y tiempos de espera; reintentar errores 400, 401 o 413 no tiene sentido.
Los trabajos por lotes también necesitan tiempos de conexión y de lectura razonables. Un tiempo demasiado corto declara muerto un audio largo que era normal; uno demasiado largo bloquea la cola.
5. División de audios largos y estrategia de concurrencia
Los audios de más de 25 MB deben dividirse. Cuanto más finos los cortes, más solicitudes; cuanto más gruesos, mayor el costo de un reintento fallido. Puede seguirse este orden:
- Usar
ffprobepara obtener la duración y el bitrate de cada archivo y estimar los minutos totales. - Convertir todo a 16 kHz mono para controlar el tamaño de cada tramo.
- Dividir preferentemente por silencios y, en segundo lugar, en tramos fijos de 10 minutos.
- Registrar el desplazamiento de cada tramo y rellenar la línea de tiempo al unir.
- Mantener la concurrencia dentro del límite de la cuenta y observar la proporción de errores 429 antes de ajustar.
- Eliminar duplicados después de unir y revisar por muestreo los puntos de corte.
- Contrastar los minutos realmente enviados con la factura para detectar anomalías.
La concurrencia no cambia el precio unitario por uso, pero afecta la tasa de reintentos y la duración total. Llevarla al máximo provoca muchos errores 429; sumados a los reintentos con espera, suele costar más que ir a un ritmo estable.
6. Almacenamiento y tráfico de salida: lo que se pasa por alto
Los archivos de audio, los resultados de transcripción, los logs y las copias de seguridad generan costos de almacenamiento, y el audio es lo que más ocupa. Conviene clasificar por tipo de negocio:
- Audio original: conservarlo durante un periodo de trazabilidad después de transcribir y luego borrarlo o moverlo a almacenamiento frío.
- Texto transcrito: guardarlo por proyecto, cifrar el contenido sensible y restringir el acceso.
- Logs de solicitudes: no registrar la URL completa del audio ni las claves; conservar solo los identificadores de solicitud necesarios.
- Copias de seguridad: respaldar solo los resultados, no duplicar el audio original.
Si el audio y el servicio de transcripción están en regiones distintas, la subida y la descarga generan tráfico de salida. Colocar el flujo de procesamiento cerca del almacenamiento reduce esa parte del gasto.
7. Cómo estimar un presupuesto
No conviene multiplicar un precio unitario improvisado por la duración total. Una fórmula más estable es:
costo mensual ≈ minutos de audio útil × precio unitario × factor de reintento + almacenamiento y tráfico + revisión humana
El factor de reintento puede estimarse con datos reales de monitoreo; por ejemplo, si la tasa de éxito es del 97 %, hay que reservar margen para la parte que falla. El siguiente script solo lee la duración y el precio unitario, sin fijar tarifas en el código:
import os, subprocess, json
UNIT_PRICE = float(os.environ["AUDIO_UNIT_PRICE"]) # obtener de la página de precios, por minuto
files = ["meeting-01.mp3", "meeting-02.mp3"]
total_minutes = 0.0
for path in files:
out = subprocess.check_output([
"ffprobe", "-v", "error", "-show_entries", "format=duration",
"-of", "json", path,
])
total_minutes += float(json.loads(out)["format"]["duration"]) / 60
estimate = total_minutes * UNIT_PRICE * 1.1 # margen para reintentos y solapamiento
print(f"Audio: {total_minutes:.1f} minutos, estimación: {estimate:.2f}")
Al presupuesto hay que sumar almacenamiento, servidores de transcodificación, revisión humana y mantenimiento de desarrollo. Comparar solo el precio unitario de la API tiende a subestimar el costo total de propiedad.
8. Conciliación y seguimiento de precios después del lanzamiento
- Separar el uso por proyecto o por clave para que todos los negocios no queden en una sola factura.
- Exportar el uso una vez por semana y compararlo con los minutos de audio enviados internamente.
- Investigar los proyectos cuya diferencia supere el umbral: envíos duplicados, reintentos anómalos o parámetros de división incorrectos.
- Configurar alertas de presupuesto para actuar antes de acercarse al límite.
- Seguir las actualizaciones de modelos y precios; antes de cambiar, comparar calidad y costo con muestras reales.
Los precios cambian y los modelos también. Conviene llevar el precio unitario a configuración en lugar de fijarlo en el código; cada ajuste de tarifa solo requiere actualizar la configuración y volver a ejecutar la estimación.
Preguntas frecuentes
¿Whisper API cobra por minuto o por token?
whisper-1 cobra por minutos de audio; la familia más reciente gpt-4o-transcribe cobra por tokens de entrada y salida de audio, y la página de precios ofrece una estimación equivalente por minuto. Guíate por la página de precios de modelos y la documentación oficial.
¿Los silencios también se cobran?
Normalmente se cobra por la duración del audio enviado, y los silencios pueden entrar en la cuenta. Recortarlos antes de subir es la forma más directa de controlar el costo.
¿Los reintentos fallidos se cobran dos veces?
Si el servidor ya procesó la solicitud y solo el cliente agotó el tiempo de espera, el reintento puede generar un segundo cargo. Usa una clave de idempotencia para reutilizar resultados exitosos y limita los reintentos.
¿Más concurrencia ahorra dinero?
No cambia el precio unitario y no necesariamente reduce el costo total. Una concurrencia demasiado alta provoca errores 429, y los reintentos y las colas añaden tiempo y gasto.
¿Por qué el artículo no incluye precios concretos?
Los precios de los modelos de audio se ajustan con frecuencia y cada pasarela aplica criterios distintos. Fijar cifras en el texto hace que envejezcan rápido; estimar con la página de precios del sitio es más fiable.
Siguiente paso
Primero regístrate en ZSQH AI Gateway, transcribe un audio corto y calcula el presupuesto cuando tengas los minutos reales. Los modelos y los precios más recientes figuran en precios de modelos.
Lecturas relacionadas:
