Equalang
파일을 가리키면 파일을 업로드하고, 작업이 완료될 때까지 기다린 후 결과를 소스 파일 옆에 기록합니다. 파일의 내용은 절대 반환되지 않으며 경로만 반환됩니다. 레이아웃, 표, 이미지, 수식이 그대로 보존되고, 큰 데이터가 대화에 들어오지 않습니다.
작업은 사용자의 크레딧을 사용합니다. translate 또는 transcribe 명령을 실행하기 전에 비용을 알리고 사용자의 동의를 받으세요. estimate 명령은 무료로 파일의 비용을 알려줍니다.
설정
API 키는 ~/.config/equalang/.env ($XDG_CONFIG_HOME이 설정된 경우 그 아래)에 한 줄로 작성합니다: EQUALANG_API_KEY=el_.... 이 파일은 머신당 하나이며, Equalang MCP 서버와 공유되고 이 스킬이 재설치되거나 업데이트되어도 유지됩니다. 사용자는 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가 파일보다 우선합니다. 키가 없으면 모든 명령어는 키를 얻는 방법과 위치를 알려줍니다. 키를 임의로 생성하지 마세요. 사용자에게 물어보세요.
명령어
이 스킬의 디렉토리에서 실행하며 python3 이외에는 필요하지 않습니다. 모든 명령어는 하나의 JSON 객체를 출력합니다. --help는 명령어의 플래그 목록을 보여줍니다.
# 비용은 얼마인가요? 아무 작업도 시작하지 않고 업로드만 합니다. 무료. `kept_until`은 업로드가 보관되는 기간을 알려줍니다.
python3 scripts/equalang.py estimate report.pdf
# -> {"file_id": "...", "credits_to_translate": 12.34, "credits_to_transcribe": null, ...}
# 파일 번역. 경로, 공개 URL (Equalang이 가져옴), 또는 estimate의 --file-id 사용.
python3 scripts/equalang.py translate report.pdf --to zh-CN
python3 scripts/equalang.py translate --file-id <file_id> --to zh-CN # 두 번째 업로드 없음
python3 scripts/equalang.py translate https://example.com/deck.pptx --to ja -o ./out
# 녹음 파일: 번역된 자막 또는 해당 언어로 말한 내용 그대로.
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
# 대량 문자열 (각각 개별 번역. 최대 50개, 각 5000자, 호출당 20000자).
python3 scripts/equalang.py text "Save changes" "Delete project" --to de
# 긴 일반 텍스트 - 기사, 노트, .md 파일 - 최대 100,000자. Equalang이 문장 단위로 나눕니다. 직접 나누지 마세요.
python3 scripts/equalang.py text --file notes.md --to ja -o notes.ja.md
# 작업 다시 조회 · 작업 중단 · 잔액 확인 · 언어 코드 (키 불필요)
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
출력 읽기
완료된 작업은 outputs (각 path 포함)와 credits_charged를 출력합니다. 사용자에게 둘 다 알려주세요. 요청받지 않는 한 생성된 파일을 다시 읽어 요약하지 마세요. 전체 문서이며, 경로의 목적은 내용이 대화에 들어오지 않도록 하는 것입니다.
실패 시 {"error", "code", "retryable"}를 출력하고 종료 코드 1로 종료합니다. retryable이 true인 경우에만 재시도하세요. INSUFFICIENT_CREDITS는 사용자가 https://equalang.com/pricing 에서 충전해야 함을 의미하며, 다시 시도하지 마세요.
알아두면 좋은 점
- 형식. 문서: pdf, docx, pptx, xlsx, epub, html, txt. 자막: srt, vtt. 이미지: jpg, png, webp, bmp. 녹음 파일: mp3, m4a, wav, flac, ogg, aac, opus, mp4, mov, webm, mkv. 최대 100 MB.
transcribe는 녹음 파일만 처리합니다. - 결과 파일을 덮어쓰지 않습니다. 로컬 소스 옆 (또는
-o DIR, URL의 경우 현재 디렉토리)에 Equalang이 지정한 이름으로 저장됩니다. 이미 사용 중인 이름이면(1)이 추가됩니다. 완료된 작업에 대해 다시status를 요청하면 이미 작성된 파일의 이름을 알려주며 복사하지 않습니다. - 긴 파일은 초 단위가 아닌 분 단위로 처리됩니다. 명령어는 대기하며 진행 상황을 stderr에 출력합니다. 명령을 중단해도 작업이 취소되지는 않습니다:
status <job_id>로 다시 확인하고,cancel <job_id>로 중단할 수 있습니다. 취소되거나 실패한 작업은 요금이 부과되지 않습니다. - 녹음 파일은 실제로 인식된 음성에 대해서만 요금이 부과됩니다 - 침묵이나 음악은 제외 - 따라서 일반적으로
estimate보다 비용이 적게 듭니다. 문서는estimate와 동일한 비용이 청구됩니다. - 언어 코드는
en,zh-CN,zh-TW,ja,pt형식입니다. 라이브 API에서 읽어오며, 메모리에 저장되지 않습니다:languages는 파일에서 사용 가능한 코드를,languages --kind text는text명령어가 지원하는 더 넓은 범위를,languages chinese는 이름으로 검색합니다.--source-language를 생략하면 자동으로 감지합니다. - 여러 파일인 경우? 각각을 추정하고 합계를 더한 후 한 번에 요청하세요. 사용자 동의 없이 폴더 전체를 반복하지 마세요.
- 이 스크립트가 처리하지 않는 추가 기능을 위한 API: https://equalang.com/llms.txt