video to resume
- Go 93.3%
- Makefile 6.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .serena | ||
| .gitignore | ||
| .golangci.yml | ||
| go.mod | ||
| main.go | ||
| main_test.go | ||
| Makefile | ||
| README.md | ||
| yres.conf.example | ||
yres
CLI em Go que transcreve um arquivo de áudio e gera um resumo em Markdown, usando o Cloudflare Workers AI.
Útil para criar título, resumo e palavras-chave de um vídeo (por exemplo, para o YouTube) a partir do áudio dele.
Como funciona
- O áudio é enviado ao modelo Whisper (
@cf/openai/whisper-large-v3-turbo), que devolve a transcrição. - A transcrição é salva em
<arquivo>.txt. - O texto é enviado ao Llama 3.3 70B (
@cf/meta/llama-3.3-70b-instruct-fp8-fast) com um prompt em português. - O resumo é salvo em
<arquivo>.md, com:- título (H1) curto, no estilo de título de vídeo;
- resumo (H2);
- pontos principais (H2), em lista;
- palavras-chave (H3).
Exemplo: aula.mp3 gera aula.txt e aula.md na mesma pasta.
Requisitos
- Go 1.26 ou superior
- Conta na Cloudflare com acesso ao Workers AI
- Um API token com permissão Workers AI (leitura e edição)
Instalação
git clone <url-do-repositorio>
cd yres
make build
O binário yres é criado na raiz do projeto.
Configuração
Copie o arquivo de exemplo e preencha suas credenciais:
cp yres.conf.example yres.conf
CLOUDFLARE_ACCOUNT_ID=seu_account_id
CLOUDFLARE_API_TOKEN=seu_api_token
O yres procura a configuração nesta ordem:
/etc/yres.confyres.confna mesma pasta do executável
O arquivo aceita comentários com # ou ;, valores entre aspas e o prefixo export.
O
yres.confestá no.gitignore. Não faça commit das suas credenciais.
Uso
./yres caminho/para/audio.mp3
Ou pelo Makefile:
make run ARGS="caminho/para/audio.mp3"
Formatos aceitos: .wav, .mp3, .ogg, .m4a, .flac, .aac, .wma.
Comandos do Makefile
| Comando | Descrição |
|---|---|
make build |
Compila o binário |
make run |
Compila e executa (use ARGS="<arquivo>") |
make test |
Roda os testes |
make fmt |
Formata o código |
make lint |
Roda o golangci-lint |
make clean |
Remove o binário |
make help |
Lista os comandos |
Limitações
- O áudio é enviado inteiro, em Base64, numa única requisição. Arquivos muito longos podem passar do limite de tamanho aceito pela API.
- O resumo é limitado a 2048 tokens.
- Cada chamada à API tem timeout de 5 minutos.