Install
openclaw skills install @catorch/pagetranslate-pdf-translatorUse this skill whenever the user wants a PDF translated into another language and returned as a PDF with its pages, tables, fonts and images in place: manuals, contracts, reports, papers, brochures, large PDFs. Uploads the file to PageTranslate, shows the exact price first, and downloads the translated PDF.
openclaw skills install @catorch/pagetranslate-pdf-translatorTranslate a PDF with PageTranslate and get a PDF back: the same pages, tables, fonts and images, in the new language.
PageTranslate translates the file itself, not pasted text. For a sentence or a paragraph, translate it yourself.
.pdf file and a language, or asks to translate a PDF.es, fr, de, it, ja, ko, ar, hi, ru.
Use pt-BR for Brazilian Portuguese, zh for Simplified and zh-TW for Traditional Chinese.
The source language is detected. If the user did not name a target language, ask.PAGETRANSLATE_API_KEY.Use the pagetranslate MCP tools when they are available. Otherwise use curl (next section).
upload_document with the file's absolute path and the target language. It returns
job_id, word_count, price and next_step.payment_url, give the user that link. They pay by card in the browser,
and the translation starts by itself.0.00 (covered by the account's word balance), call start_translation.get_translation about every 30 seconds until status is completed. If
status is failed, tell the user the reason given.download_translation with output_dir set to the source file's folder. It never
overwrites a file. Tell the user the saved path.list_translations shows earlier jobs, for example to download one again.
Same steps over HTTPS. Every request carries Authorization: Bearer $PAGETRANSLATE_API_KEY.
API=https://api.pagetranslate.ai/api/v1
# 1. Upload (free). The response has job_id and quote.total_cents.
curl -sS -X POST "$API/upload/" -H "Authorization: Bearer $PAGETRANSLATE_API_KEY" \
-F "file=@/path/to/file" -F "requested_language=es"
# 2. Start from the account's word balance. A 400 "Insufficient credits" means the user
# pays by card at https://pagetranslate.ai/dashboard?resume=JOB_ID#upload instead.
curl -sS -X POST "$API/jobs/JOB_ID/translate" -H "Authorization: Bearer $PAGETRANSLATE_API_KEY" \
-H "Content-Type: application/json" -d '{}'
# 3. Poll until "status" is "completed" ("payment_status" shows whether it was paid).
curl -sS "$API/jobs/JOB_ID" -H "Authorization: Bearer $PAGETRANSLATE_API_KEY"
# 4. Download. -OJ keeps the server's file name; run it in the folder to save into.
curl -sS -OJ "$API/jobs/JOB_ID/download" -H "Authorization: Bearer $PAGETRANSLATE_API_KEY"
job-<id>-es.pdf). Tell the user the path.pending: the job is unpaid. Give the user the payment link again.payment_status is paid.