DocumentaciónTranscribe desde la terminal con la CLI
Transcribe desde la terminal con la CLI
Instala la CLI para transcribir enlaces, archivos o carpetas. Guarda texto y subtítulos, o recibe JSON para tus scripts y agentes.
La CLI te permite transcribir sin salir de la terminal. Ejecuta transcript1 con un archivo de audio o video de tu computadora, o con un enlace de YouTube, X, TikTok, Instagram, Facebook o Bluesky. No necesitas Node.js para usarla. Más abajo se indican los requisitos de versión para otras plataformas; en Fuentes y opciones puedes consultar los enlaces admitidos y sus restricciones.
Para los enlaces de redes sociales necesitas la CLI 1.2.0 o posterior. La versión 1.1.0 y las anteriores solo aceptan YouTube: rechazan los demás enlaces antes de enviarlos a la API. Actualiza con transcript1 update.
Ese mínimo corresponde a las seis plataformas originales. Para Twitch, Dailymotion, Pinterest, LinkedIn y Snapchat, usa una versión que ya incluya su compatibilidad. Una CLI antigua puede rechazar esos enlaces sin llegar a llamar a la API.
Elige una publicación pública. Si tiene varios videos, solo se transcribe el primero. Revisa los enlaces cortos que funcionan y los límites en Fuentes y opciones.
Instala la CLI
En macOS y Linux, tanto x64 como ARM64, ejecuta:
curl -fsSL https://transcript1.com/install.sh | shEl ejecutable se instala en ~/.local/bin. Si necesitas ajustar PATH, el instalador te indica cómo hacerlo. Para elegir otra carpeta, configura TRANSCRIPT1_INSTALL_DIR.
También puedes usar el alias corto t1 en lugar de transcript1. En zsh, el instalador añade alias transcript1='noglob transcript1' a ~/.zshrc, para que ? en los enlaces funcione sin comillas. Si no quieres que modifique ese archivo, configura TRANSCRIPT1_NO_MODIFY_SHELL=1.
Para Windows x64, ejecuta esto en PowerShell:
irm https://transcript1.com/install.ps1 | iexEl instalador usa %LOCALAPPDATA%\Programs\transcript1, crea el alias t1.cmd y añade la carpeta al PATH de tu usuario. Abre otra terminal para que el cambio tenga efecto.
Conecta tu cuenta
Inicia sesión con:
transcript1 loginSe abrirá transcript1.com en el navegador. Si estás por SSH o no hay pantalla, verás el enlace en la terminal. Comprueba que el código de la página coincida con el de la terminal y haz clic en “Approve”. La CLI espera tu aprobación y guarda una clave con el nombre transcript1 CLI (<computer name>). Puedes verla en “API keys”.
Si prefieres abrir el enlace por tu cuenta, usa transcript1 login --no-browser.
Si ya tienes una clave, ejecuta transcript1 login --with-key y pégala. También puedes leerla desde stdin con transcript1 login < key.txt.
En CI o con agentes, configura TRANSCRIPT1_API_KEY. Esta variable tiene prioridad sobre la clave guardada. Si el agente no tiene terminal o no tiene clave, puede ejecutar transcript1 login < /dev/null y pasarte el enlace para que apruebes el acceso.
Para desconectar la CLI, ejecuta transcript1 logout: revoca su clave y borra la copia de tu computadora. Si no consigue revocarla, borra la copia local y te pide hacerlo en “API keys”. Las claves que hayas pegado debes revocarlas desde esa página.
Transcribe un enlace
transcript1 'https://youtu.be/dQw4w9WgXcQ'El texto aparece en stdout cuando termina la transcripción; los avisos de progreso van a stderr. Primero se buscan subtítulos en el idioma original en YouTube, X, TikTok, Bluesky, Dailymotion y LinkedIn. Si no se pueden usar, se transcribe el audio con IA.
En zsh, conviene poner los enlaces entre comillas. Sin ellas, & divide el comando y ? se interpreta como comodín, salvo que uses el alias añadido por el instalador.
Transcribe un archivo
transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3Puedes enviar archivos de hasta 2 GB (2,000,000,000 bytes) con extensión mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm o mkv. La CLI se encarga de subirlos y esperar hasta tener el texto.
Procesa varios archivos o enlaces
Indica varios archivos o enlaces en el comando, o dale una carpeta:
transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'También puedes usar patrones como recordings/*.mp3, incluso en Windows. Al indicar una carpeta, se toman sus archivos de audio y video del primer nivel, ordenados por nombre. Si envías varios elementos, cada transcripción se guarda por defecto en un archivo dentro de ./transcripts. Con --jobs eliges cuántos procesar a la vez: de 1 a 20; por defecto son 2.
Para leer desde stdin, usa - e indica un enlace o ruta de archivo por línea. En macOS o Linux puedes hacerlo así:
transcript1 -o transcripts/ - < inputs.txtLa CLI ignora las líneas vacías y las que empiezan con #. Si repites exactamente el mismo elemento, lo procesa una sola vez.
Con un solo elemento, -o permite elegir el nombre del archivo. Si la ruta ya es una carpeta o termina en /, se usa como carpeta. Con varios elementos, -o siempre indica una carpeta. Si la carpeta de destino no existe, la CLI la crea.
Para enlaces de YouTube y archivos locales, la CLI no repite una transcripción si el archivo de destino ya existe. Si quieres volver a generarlo, agrega --overwrite:
transcript1 --overwrite -o transcripts/ ./recordingsFormatos y opciones
| Opción | Para qué sirve |
|---|---|
-f, --format | Elige text (por defecto), srt, vtt o json. Con JSON recibes el objeto de transcripción de la API. |
--speakers | Añade la identificación de hablantes con etiquetas Speaker 1, Speaker 2, etc. |
--timestamps | Añade [hh:mm:ss] al inicio de cada línea. Funciona solo en formato text. |
--language | Indica un código ISO 639-1 o deja auto, el valor por defecto. |
--source | Elige auto (por defecto) o stt. En YouTube, X, TikTok, Bluesky, Dailymotion y LinkedIn también puedes pedir captions si hay una pista válida. El modo captions (solo subtítulos) nunca descarga audio ni pasa a STT. |
--fresh | Fuerza una nueva transcripción del enlace en lugar de reutilizar una de las últimas 24 horas. |
Combina estas opciones para identificar hablantes y mostrar marcas de tiempo:
transcript1 --speakers --timestamps --language en interview.mp3No combines --speakers con --source captions. Si dejas auto y activas la identificación de hablantes, se transcribe el audio sin usar subtítulos. YouTube y X mantienen su compatibilidad con subtítulos; también puedes usar las pistas disponibles de TikTok, Bluesky, Dailymotion y LinkedIn. Fuera de YouTube solo incluyen marcas de tiempo por segmento (words: null), incluso en las pistas automáticas. Consulta las opciones de cada plataforma y las reglas de idioma en Fuentes y opciones.
Integra la CLI en scripts y agentes
Si tu agente tiene acceso a una shell, puede instalar la CLI, configurar TRANSCRIPT1_API_KEY y ejecutar transcript1 <link> o transcript1 <file>. Si se conecta por MCP, sigue la guía del servidor MCP.
Con --json, stdout recibe una línea JSON por cada elemento que termina de procesarse. No se muestran avisos de progreso, resúmenes ni notificaciones de actualización:
transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'Cada línea de una transcripción terminada contiene el objeto de la API junto con input y reused. Si el texto se guardó en un archivo, la línea lleva file en lugar de transcript. Si hubo un error antes de crear un ID, recibirás input y un objeto error con code y message.
Para los elementos que no se procesaron, recibirás input, skipped con el valor exists o out_of_minutes, y file cuando corresponda. Solo los enlaces de YouTube y los archivos locales pueden omitirse por exists.
Si envías un solo elemento sin -o, --json incluye el texto en el objeto e ignora -f. Con varios elementos y sin -o, los archivos se guardan en ./transcripts y cada línea JSON lleva file en lugar de transcript. Cuando se guarda un archivo, su formato lo define -f. Si solo quieres ocultar el progreso y los resúmenes sin perder el texto ni los errores, usa -q o --quiet.
Puedes iniciar la transcripción y consultarla más tarde:
transcript1 --no-wait interview.mp3
transcript1 get <id>El primer comando muestra el ID y el estado; si añades --json, muestra el objeto. Usa ese ID en lugar de <id> en el segundo comando. get espera mientras la transcripción sigue en curso y acepta -f, -o, --timestamps, --no-wait, --json y -q.
Actualiza la CLI
transcript1 updateSi stderr está conectado a una terminal, la CLI revisa como máximo una vez cada 24 horas si hay una versión nueva y te avisa. Para desactivar esa revisión, configura TRANSCRIPT1_NO_UPDATE_CHECK=1. Tampoco se hace al usar --json o -q.
Códigos de salida
| Código | Qué indica |
|---|---|
| 0 | Todo terminó bien, o se omitieron enlaces de YouTube y archivos locales porque ya existía el archivo de destino. |
| 1 | Algún elemento falló o no se procesó por falta de minutos. |
| 2 | Hay un problema con el comando o con el inicio de sesión. |
| 130 | Se interrumpió la ejecución. |
Consulta todos los comandos y opciones con transcript1 --help, o ejecuta transcript1 sin argumentos.
Última actualización 18 de octubre de 2026