{"uid":"cap_byPjsJh9Z6kjO8l3Y6f9_","slug":"workflows-agentdiet-dev-web-url-html-distiller-with-bm25-budget-control-9ef52aab","name":"Web URL / HTML Distiller with BM25 Budget Control","description":"Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://workflows.agentdiet.dev/v1/clean-html)","url":"https://workflows.agentdiet.dev/v1/clean-html?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"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"}}},"responseSchema":{"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"}}}}},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"0.001","displayCostAsset":"USD","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"mpp","network":"tempo","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_D1hIa3_qqKM_-5BkU8aGA","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"workflows.agentdiet.dev","brandSlug":"workflows-agentdiet-dev-mpp","brandBaseUrl":"https://workflows.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches a URL or accepts raw HTML and distills it into compact, agent-ready content (markdown, structured JSON, skeleton outline, or BM25-ranked token-budgeted excerpt)","exampleAgentPrompt":"Fetch https://stripe.com/docs/payments and distill it into clean markdown, then use BM25 budget mode with the query 'payment intents' and a max of 500 tokens so I can fit it in my prompt.","exampleUseCases":[{"title":"Trim documentation into LLM context","prompt":"Distill https://docs.openai.com/api-reference into compact markdown for me — I need it small enough to fit in a single prompt without burning too many tokens."},{"title":"BM25 excerpt for research question","prompt":"I'm researching 'carbon offset markets' — can you fetch https://en.wikipedia.org/wiki/Carbon_offset and return only the most relevant 300-token excerpt using budget mode with that as the query?"},{"title":"Structure a product page for comparison","prompt":"Grab the HTML from this e-commerce product page and distill it in structured mode so I get the tables, metadata, and key fields in clean JSON — here's the raw HTML: <html>...</html>"}],"resultDescription":"Returns a 'data' object containing the distilled content (markdown text, structured JSON, skeleton outline, or BM25-ranked excerpt depending on mode), an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, and llm_cost_saved_usd, plus optional cache hit/miss status and billing details.","failureModes":["URL unreachable or returns non-200 — fetch failure error","HTML too short or empty — no content to distill","max_tokens too small for meaningful excerpt — may return minimal or truncated result","Invalid mode enum value — validation error","BM25 query missing when mode=budget — query required error","Rate limit or payment failure via x402 — 402 Payment Required"],"whenToPreferThis":"Choose this endpoint when you need to reduce the token footprint of a webpage before passing it to an LLM, especially when you have a specific query focus (BM25 budget mode) or a strict token ceiling. It is superior to raw web scraping when your goal is LLM-ready, compressed content rather than raw HTML. Prefer it over generic scraping APIs when you need built-in token budgeting, cost-savings proof, and multiple distillation modes (markdown, structured, skeleton).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:31:23.455Z","isFirstParty":false,"canonicalSlug":"workflows-agentdiet-dev-web-url-html-distiller-with-bm25-budget-control-9ef52aab"}