Files
SnapOtter/apps/docs/tools/pdf/convert-document.md
T
SnapOtter 8532f3227b docs: audit all 157 tool pages against live schemas
Reconcile every tool page's parameters, defaults, and response shape against the tool's Zod settings schema and executionHint in code. Notable fixes: color-palette (add count + format params, hex output, median-cut algorithm), favicon (add 5 params, was documented as having none), qr-generate (add logoDataUri), convert (add ppm/eps/tga formats), video-loudnorm (-16 LUFS not -14), smart-crop (async 202 not sync 200), images-to-video (1080x1080 square), and several output-filename and behavior-note corrections.

Also normalize API endpoint paths to /api/v1/tools/<id> (no modality segment) and standardize curl examples on the Docker API port 1349. Verified with a clean docs build.
2026-06-18 14:12:28 +08:00

1.2 KiB

description
description
Convert between Word, OpenDocument, RTF, and plain text formats.

Convert Document

Convert documents between Word (DOCX), OpenDocument (ODT), RTF, and plain text formats using LibreOffice.

API Endpoint

POST /api/v1/tools/convert-document

Accepts multipart form data with a Word/ODT/RTF/TXT file and a JSON settings field.

Parameters

Parameter Type Required Default Description
format string Yes - Output format: docx, odt, rtf, txt

Example Request

curl -X POST http://localhost:1349/api/v1/tools/convert-document \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@report.docx" \
  -F 'settings={"format": "odt"}'

Example Response

Returns 202 Accepted. Track progress via SSE at /api/v1/jobs/{jobId}/progress.

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Notes

  • Accepted input formats: .docx, .doc, .odt, .rtf, .txt.
  • Conversion is handled by LibreOffice running headless on the server.
  • Complex formatting (macros, embedded objects) may not survive conversion between formats.
  • The output format must differ from the input format.