# Web Distillation with BM25 Budget Control

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

Fetches and distills a URL or raw HTML into clean Markdown, structured JSON, a skeleton outline, or a BM25-ranked token-budget excerpt focused on a query.

## Facts

- Endpoint: POST https://whale-momentum.agentdiet.dev/v1/rag-diet?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Provider: whale-momentum.agentdiet.dev
- Website: https://whale-momentum.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/whale-momentum-agentdiet-dev-web-distillation-with-bm25-budget-control-478e4b15
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-mv6ylTlxQndBIBn_04LT

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 whale-momentum-agentdiet-dev-web-distillation-with-bm25-budget-control-478e4b15 -d '<json body>'
```

Example prompt: Pull the content from https://docs.stripe.com/payments and distill it into clean markdown, keeping it under 2000 tokens focused on 'payment intents' so I can feed it into my LLM without blowing the context window.

## When to prefer this

Choose this endpoint when you need to preprocess web content before feeding it to an LLM and want provable token savings with an ROI breakdown. It is especially valuable in RAG pipelines where you must respect strict context windows, or when you want BM25-ranked relevance filtering to a specific query rather than full-page content. Prefer it over generic scrapers when token efficiency and structured output modes (markdown, JSON tables, skeleton, budget) matter.

## Known failure modes

- URL is unreachable or returns non-200 — distillation fails with fetch error
- HTML payload is empty or malformed — parser returns minimal or empty output
- max_tokens set below minimum of 20 — rejected with validation error
- BM25 query omitted when mode=budget — may return unranked or error response
- Rate limit or payment failure via x402 — returns 402 Payment Required

## How this service works

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

## Output

Returns a status field, a data object containing the distilled content (Markdown string, structured JSON, skeleton outline, or BM25 excerpt depending on mode), an roi_proof object with raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, roi_multiplier, and llm_cost_saved_usd, plus optional cache hit/miss metadata 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/whale-momentum-agentdiet-dev-web-distillation-with-bm25-budget-control-478e4b15/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from whale-momentum.agentdiet.dev](https://www.zero.xyz/host/whale-momentum.agentdiet.dev/llms.txt)
