DocumentaçãoCLI: transcreva pelo terminal

CLI: transcreva pelo terminal

Transcreva links e arquivos locais com a CLI do transcript1. Processe pastas, salve legendas e use JSON em scripts e agentes.

Passe um link ou caminho de arquivo ao comando transcript1 para receber a transcrição no terminal. Você pode usar áudio e vídeo locais ou links do YouTube, X, TikTok, Instagram, Facebook e Bluesky. Veja abaixo as outras plataformas e as versões necessárias. As restrições estão em Links aceitos e opções. A CLI roda sozinha, sem precisar de Node.js.

Para os links de redes sociais, instale a CLI 1.2.0 ou mais recente. A versão 1.1.0 e as anteriores só aceitam YouTube: elas recusam os outros links antes de chamar a API. Atualize com transcript1 update.

A versão acima cobre as seis plataformas originais. Para Twitch, Dailymotion, Pinterest, LinkedIn e Snapchat, você precisa de uma versão que já inclua essas plataformas. Clientes antigos podem recusar esses links antes do envio.

Envie posts públicos. Quando um post tem vários vídeos, transcrevemos apenas o primeiro. Confira os links curtos que funcionam e os demais limites em Links aceitos e opções.

Instale a CLI

No macOS ou Linux, com arquitetura x64 ou ARM64, rode:

curl -fsSL https://transcript1.com/install.sh | sh

O executável fica em ~/.local/bin. Se você precisar ajustar o PATH, o instalador mostra como fazer. Para instalar em outra pasta, defina TRANSCRIPT1_INSTALL_DIR.

Você também pode usar o atalho t1 no lugar de transcript1. No zsh, o instalador acrescenta alias transcript1='noglob transcript1' ao ~/.zshrc para aceitar links com ? sem aspas. Se não quiser essa alteração no shell, defina TRANSCRIPT1_NO_MODIFY_SHELL=1.

No Windows x64, rode no PowerShell:

irm https://transcript1.com/install.ps1 | iex

A instalação usa %LOCALAPPDATA%\Programs\transcript1, cria o atalho t1.cmd e adiciona a pasta ao PATH do usuário. Abra outro terminal para começar a usar.

Conecte sua conta

Para entrar, rode:

transcript1 login

O comando abre transcript1.com no navegador. Se você estiver por SSH ou sem interface gráfica, ele mostra o link no terminal. Confira se o código da página é o mesmo do terminal e clique em “Approve”. Depois da aprovação, a CLI salva uma chave chamada transcript1 CLI (<computer name>). Você pode consultá-la em “API keys”.

Se preferir copiar o link sem abrir o navegador, use transcript1 login --no-browser.

Já tem uma chave? Use transcript1 login --with-key para colá-la. Também pode fornecer a chave pela entrada padrão: transcript1 login < key.txt.

Para CI e agentes, configure TRANSCRIPT1_API_KEY. Essa variável tem prioridade sobre a chave salva. Um agente sem terminal ou sem chave pode rodar transcript1 login < /dev/null e passar o link para você aprovar.

Para sair, use transcript1 logout. O comando revoga a chave da CLI e apaga a cópia local. Se não conseguir revogá-la, apaga a cópia mesmo assim e pede que você revogue a chave em “API keys”. Chaves que você colou manualmente também precisam ser revogadas nessa página.

transcript1 'https://youtu.be/dQw4w9WgXcQ'

O comando aguarda a transcrição e escreve o texto em stdout. Primeiro tenta usar as legendas no idioma original do YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn. Se não puder usá-las, transcreve o áudio com IA. As mensagens de progresso vão para stderr.

No zsh, prefira colocar links entre aspas. Sem aspas, & separa comandos e ? vira um padrão glob, a menos que você esteja usando o alias adicionado pelo instalador.

Transcreva um arquivo local

transcript1 interview.mp3
transcript1 -f srt -o interview.srt interview.mp3

Envie arquivos de até 2 GB (2.000.000.000 bytes), com extensão mp3, wav, m4a, flac, ogg, opus, mp4, mov, webm ou mkv. A CLI cuida do upload e aguarda o texto ficar pronto.

Processe vários arquivos ou links

Você pode passar mais de um arquivo ou link ao comando, ou indicar uma pasta:

transcript1 interview.mp3 lecture.mp4
transcript1 -o transcripts/ ./recordings
transcript1 --jobs 4 -o transcripts/ interview.mp3 'https://youtu.be/dQw4w9WgXcQ'

Padrões como recordings/*.mp3 também funcionam no Windows. Ao indicar uma pasta, a CLI pega os arquivos de áudio e vídeo que estão diretamente nela e os ordena por nome. Com várias entradas, salva uma transcrição por arquivo em ./transcripts, por padrão. Use --jobs para escolher quantas entradas processar ao mesmo tempo: de 1 a 20; o padrão é 2.

Para ler uma lista de stdin, use -, com um link ou caminho de arquivo por linha. No shell do macOS ou Linux:

transcript1 -o transcripts/ - < inputs.txt

A CLI pula linhas vazias e linhas que começam com #. Se a mesma entrada aparecer mais de uma vez, processa só uma vez.

Com uma entrada, -o indica o arquivo onde salvar o texto. Se o caminho já for uma pasta ou terminar com /, a CLI o trata como pasta. Com várias entradas, -o sempre indica uma pasta. Se a pasta de destino não existir, a CLI cria.

Para links do YouTube e arquivos locais, a CLI pula a entrada quando o arquivo de destino já existe. Use --overwrite para processar novamente e sobrescrever:

transcript1 --overwrite -o transcripts/ ./recordings

Formatos e opções

OpçãoPara que serve
-f, --formatEscolhe text (padrão), srt, vtt ou json. Com json, você recebe o objeto da transcrição da API.
--speakersAtiva a identificação de falantes com rótulos Speaker 1, Speaker 2 etc.
--timestampsAcrescenta [hh:mm:ss] ao início de cada linha. Funciona apenas em text.
--languageDefine o idioma com um código ISO 639-1. O padrão é auto.
--sourceEscolhe auto (padrão) ou stt. YouTube, X, TikTok, Bluesky, Dailymotion e LinkedIn também aceitam captions quando há legendas que possam ser usadas. O modo captions (somente legendas) não baixa áudio nem recorre ao STT.
--freshForça uma nova transcrição do link, sem reutilizar uma das últimas 24 horas.

Para combinar identificação de falantes e marcações de tempo, rode:

transcript1 --speakers --timestamps --language en interview.mp3

Não combine --speakers com --source captions. No modo auto, identificar falantes faz o serviço ir direto ao áudio. O funcionamento das legendas do YouTube e do X continua o mesmo; TikTok, Bluesky, Dailymotion e LinkedIn também permitem usar as faixas disponíveis. Fora do YouTube, as legendas trazem apenas marcações de tempo por segmento (words: null), mesmo quando são geradas automaticamente. Confira as diferenças entre plataformas e as regras de idioma em Links aceitos e opções.

Scripts e agentes

Se o agente tem acesso a um shell, ele pode instalar a CLI, configurar TRANSCRIPT1_API_KEY e rodar transcript1 <link> ou transcript1 <file>. Para conectar um cliente por MCP, consulte Servidor MCP.

Em scripts, use --json: a CLI escreve uma linha JSON em stdout para cada entrada assim que termina, sem mensagens de progresso, resumo ou aviso de atualização.

transcript1 --json 'https://youtu.be/dQw4w9WgXcQ'

Cada linha de uma transcrição finalizada traz o objeto da API com os campos extras input e reused. Se o texto foi salvo em arquivo, a linha traz file no lugar de transcript. Se o erro ocorreu antes da criação de um ID, você recebe input e um objeto error com code e message. Quando a CLI pula uma entrada, informa input, skipped (exists ou out_of_minutes) e, quando houver, file. O valor exists só se aplica a links do YouTube e arquivos locais.

Com uma entrada e sem -o, --json inclui o texto da transcrição no objeto e ignora -f. Com várias entradas e sem -o, os arquivos vão para ./transcripts, e cada linha JSON traz file em vez de transcript. Ao salvar em arquivo, vale o formato escolhido com -f. Para ocultar só o progresso e os resumos, use -q ou --quiet: o texto da transcrição e os erros continuam aparecendo.

Se quiser iniciar a transcrição e buscar o texto depois:

transcript1 --no-wait interview.mp3
transcript1 get <id>

Copie o ID mostrado pelo primeiro comando e use no lugar de <id>. Com --no-wait, você recebe o ID e o status; se também usar --json, recebe o objeto. O comando get aguarda o processamento e aceita -f, -o, --timestamps, --no-wait, --json e -q.

Mantenha a CLI atualizada

transcript1 update

Quando stderr está ligado a um terminal, a CLI verifica se há uma versão nova e avisa quando encontra. Essa consulta acontece no máximo uma vez a cada 24 horas. Para desativá-la, defina TRANSCRIPT1_NO_UPDATE_CHECK=1. Com --json ou -q, o aviso também não aparece.

Códigos de saída

CódigoComo interpretar
0Todas as entradas foram processadas ou puladas porque o arquivo de destino já existia, no caso de links do YouTube e arquivos locais.
1Alguma entrada falhou ou ficou sem processar por falta de minutos.
2Há um problema no comando ou na autenticação.
130Você interrompeu o comando.

Para consultar todos os comandos e flags, rode transcript1 --help ou apenas transcript1.

Última atualização 18 de outubro de 2026