Communitygithub.com

equalang/equalang-skill

Compétence Equalang pour l'agent : traduire des fichiers PDF/DOCX/PPTX/XLSX/EPUB/sous-titres/images/audio/vidéo en conservant la mise en page ; transcrire des enregistrements. Claude/Codex/Cursor.

Qu'est-ce que equalang-skill ?

Equalang est une compétence d'agent dédiée à la traduction et à la transcription de fichiers tout en préservant la mise en page, les tableaux, les images et les formules. Elle prend en charge une large gamme de formats : documents (PDF, DOCX, PPTX, XLSX, EPUB, HTML, TXT), sous-titres (SRT, VTT), images (JPG, PNG, WebP, BMP) et enregistrements audio/vidéo (MP3, M4A, WAV, FLAC, OGG, AAC, OPUS, MP4, MOV, WebM, MKV). Les résultats sont écrits dans des fichiers à côté de la source, sans jamais renvoyer le contenu dans la conversation, ce qui évite de surcharger l'historique du modèle. La compétence repose sur l'API Equalang, nécessite une clé API stockée dans `~/.config/equalang/.env`, et propose des commandes `estimate`, `translate`, `transcribe`, `text`, `status`, `cancel`, `balance` et `languages`. L'agent doit systématiquement estimer le coût en crédits avant d'exécuter une traduction ou une transcription, et obtenir l'accord de l'utilisateur. Les fichiers échoués ou annulés ne sont pas facturés, et les enregistrements ne sont facturés que pour la parole effectivement détectée. Equalang est compatible avec les agents Claude, Codex et Cursor.

Compatible avec✓Claude Code✓Codex CLI✓Cursor
npx skills add equalang/equalang-skill

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Equalang

Pointez-le vers un fichier, il télécharge le fichier, attend la tâche et écrit les résultats à côté de la source. Vous obtenez des chemins en retour, jamais le contenu des fichiers – la mise en page, les tableaux, les images et les formules sont conservés, et rien de volumineux n'entre dans la conversation.

Le travail utilise les crédits de l'utilisateur. Dites quel sera le coût et obtenez son accord avant de translate ou transcribe. estimate donne le chiffre pour un fichier, gratuitement.

Configuration

La clé se trouve sur une ligne, EQUALANG_API_KEY=el_..., dans ~/.config/equalang/.env (sous $XDG_CONFIG_HOME si celui-ci est défini) : un fichier par machine, partagé avec le serveur MCP Equalang et conservé lors de la réinstallation ou de la mise à jour de cette compétence. L'utilisateur crée la clé sur 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 dans l'environnement l'emporte sur le fichier. Sans clé, chaque commande répond en indiquant comment en obtenir une et où elle va. N'inventez jamais de clé – demandez à l'utilisateur.

Commandes

Exécutez depuis le répertoire de cette compétence ; python3 et rien d'autre n'est nécessaire. Chaque commande imprime un objet JSON ; --help liste les indicateurs d'une commande.

# Combien cela coûterait-il ? Télécharge sans rien démarrer ; gratuit. `kept_until` indique combien de temps le téléchargement est conservé.
python3 scripts/equalang.py estimate report.pdf
#   -> {"file_id": "...", "credits_to_translate": 12.34, "credits_to_transcribe": null, ...}

# Traduire un fichier. Un chemin, une URL publique (Equalang la récupère), ou --file-id provenant de estimate.
python3 scripts/equalang.py translate report.pdf --to zh-CN
python3 scripts/equalang.py translate --file-id <file_id> --to zh-CN        # pas de second téléchargement
python3 scripts/equalang.py translate https://example.com/deck.pptx --to ja -o ./out

# Un enregistrement : sous-titres traduits, ou ce qui a été dit dans la langue parlée.
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

# Chaînes en masse (chacune traduite individuellement ; au maximum 50 de 5 000 caractères, 20 000 par appel).
python3 scripts/equalang.py text "Save changes" "Delete project" --to de
# Un long texte brut – un article, des notes, un .md – jusqu'à 100 000 caractères. Equalang le découpe aux phrases : ne le divisez jamais vous-même.
python3 scripts/equalang.py text --file notes.md --to ja -o notes.ja.md

# Consulter une tâche à nouveau · en arrêter une · le solde · les codes de langue (aucune clé nécessaire)
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

Lecture de la sortie

Une tâche terminée affiche outputs (chacun avec son path) et credits_charged. Informez l'utilisateur des deux. Ne lisez pas un fichier produit pour le résumer sauf demande explicite : c'est un document entier, et l'intérêt d'un chemin est que son contenu reste hors de la conversation.

Un échec affiche {"error", "code", "retryable"} et quitte avec le code 1. Ne réessayez que lorsque retryable est vrai ; INSUFFICIENT_CREDITS signifie que l'utilisateur recharge son compte sur https://equalang.com/pricing, pas que vous réessayez.

À savoir

  • Formats. Documents : pdf, docx, pptx, xlsx, epub, html, txt. Sous-titres : srt, vtt. Images : jpg, png, webp, bmp. Enregistrements : mp3, m4a, wav, flac, ogg, aac, opus, mp4, mov, webm, mkv. Jusqu'à 100 Mo. transcribe ne prend que les enregistrements.
  • Les résultats ne sont jamais écrasés. Ils atterrissent à côté d'une source locale (ou dans -o DIR, ou le répertoire courant pour une URL) sous le nom qu'Equalang leur donne ; un nom déjà pris reçoit (1). Demander status à nouveau sur une tâche terminée nomme les fichiers déjà écrits plutôt que de les copier.
  • Des minutes, pas des secondes, pour les fichiers longs. La commande attend et affiche la progression sur stderr. L'interrompre n'annule pas la tâche : status <job_id> la reprend, cancel <job_id> l'arrête. Une tâche annulée ou échouée n'est pas facturée.
  • Un enregistrement est facturé pour la parole effectivement entendue – le silence et la musique ne le sont pas – donc cela coûte généralement moins que ce qu'estimate a dit ; un document coûte ce qu'estimate a dit.
  • Les codes de langue ressemblent à en, zh-CN, zh-TW, ja, pt. Ils sont lus depuis l'API en direct, jamais depuis la mémoire : languages liste ceux que les fichiers acceptent, languages --kind text l'ensemble plus large que text accepte, et languages chinese en trouve un par son nom. Omettez --source-language pour qu'il soit détecté.
  • Plusieurs fichiers ? Estimez chacun, additionnez les nombres et demandez une seule fois – ne parcourez jamais un dossier en boucle de votre propre chef.
  • L'API derrière cela, pour tout ce que le script ne fait pas : https://equalang.com/llms.txt

Skills associés