Equalang
Aponte para um arquivo e ele fará o upload, aguardará o job e escreverá os resultados ao lado da origem. Você receberá os caminhos de volta, nunca o conteúdo do arquivo - layout, tabelas, imagens e fórmulas sobrevivem, e nada grande entra na conversa.
O trabalho gasta os créditos do usuário. Diga o quanto custará e obtenha a concordância antes de translate ou transcribe. O estimate fornece o número para um arquivo, de graça.
Configuração
A chave é uma linha, EQUALANG_API_KEY=el_..., em ~/.config/equalang/.env (em $XDG_CONFIG_HOME se estiver definido): um arquivo por máquina, compartilhado com o servidor MCP do Equalang e mantido quando esta skill é reinstalada ou atualizada. O usuário cria a chave em https://equalang.com/api-keys.
dir="${XDG_CONFIG_HOME:-$HOME/.config}/equalang"
mkdir -p "$dir" && (umask 077 && echo 'EQUALANG_API_KEY=el_...' > "$dir/.env")
EQUALANG_API_KEY no ambiente prevalece sobre o arquivo. Sem uma chave, todo comando responde com instruções de como obter uma e onde colocá-la. Nunca invente uma chave - pergunte ao usuário.
Comandos
Execute a partir do diretório desta skill; apenas python3 é necessário. Cada comando imprime um objeto JSON; --help lista as flags de um comando.
# Quanto custaria? Faz upload sem iniciar nada; gratuito. `kept_until` informa por quanto tempo o upload é mantido.
python3 scripts/equalang.py estimate report.pdf
# -> {"file_id": "...", "credits_to_translate": 12.34, "credits_to_transcribe": null, ...}
# Traduzir um arquivo. Um caminho, uma URL pública (Equalang a busca) ou --file-id do estimate.
python3 scripts/equalang.py translate report.pdf --to zh-CN
python3 scripts/equalang.py translate --file-id <file_id> --to zh-CN # sem segundo upload
python3 scripts/equalang.py translate https://example.com/deck.pptx --to ja -o ./out
# Uma gravação: legendas traduzidas, ou o que foi dito no idioma falado.
python3 scripts/equalang.py translate talk.mp4 --to en --bilingual --format srt --format txt
python3 scripts/equalang.py transcribe interview.mp3 --format srt --format txt
# Strings em lote (cada um traduzido individualmente; no máximo 50 de 5.000 caracteres, 20.000 por chamada).
python3 scripts/equalang.py text "Save changes" "Delete project" --to de
# Um texto longo simples - um artigo, notas, um .md - até 100.000 caracteres. O Equalang o divide em frases: nunca divida você mesmo.
python3 scripts/equalang.py text --file notes.md --to ja -o notes.ja.md
# Consultar um job novamente · parar um · saldo · códigos de idioma (sem chave necessária)
python3 scripts/equalang.py status <job_id> -o ./out
python3 scripts/equalang.py cancel <job_id>
python3 scripts/equalang.py balance
python3 scripts/equalang.py languages chinese
Lendo a saída
Um job concluído imprime outputs (cada um com seu path) e credits_charged. Informe ambos ao usuário. Não leia um arquivo produzido de volta para resumi-lo a menos que solicitado: é um documento completo, e o objetivo de um caminho é que seu conteúdo permaneça fora da conversa.
Uma falha imprime {"error", "code", "retryable"} e sai com código 1. Tente novamente apenas quando retryable for verdadeiro; INSUFFICIENT_CREDITS significa que o usuário recarrega em https://equalang.com/pricing, não que você tente novamente.
Vale a pena saber
- Formatos. Documentos: pdf, docx, pptx, xlsx, epub, html, txt. Legendas: srt, vtt. Imagens: jpg, png, webp, bmp. Gravações: mp3, m4a, wav, flac, ogg, aac, opus, mp4, mov, webm, mkv. Até 100 MB.
transcribeaceita apenas gravações. - Resultados nunca sobrescrevem. Eles são colocados ao lado de uma fonte local (ou em
-o DIR, ou no diretório atual para uma URL) sob o nome que o Equalang dá a eles; um nome já ocupado recebe(1). Perguntarstatusnovamente sobre um job concluído nomeia os arquivos que já escreveu, em vez de copiá-los. - Minutos, não segundos, para arquivos longos. O comando aguarda e imprime o progresso no stderr. Interrompê-lo não cancela o job:
status <job_id>o retoma,cancel <job_id>o interrompe. Um job cancelado ou com falha não é cobrado. - Uma gravação é cobrada pela fala realmente ouvida - silêncio e música não são - portanto geralmente custa menos do que o
estimatedisse; um documento custa o que oestimatedisse. - Códigos de idioma parecem com
en,zh-CN,zh-TW,ja,pt. Eles são lidos da API ativa, nunca da memória:languageslista os que os arquivos aceitam,languages --kind texto conjunto mais amplo quetextaceita, elanguages chineseencontra um pelo nome. Omita--source-languagepara que seja detectado. - Vários arquivos? Estime cada um, some os números e pergunte uma vez - nunca itere sobre uma pasta por conta própria.
- A API por trás disso, para qualquer coisa que o script não faça: https://equalang.com/llms.txt