mcpField
B
byted-tos-doc-process

byted-tos-doc-process

github.com/bytedanceDocuments47748 installsUpdated today
Repository

About byted-tos-doc-process

A skill for previewing and converting office documents stored in Volcengine TOS. It provides page counts, PDF and image exports, HTML preview URLs, and page-range processing without editing document contents.

Key features

  1. 01Convert documents to PDF
  2. 02Export a page as PNG or JPG
  3. 03Read total page count
  4. 04Resolve HTML preview URLs
  5. 05Batch-export PDF pages as images
  6. 06Export between TOS locations

Use cases

  1. 01Convert a DOCX in TOS to PDF
  2. 02Create a PNG or JPG preview of a page
  3. 03Check page count or an HTML preview link
  4. 04Export images for multiple PDF pages

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/bytedance/agentkit-samples --skill byted-tos-doc-process

After installing, type/byted-tos-doc-processin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

LICENSE
README.md
REFERENCE.md
requirements.txt
WORKFLOWS.md
scripts/
doc_batch_screenshot.py
doc_preview_html_url.py
doc_preview_jpg.py
doc_preview_params.py
doc_preview_pdf.py
doc_preview_png.py
doc_preview_process.py
doc_total_page.py

Details

From the project README

Volcengine TOS Document Process

Preview and convert office documents stored in Volcengine TOS — PDF/PNG/JPG conversion, page count, HTML preview URL, and page-range export.

Setup (once per environment)

Install dependencies on first use:

cd {baseDir}
pip install -r {baseDir}/requirements.txt

Then run scripts with Python 3.7+:

python3 {baseDir}/scripts/<script>.py <args>

If you see a ModuleNotFoundError for tos, reinstall dependencies.

Environment Variables

This skill relies on the TOS identity declared in the metadata block. Common runtime variables are:

Environment VariableRequiredDescription
TOS_ACCESS_KEYYesTOS access key ID
TOS_SECRET_KEYYesTOS secret access key
TOS_ENDPOINTYesTOS endpoint URL
TOS_REGIONYesTOS region
TOS_BUCKETYesSource bucket that stores the document
TOS_OBJECT_KEYNoSource object key of the document. Can be overridden with --key
TOS_SECURITY_TOKENNoSTS session token when using temporary credentials

Quick start (common tasks)

# Convert document to PDF
python3 {baseDir}/scripts/doc_preview_pdf.py --key report.docx --output preview.pdf

# Preview page 2 as PNG
python3 {baseDir}/scripts/doc_preview_png.py --key report.docx --page 2 --output page_2.png

# Preview page 2 as JPG
python3 {baseDir}/scripts/doc_preview_jpg.py --key report.docx --page 2 --output page_2.jpg

# Get total page count
python3 {baseDir}/scripts/doc_total_page.py --key report.docx --dest-type pdf

# Resolve HTML preview URL
python3 {baseDir}/scripts/doc_preview_html_url.py --key report.docx

# Batch export page range to TOS
python3 {baseDir}/scripts/doc_preview_process.py --key report.docx \
  --dest-type jpg --img-mode 1 --start-page 1 --end-page 3 \
  --saveas-bucket "output-bucket" --saveas-object "export/page_{Page}.jpg"

# Batch screenshot a PDF page range
python3 {baseDir}/scripts/doc_batch_screenshot.py --key test.pdf \
  --format png --start-page 1 --end-page 3 \
  --saveas-object "skill-test/doc/{Page}.png"

Available scripts

ScriptPurpose
scripts/doc_preview_pdf.pyConvert document to PDF and save locally.
scripts/doc_preview_png.pyRender a single page as PNG.
scripts/doc_preview_jpg.pyRender a single page as JPG.
scripts/doc_total_page.pyRead total page count via x-tos-total-page header.
scripts/doc_preview_html_url.pyResolve the final HTML preview URL (follows redirects and extracts tokens).
scripts/doc_preview_process.pyGeneric doc-preview with full parameter control; supports TOS-to-TOS export.
scripts/doc_preview_params.pyHelper library to build x-tos-doc-* query parameters consistently.
scripts/doc_batch_screenshot.pyBatch-export PDF pages as images through doc-preview batch mode.

All scripts support --key to override TOS_OBJECT_KEY. Structured scripts also support --json for machine-readable output, and doc_preview_process.py / doc_total_page.py support --dry-run to preview the resolved request. Run any script with -h for full usage.

Out of scope

  • Editing document contents (this skill is read-only preview/conversion).
  • Generic object storage tasks unrelated to document preview.
  • Local office conversion workflows that do not involve TOS.

Rules

  • Authentication: Authentication is provided by the TOS identity declared in the metadata block above. Object selection can be overridden per script with --key.
  • Pre-signed URL pattern: Document preview uses pre-signed URLs with x-tos-process=doc-preview and x-tos-doc-* query parameters, not the direct process keyword of get_object. Use doc_preview_params.py to build parameters consistently.
  • Batch screenshot constraint: doc_batch_screenshot.py currently requires a PDF source object and persists results back to TOS with a {Page} placeholder.
  • Save-as encoding: For doc-preview query-based save-as, the helper script automatically URL-safe-Base64 encodes x-tos-save-bucket and x-tos-save-object to match backend expectations.
  • Custom domain note: For buckets created after Jan 03, 2024, online HTML preview may require a custom domain rather than the default TOS domain.
  • Parameter source of truth: Official Volcengine TOS documentation is authoritative for the full doc-preview parameter matrix. When uncertain, check REFERENCE.md.
  • Language: Reply in the user's preferred language.

Further reading

Comments

Markdown supported