# medien.halowerk.com Document Diff

> medien.halowerk.com Document Diff is a paid API for AI agents from medien.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Compares two documents paragraph-by-paragraph, identifying added, removed, and reworded blocks with word-level change highlighting plus structural metadata counts.

## Facts

- Endpoint: POST https://medien.halowerk.com/v1/doc-diff
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/medien-halowerk-com-document-diff-a500bfcd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LWoP7QE7j_Ignh-bij9V5

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 medien-halowerk-com-document-diff-a500bfcd -d '<json body>'
```

Example prompt: Compare these two contract drafts for me — here's the original URL and the revised URL — and show me exactly which paragraphs changed, what words were added or removed in each, and how the heading and table counts differ between them.

## When to prefer this

Choose this endpoint when you need granular, word-level diff analysis between two documents rather than just a high-level summary of changes. It is especially valuable for legal, compliance, or editorial workflows where a single changed number or word matters. Unlike generic file comparison tools, it works on multiple input formats (URL, base64, raw text), operates at the paragraph level for readable diffs, and also reports structural metadata counts for both sides.

## Known failure modes

- Unsupported document format or corrupt file returns an error
- URL-fetched document is inaccessible or returns non-200 status
- Base64 payload is malformed or truncated
- Documents are identical — returns empty diff with matching structural counts
- Very large documents may time out or hit size limits
- Language or encoding issues may affect text extraction accuracy

## How this service works

Takes two documents, by URL, inline base64 or raw text, extracts the text of each and compares them. Paragraphs are the unit: the answer lists every block that was removed, added, or kept but reworded, and for reworded blocks it names the individual words that went and came, so a single changed number in a long clause is visible instead of the whole clause being flagged. Alongside the content diff a structural comparison reports headings, paragraph, list and table-line counts on both sides.

## Output

A structured diff listing every paragraph block as removed, added, or reworded; for reworded blocks, the specific words that were deleted and inserted are named individually. Additionally, a structural comparison provides heading, paragraph, list, and table-line counts for both input documents side by side.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "a": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048
    },
    "text": {
     "type": "string",
     "maxLength": 400000
    },
    "format": {
     "enum": [
      "auto",
      "pdf",
      "docx",
      "odt",
      "epub",
      "html",
      "markdown",
      "rst",
      "org",
      "latex",
      "rtf",
      "csv",
      "tsv",
      "text"
     ],
     "type": "string",
     "default": "auto"
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000
    }
   },
   "description": "The earlier version. Exactly one of url, content_base64 or text.",
   "additionalProperties": false
  },
  "b": {
   "type": "object",
   "properties": {
    "url": {
     "type": "string",
     "maxLength": 2048
    },
    "text": {
     "type": "string",
     "maxLength": 400000
    },
    "format": {
     "enum": [
      "auto",
      "pdf",
      "docx",
      "odt",
      "epub",
      "html",
      "markdown",
      "rst",
      "org",
      "latex",
      "rtf",
      "csv",
      "tsv",
      "text"
     ],
     "type": "string",
     "default": "auto"
    },
    "filename": {
     "type": "string",
     "maxLength": 260
    },
    "content_base64": {
     "type": "string",
     "maxLength": 12000000
    }
   },
   "description": "The later version. Same shape as a.",
   "additionalProperties": false
  },
  "ignore_case": {
   "type": "boolean",
   "default": false,
   "description": "Compare case-insensitively."
  },
  "block_char_limit": {
   "type": "integer",
   "default": 1200,
   "maximum": 8000,
   "minimum": 80,
   "description": "Longer block texts are shortened in the answer; the diff itself always runs on the full text."
  },
  "ignore_whitespace": {
   "type": "boolean",
   "default": true,
   "description": "Treat runs of spaces and tabs as one space before comparing."
  },
  "include_unchanged": {
   "type": "boolean",
   "default": false,
   "description": "Also list the unchanged blocks. Off by default — the changes are the answer."
  },
  "max_blocks_returned": {
   "type": "integer",
   "default": 300,
   "maximum": 2000,
   "minimum": 10,
   "description": "Ceiling on returned blocks. What is dropped is counted and reported, never silently cut."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/medien-halowerk-com-document-diff-a500bfcd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from medien.halowerk.com](https://www.zero.xyz/host/medien.halowerk.com/llms.txt)
