Install
openclaw skills install @catorch/pagetranslate-book-translatorUse this skill whenever the user wants a whole book translated: an EPUB ebook, a novel or manuscript in DOCX, or a book-length PDF. One upload returns one translated file in the same format, so an EPUB stays an EPUB. Shows the exact price for the full word count before anything is charged.
openclaw skills install @catorch/pagetranslate-book-translatorTranslate a whole book with PageTranslate: an EPUB, a DOCX manuscript or a PDF. One upload, one translated file in the same format.
PageTranslate translates the file itself, not pasted text. For a sentence or a paragraph, translate it yourself.
.epub, or a book-length .docx or .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"
pt or pt-BR, zh or zh-TW.pending: the job is unpaid. Give the user the payment link again.payment_status is paid.