# 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.

Canonical: https://transcript1.com/pt/docs/cli
Language: pt-BR
Last updated: 2026-10-18

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](https://transcript1.com/pt/docs/sources-and-options). 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](https://transcript1.com/pt/docs/sources-and-options).

## Instale a CLI

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

```bash
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:

```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:

```bash
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”](https://transcript1.com/dashboard/account/tokens).

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.

## Transcreva pelo link

```bash
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

```bash
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:

```bash
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:

```bash
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:

```bash
transcript1 --overwrite -o transcripts/ ./recordings
```

## Formatos e opções

| Opção | Para que serve |
|---|---|
| `-f`, `--format` | Escolhe `text` (padrão), `srt`, `vtt` ou `json`. Com `json`, você recebe o objeto da transcrição da API. |
| `--speakers` | Ativa a identificação de falantes com rótulos Speaker 1, Speaker 2 etc. |
| `--timestamps` | Acrescenta `[hh:mm:ss]` ao início de cada linha. Funciona apenas em `text`. |
| `--language` | Define o idioma com um código ISO 639-1. O padrão é `auto`. |
| `--source` | Escolhe `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. |
| `--fresh` | Forç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:

```bash
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](https://transcript1.com/pt/docs/sources-and-options).

## 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](https://transcript1.com/pt/docs/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.

```bash
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:

```bash
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

```bash
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ódigo | Como interpretar |
|---|---|
| 0 | Todas as entradas foram processadas ou puladas porque o arquivo de destino já existia, no caso de links do YouTube e arquivos locais. |
| 1 | Alguma entrada falhou ou ficou sem processar por falta de minutos. |
| 2 | Há um problema no comando ou na autenticação. |
| 130 | Você interrompeu o comando. |

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