InícioBlog → Como transcrever áudio direto pelo terminal

Como transcrever áudio direto pelo terminal

Publicado em 2026-08-20 · 4 min de leitura

Às vezes escrever um programa não faz sentido: são uma dúzia de gravações para processar e esquecer. O terminal resolve isso melhor que qualquer aplicação — uma chamada curl transforma o arquivo em texto e um script curto esvazia a pasta inteira.

Um arquivo

curl https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@call.ogg \
  -F model=whisper-1

A resposta é JSON. Para ficar só com o texto, passe pelo jq:

curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@call.ogg -F model=whisper-1 | jq -r .text

Guarde a chave numa variável de ambiente: comandos com a chave escrita ficam no histórico do shell e nos logs.

Outros formatos de resposta

O campo response_format define a saída na própria requisição:

# legendas direto em arquivo
curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@lecture.ogg -F model=whisper-1 \
  -F response_format=srt -o lecture.srt

# texto puro sem envelope JSON
curl -s https://voicesscribe.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $VS_KEY" \
  -F file=@note.ogg -F model=whisper-1 \
  -F response_format=text

Uma pasta inteira num script

#!/bin/bash
set -euo pipefail

for f in recordings/*.ogg; do
  out="${f%.ogg}.txt"
  [ -f "$out" ] && continue
  echo "processando $f"
  curl -s --fail-with-body https://voicesscribe.com/v1/audio/transcriptions \
    -H "Authorization: Bearer $VS_KEY" \
    -F file=@"$f" -F model=whisper-1 \
    | jq -r .text > "$out"
done

A checagem de arquivo existente torna o script repetível: uma execução interrompida continua de onde parou e gravações já processadas não são pagas duas vezes.

Diagnóstico

A opção --fail-with-body faz o curl devolver código diferente de zero e mostrar o corpo do erro — sem ela o script grava silenciosamente a mensagem de erro dentro do arquivo de transcrição. Outros truques úteis:

Teste com as suas próprias gravações. O cadastro leva um minuto e os minutos gratuitos bastam para avaliar a qualidade.

Obter uma chave de API grátis

Perguntas frequentes

O jq é obrigatório?

Não. Sem ele o arquivo recebe o JSON inteiro. Como alternativa, peça response_format=text e receba texto limpo direto.

Como manter a chave fora do histórico?

Guarde numa variável de ambiente ou num arquivo com permissões restritas carregado pelo shell.

O script para no primeiro erro — como continuar?

Remova o set -e ou envolva a chamada numa checagem de status, juntando os arquivos com falha numa lista para nova tentativa.

Isso funciona no Windows?

Sim, o PowerShell inclui o curl.exe e as opções são idênticas. Para scripts, WSL ou Git Bash é mais confortável.

Leitura relacionada