{"uid":"cap_sFxFnFtSHpv-mt4uHjMRm","slug":"hn-pulse-agentdiet-dev-web-distillation-with-bm25-budget-control-55c20485","name":"Web Distillation 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://hn-pulse.agentdiet.dev/api/diet)","url":"https://hn-pulse.agentdiet.dev/api/diet?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_DibqMttDgJ-Y0PEbUIrjG","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":"hn-pulse.agentdiet.dev","brandSlug":"hn-pulse-agentdiet-dev-mpp","brandBaseUrl":"https://hn-pulse.agentdiet.dev","brandDocsUrl":null,"whatItDoes":"Fetches and distills a URL or raw HTML into clean Markdown, structured JSON, a skeleton outline, or a BM25-ranked token-budget excerpt optimized for LLM consumption","exampleAgentPrompt":"Distill https://stripe.com/docs/api into clean markdown using budget mode, focus the BM25 query on 'payment intents' and keep it under 800 tokens so I can feed it to my LLM without blowing the context window.","exampleUseCases":[{"title":"Research article summarization for agents","prompt":"Fetch and distill https://arxiv.org/abs/2305.10601 into markdown mode so I can get the key points without loading the full paper into my context window."},{"title":"Token-budget extraction for RAG pipeline","prompt":"Pull this blog post at https://news.ycombinator.com/item?id=12345678, run it in budget mode with a BM25 query on 'rust memory safety', and cap the output at 400 tokens for my retrieval pipeline."},{"title":"Structured data scraping from documentation","prompt":"Take the raw HTML from the Stripe pricing page I'm pasting here and distill it in structured mode so I get clean JSON tables of the pricing tiers without all the navigation junk."}],"resultDescription":"Returns a JSON object with a 'data' field containing the distilled content (Markdown string, structured JSON tables/metadata, skeleton outline, or BM25-ranked excerpt depending on mode), an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, roi_multiplier, and llm_cost_saved_usd, plus optional cache status (HIT/MISS) and billing details.","failureModes":["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 too low (below 20) — validation error before processing","BM25 query provided without mode=budget — query may be ignored silently","Payment not authorized via x402 — 402 Payment Required response before processing","Target URL blocks automated fetching (bot protection) — partial or empty distillation"],"whenToPreferThis":"Choose this endpoint when you need to feed web content to an LLM but want to minimize token usage and cost — especially when you have a strict context budget or a specific topical focus. It is preferable over raw fetch+parse approaches because it returns pre-cleaned, LLM-ready content with quantified token savings. Use budget+BM25 mode when you only need the most relevant section of a long page. Use structured mode when you need tabular or metadata extraction rather than prose.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T06:30:26.463Z","isFirstParty":false,"canonicalSlug":"hn-pulse-agentdiet-dev-web-distillation-with-bm25-budget-control-98e2e683"}