# Tanod Docs PDF to Word Converter

> Tanod Docs PDF to Word Converter is a paid API for AI agents from docs.tanod.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-13).

Converts a PDF file to a DOCX (Word) document, returning the result as base64 or a temporary download URL.

## Facts

- Endpoint: POST https://docs.tanod.dev/v1/pdf/to-docx?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-docs-pdf-to-word-converter-acf45194
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_g_4SjElzIR6Yb3pO4wqer

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-docs-pdf-to-word-converter-acf45194 -d '<json body>'
```

Example prompt: Convert this PDF to a Word document for me — here's the URL: https://example.com/report.pdf — and give me a download link so the file doesn't clutter our conversation.

## When to prefer this

Choose this endpoint when you need to convert a PDF into a Microsoft Word (DOCX) file programmatically, especially when the PDF has a text layer. Use the URL output mode when the resulting file is large to keep it out of the context window. Note that this endpoint uses LibreOffice under the hood, so output fidelity is layout-based (text boxes, not reflowable text) — if the PDF is scanned, run OCR first via /v1/pdf/ocr before converting.

## Known failure modes

- PDF URL is private, internal, or IP-literal — request refused
- PDF exceeds 20 MB (URL) or 10 MB decoded (base64) — size limit error
- Page range references pages beyond document length
- Scanned PDF with no text layer converts as images only — OCR recommended first
- Complex layouts, multi-column pages, forms, or heavy vector graphics may convert poorly
- Neither url nor pdf_base64 provided — missing input error

## How this service works

Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.

## Output

Returns a JSON object containing the converted DOCX file either as inline base64 data or as a temporary download URL valid for 24 hours. Also includes metadata such as input/output byte counts, number of converted pages, any conversion warnings, a fidelity note explaining LibreOffice rendering limitations (text boxes, no reflowable text, tables not rebuilt), and flags for pages without a text layer.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 2048,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Public http(s) URL of the PDF (at most 20 MB; private, internal and IP-literal hosts are refused); or use pdf_base64."
  },
  "pages": {
   "anyOf": [
    {
     "type": "string",
     "pattern": "^[0-9a-zA-Z ,\\-]+$",
     "maxLength": 200,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Pages to convert (default all; at most 50 per call): N, N-M, N- (to the end), -M, last; comma separated, e.g. 1-50. Pages come out in document order."
  },
  "output": {
   "enum": [
    "base64",
    "url"
   ],
   "type": "string",
   "default": "base64",
   "description": "base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."
  },
  "pdf_base64": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 13398872,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "The PDF as base64 (at most 10 MB decoded per request); or use url."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "file": {
   "name": "converted.docx",
   "bytes": 5007,
   "data_base64": "UEsDBBQACAgIABKm... (trimmed: 6,676 base64 characters in the reply)",
   "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
  },
  "warnings": [],
  "operation": "pdf-to-docx",
  "input_bytes": 13264,
  "input_pages": 1,
  "output_bytes": 5007,
  "fidelity_note": "LibreOffice imports the PDF as drawing objects and text boxes, so the Word file looks like the PDF but is not reflowable text: each line of text is its own positioned text box, tables are not rebuilt as Word tables and links are not kept. Fidelity varies, and complex layouts, multi-column pages, forms and heavy vector graphics may convert poorly. A scanned page (an image with no text layer) stays an image: run OCR first (/v1/pdf/ocr).",
  "converted_pages": 1,
  "untrusted_content": true,
  "pages_without_text": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-docs-pdf-to-word-converter-acf45194/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from docs.tanod.dev](https://www.zero.xyz/host/docs.tanod.dev/llms.txt)
