# Web Content Distiller with BM25 Budget Control

> Web Content Distiller with BM25 Budget Control is a paid API for AI agents from mesh.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-28).

Fetches and compresses a URL or raw HTML into Markdown, structured JSON, skeleton outline, or a BM25-ranked token-budget excerpt

## Facts

- Endpoint: POST https://mesh.agentdiet.dev/v1/prompt-compress?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Provider: mesh.agentdiet.dev
- Website: https://mesh.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/mesh-agentdiet-dev-web-content-distiller-with-bm25-budget-control-f9a3b1ef
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mNijvcPIsuxH1kf11TAXc

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 mesh-agentdiet-dev-web-content-distiller-with-bm25-budget-control-f9a3b1ef -d '<json body>'
```

Example prompt: Can you distill https://stripe.com/docs/api into clean Markdown, keeping only the content relevant to 'webhook event types' and capping the output at 500 tokens?

## When to prefer this

Choose this endpoint when you need to reduce the token footprint of web content before passing it to an LLM, especially when working within tight context windows or trying to minimize LLM API costs. It is ideal when you need a focused excerpt (BM25 budget mode with a query) rather than a full-page summary, or when you want structured JSON tables extracted from a webpage rather than raw text. Prefer it over generic scrapers when ROI proof and compression metrics matter to your pipeline.

## Known failure modes

- URL unreachable or returns non-200 — fetch failure, no distilled output
- HTML payload is empty or malformed — distillation returns minimal or empty content
- max_tokens set below minimum of 20 — validation error
- mode=budget used without a query parameter — BM25 ranking cannot focus, may return generic excerpt
- Webpage is behind authentication or a CAPTCHA — fetch blocked, no content returned
- Very large HTML payloads may exceed processing limits — partial distillation or timeout

## How this service works

Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://mesh.agentdiet.dev/v1/prompt-compress)

## Output

Returns a 'data' object containing the distilled content (Markdown text, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt depending on mode), plus an 'roi_proof' object showing raw vs distilled token counts, compression ratio percentage, tokens saved, and estimated LLM cost saved in USD. Also includes cache hit/miss status and billing details.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "minLength": 1,
   "description": "Target webpage URL to fetch and distill (or builtin://stripe-docs)"
  },
  "html": {
   "type": "string",
   "description": "Optional raw HTML string to distill directly without fetching"
  },
  "mode": {
   "enum": [
    "markdown",
    "structured",
    "skeleton",
    "budget"
   ],
   "type": "string",
   "default": "markdown",
   "description": "Distillation mode"
  },
  "query": {
   "type": "string",
   "description": "BM25 focus query when mode=budget"
  },
  "max_tokens": {
   "type": "integer",
   "minimum": 20,
   "description": "Strict token budget ceiling when mode=budget"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "roi_proof",
  "data"
 ],
 "properties": {
  "data": {
   "type": "object",
   "description": "Distilled Markdown, structured JSON tables/metadata, skeleton outline, or BM25 budget excerpt."
  },
  "cache": {
   "type": "object",
   "properties": {
    "status": {
     "enum": [
      "HIT",
      "MISS"
     ],
     "type": "string"
    },
    "cache_key": {
     "type": "string"
    },
    "latency_ms": {
     "type": "number"
    }
   }
  },
  "status": {
   "type": "string",
   "description": "Execution status ('ok')"
  },
  "billing": {
   "type": "object",
   "properties": {
    "agent_id": {
     "type": "string"
    },
    "payment_method": {
     "type": "string"
    },
    "fee_charged_usd": {
     "type": "number"
    }
   }
  },
  "roi_proof": {
   "type": "object",
   "properties": {
    "raw_tokens": {
     "type": "integer"
    },
    "tokens_saved": {
     "type": "integer"
    },
    "roi_multiplier": {
     "type": "number"
    },
    "distilled_tokens": {
     "type": "integer"
    },
    "llm_cost_saved_usd": {
     "type": "number"
    },
    "compression_ratio_pct": {
     "type": "number"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mesh-agentdiet-dev-web-content-distiller-with-bm25-budget-control-f9a3b1ef/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mesh.agentdiet.dev](https://www.zero.xyz/host/mesh.agentdiet.dev/llms.txt)
