# Tanod Docs PDF Compress

> Tanod Docs PDF Compress 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).

Compresses a PDF file using lossless, recommended, or extreme image recompression to reduce file size

## Facts

- Endpoint: POST https://docs.tanod.dev/v1/pdf/compress?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-compress-10af1e6b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5qdhp63hpnEcd6-7vanwm

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-compress-10af1e6b -d '<json body>'
```

Example prompt: Can you compress this PDF for me — use extreme compression to get the file as small as possible? Here's the URL: https://example.com/report.pdf. Give me back a download link instead of the raw file.

## When to prefer this

Choose this endpoint when you need to reduce PDF file size for storage, email, or sharing, especially when you also want automatic removal of embedded JavaScript and XFA active content as a security benefit. Prefer it over generic file conversion tools when the input is already a PDF and the goal is compression with fine-grained control over image quality and DPI. The three compression levels (lossless, recommended, extreme) and the option to receive a download URL instead of inline base64 make it suitable for both quality-sensitive archival and aggressive size reduction workflows.

## Known failure modes

- PDF URL exceeds 20 MB or is not publicly accessible — request refused
- Base64 input exceeds 10 MB decoded — request refused
- Private, internal, or IP-literal host URLs are blocked — request refused
- Malformed or password-protected PDF — processing error returned
- image_quality or max_image_dpi out of allowed range — validation error
- Unsupported or corrupt PDF structure — pipeline failure

## 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 with the compressed PDF either inline as base64 or as a temporary download URL valid for 24 hours, along with metadata including original and final byte sizes, pages, saved percentage, compression level used, image recompression stats, and flags for any active content (JavaScript, XFA) that was removed.

## 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."
  },
  "level": {
   "enum": [
    "lossless",
    "recommended",
    "extreme"
   ],
   "type": "string",
   "default": "recommended",
   "description": "lossless: structure only; recommended: images JPEG q75 at most 150 dpi; extreme: q50 at most 96 dpi."
  },
  "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."
  },
  "image_quality": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 95,
     "minimum": 10
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Override the level's JPEG quality."
  },
  "max_image_dpi": {
   "anyOf": [
    {
     "type": "integer",
     "maximum": 600,
     "minimum": 50
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Override the level's image dpi ceiling."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "file": {
   "name": "compressed.pdf",
   "bytes": 85124,
   "pages": 6,
   "data_base64": "JVBERi0xLjcKJb/3... (trimmed: 113,500 base64 characters in the reply)",
   "content_type": "application/pdf"
  },
  "level": "extreme",
  "images": {
   "images": 0,
   "skipped": 0,
   "recompressed": 0
  },
  "method": "lossless",
  "operation": "compress",
  "unchanged": false,
  "bytes_after": 85124,
  "input_bytes": 140815,
  "input_pages": 6,
  "bytes_before": 140815,
  "output_bytes": 85124,
  "saved_percent": 39.5,
  "untrusted_content": true,
  "active_content_removed": {
   "xfa": 1,
   "javascript": 1
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-docs-pdf-compress-10af1e6b/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)
