Contenido del curso
Módulos y gestión de paquetes
Módulos nativos en Node.js
- 8

CRUD de archivos con módulo fs
10:20 min - 9

Transcribir audio a texto con Whisper y Node.js
16:31 min - 10

Implementar transcriptAudio con Whisper en Node.js
Viendo ahora - 11

Console API en Node.js: métodos básicos
10:22 min - 12

Console.count y console.group en JavaScript
09:16 min - 13

Módulo OS de Node.js para monitoreo
04:57 min - 14

Crypto de Node.js: hash SHA-256 completo
05:41 min - 15

Módulo process de Node.js en detalle
17:04 min - 16

Timers en Node.js: setTimeout y setInterval
11:04 min - 17

Streams en Node.js para archivos grandes
10:47 min - 18

Manipulación de buffers binarios en Node.js
06:43 min
Servidores con Node.js
Implementar transcriptAudio con Whisper en Node.js
Resumen
Implementar la función transcriptAudio con Whisper de OpenAI en Node.js te permite convertir archivos MP3 en texto editable con pocas líneas de código. Aprenderás a configurar las variables necesarias, ejecutar la transcripción y depurar errores comunes que aparecen al trabajar con buffers y rutas de archivos.
Cómo configuras las variables para usar transcriptAudio
Antes de llamar a la función necesitas dos piezas de información dentro de tu archivo fs OpenAI: la ruta del audio y tu API key.
La primera constante es audioPath, que apunta al archivo MP3 que vas a transcribir. En el ejemplo, el archivo vive en la misma carpeta del script, así que la referencia es directa hacia audio.mp3. La segunda constante es OpenAIAPIkey, un string que contiene la clave generada desde tu cuenta de OpenAI.
¿Necesito generar mi propia API key de OpenAI? Sí. La key del ejemplo probablemente ya no funcione. Debes crear una desde tu cuenta de OpenAI y asignarla a la variable antes de ejecutar el script.
Cómo llamas a la función y manejas la respuesta
La llamada recibe dos argumentos: audioPath y OpenAIAPIkey. Sobre esa promesa encadenas un .then con una arrow function que imprime el mensaje transcripción completada con éxito junto al texto devuelto por Whisper.
El bloque .catch recibe el error y lo muestra con console.error acompañado del mensaje falló la transcripción. Este patrón es clave porque no basta con un console.log simple: el manejo completo con try catch y throw error es lo que te permite rastrear dónde se rompe la lógica.
Por qué aparece el error de buffer y cómo se corrige
Al ejecutar node fs openai en la terminal integrada de Visual Studio Code, la primera corrida puede arrojar un error que dice que path está recibiendo una instancia de un buffer. Esto significa que dentro de la función se está pasando el contenido del archivo en lugar de su ruta.
El error indica la línea exacta, por ejemplo 37:12. Al revisar esa línea descubres que la variable usada es audioFile cuando en realidad debe ser audioFilePath, porque ese es el path que el módulo necesita para localizar el recurso en el sistema.
¿Por qué Whisper falla si le paso un buffer? Porque la función espera una ruta de archivo, no el contenido cargado en memoria. Cambiar audioFile por audioFilePath resuelve el conflicto y permite que la API lea el MP3 correctamente.
Qué te enseña este error sobre depuración
Los errores son aliados, no obstáculos. Cuando la consola te entrega una ruta y un número de línea, tienes un mapa para llegar al punto exacto del problema. Por eso conviene escribir lógica robusta con try catch en lugar de mensajes genéricos.
- Lee el mensaje completo antes de tocar el código.
- Identifica la línea señalada y revisa qué variable estás pasando.
- Confirma que el tipo de dato coincide con lo que la función espera.
Qué resultado entrega Whisper al transcribir el audio
Después de corregir el path y volver a ejecutar el script, la terminal muestra el mensaje de éxito y el archivo audio transcription queda guardado gracias al módulo File system. El texto devuelto en el ejemplo dice: Bajo el brillo tenue del amanecer, sueñan las hojas con el canto del viento, mientras un rayo tímido de sol acaricia el silencio que nace del cielo. En su dorada caricia florece la esperanza y el día se viste de luz nueva.
Ese resultado confirma que Whisper interpretó el audio con precisión y que el manejo de path hace que el script sea compatible con cualquier sistema operativo.
Para qué sirve este caso de uso real
Con este flujo ya tienes una base aplicable a proyectos reales: tomar audios, transcribirlos y reutilizar el texto donde lo necesites. Algunos escenarios donde encaja:
- Generar subtítulos automáticos para videos.
- Convertir notas de voz en documentación escrita.
- Crear bases de búsqueda a partir de podcasts o entrevistas.
¿Qué audio vas a transcribir primero con tu implementación? Cuéntame en los comentarios qué error te apareció al correr el script y cómo lo resolviste.