{"protocolVersion":"0.2.6","name":"Busker","description":"Content-to-context toolkit for AI agents: stateless per-call paid transforms (HTML/PDF/OCR to markdown, structured extraction, RAG chunking, embeddings, reranking, URL fetch, format conversion, QR, image ops, object detection). Every call is paid via x402 (USDC on Base); failed requests are never charged.","url":"https://workbot1.oddsys.org/","preferredTransport":"HTTP+JSON","provider":{"organization":"Busker","url":"https://workbot1.oddsys.org"},"version":"0.14.1","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"transform","name":"RemoteSight HTML→Markdown","description":"Convert raw HTML into clean markdown. Typically cuts page tokens by 80-85% before they hit an LLM context window.","tags":["html","markdown","extraction","context-compression","scraping"],"examples":["POST https://workbot1.oddsys.org/transform"]},{"id":"pdf","name":"RemoteSight PDF→Markdown","description":"Extract clean markdown text from a PDF (text-layer PDFs; no OCR). Turns a document an agent can't cheaply read into compact tokens.","tags":["pdf","markdown","extraction","document","context-compression"],"examples":["POST https://workbot1.oddsys.org/pdf"]},{"id":"ocr","name":"RemoteSight PDF OCR","description":"OCR a scanned PDF into clean text (Tesseract, English, machine-printed documents). Up to 25 pages per call. PDFs that turn out to have a text layer are extracted the fast way at the same price.","tags":["ocr","pdf","scanned","extraction","document","tesseract"],"examples":["POST https://workbot1.oddsys.org/ocr"]},{"id":"ocr-deep","name":"Busker Deep OCR","description":"High-page-count OCR: scanned PDF into clean text (Tesseract, English, machine-printed documents), up to 100 pages per call — four times the /ocr cap. Runs under a 240s wall-clock budget; slower documents return the completed pages with truncatedReason \"time-budget\". Text-layer PDFs are extracted the fast way at the same price.","tags":["ocr","pdf","scanned","extraction","document","tesseract","batch","long-document"],"examples":["POST https://workbot1.oddsys.org/ocr-deep"]},{"id":"extract","name":"RemoteSight Structured Extract","description":"Extract structured JSON from a web page: title, byline, publish date, Open Graph/meta tags, embedded JSON-LD (schema.org), links, and images. Deterministic, no LLM.","tags":["html","extraction","metadata","json-ld","schema.org","scraping"],"examples":["POST https://workbot1.oddsys.org/extract"]},{"id":"chunk","name":"RemoteSight RAG Chunker","description":"Split a document into token-bounded chunks at natural boundaries (paragraphs/sentences), with optional overlap. Ready-to-embed pieces for RAG, no tokens spent on the splitting logic.","tags":["chunking","rag","text","embeddings","context"],"examples":["POST https://workbot1.oddsys.org/chunk"]},{"id":"convert","name":"RemoteSight Format Convert","description":"Convert data between JSON, YAML, CSV, and XML. Deterministic format juggling done off-context, with edge cases handled.","tags":["convert","json","yaml","csv","xml","data"],"examples":["POST https://workbot1.oddsys.org/convert"]},{"id":"qr","name":"Busker QR Generator","description":"Generate a QR code from text as PNG (base64) or SVG. Custom module size, quiet-zone margin, and hex colours. Deterministic, capacity-capped at 2953 bytes. Set delivery to \"url\" to receive a short-lived download link instead of inline data.","tags":["qr","qrcode","image","png","svg","generation"],"examples":["POST https://workbot1.oddsys.org/qr"]},{"id":"image","name":"Busker Image Tools","description":"Modify an image in one call: crop, resize, convert to greyscale, and re-encode (PNG/JPEG/WebP) — applied in that order, any combination. Deterministic, no upscaling surprises. Set delivery to \"url\" to receive a short-lived download link instead of inline base64.","tags":["image","resize","crop","greyscale","convert","png","jpeg","webp"],"examples":["POST https://workbot1.oddsys.org/image"]},{"id":"detect","name":"Busker Object Detection","description":"Detect and locate objects in an image (YOLOX-nano, COCO classes): people, pets (dog/cat/horse), vehicles, and 70+ more. Returns per-class counts and pixel bounding boxes. Detection only — no identification. Best on clear, medium-to-large objects.","tags":["detection","vision","image","people","vehicles","pets","yolox","counting"],"examples":["POST https://workbot1.oddsys.org/detect"]},{"id":"embed","name":"Busker Embeddings","description":"Generate sentence embeddings (all-MiniLM-L6-v2, 384-dim, mean-pooled + L2-normalized) for up to 96 texts per call. Drop-in compatible with any all-MiniLM-L6-v2 index. Pairs with /chunk for a complete RAG pipeline.","tags":["embeddings","vector","rag","semantic-search","minilm","nlp"],"examples":["POST https://workbot1.oddsys.org/embed"]},{"id":"rerank","name":"Busker Reranker","description":"Rerank candidate texts against a query with a cross-encoder (ms-marco-MiniLM-L-6-v2): joint query+document scoring, much sharper than cosine similarity over embeddings. Returns ranked indices with 0-1 relevance scores. Up to 64 texts per call. Pairs with /embed for a recall-then-precision RAG pipeline.","tags":["rerank","reranking","rag","search","relevance","cross-encoder","retrieval"],"examples":["POST https://workbot1.oddsys.org/rerank"]},{"id":"fetch","name":"Busker Fetch & Clean","description":"Fetch a public web page and return clean markdown (or structured JSON) — URL in, agent-ready content out, typically 80-85% fewer tokens than raw HTML. Handles redirects and compression.","tags":["fetch","scraping","url","markdown","web","context-compression"],"examples":["POST https://workbot1.oddsys.org/fetch"]},{"id":"fx","name":"Busker FX Rates","description":"Live foreign-exchange reference rates (European Central Bank daily fixes, ~30 major currencies): any cross-rate from any base, optional amount conversion. Refreshed daily; response carries the rate date.","tags":["fx","forex","exchange-rates","currency","usd","eur","finance","data"],"examples":["POST https://workbot1.oddsys.org/fx"]},{"id":"phone","name":"Busker Phone Validator","description":"Validate and normalize phone numbers (Google libphonenumber): validity, E.164/international/national formats, country, region, and line type (mobile/fixed/VoIP). Single number or batches up to 100.","tags":["phone","validation","e164","libphonenumber","normalization","data"],"examples":["POST https://workbot1.oddsys.org/phone"]},{"id":"decode-tx","name":"Busker Tx Decoder","description":"Decode EVM calldata or a Base-mainnet transaction into human-readable form: function selector, matched signature, named args, plus ERC-20/USDC transfer events from the receipt — verify an x402 settlement receipt (tx hash in, payer/payee/amount out) in one call.","tags":["evm","base","calldata","decode","transaction","x402","usdc","receipt","chain"],"examples":["POST https://workbot1.oddsys.org/decode-tx"]},{"id":"screen","name":"Busker Sanctions Screen","description":"Fuzzy sanctions screening against the US OFAC SDN list (public-domain source, refreshed daily): name in, scored matches with programs and aliases out. Batches up to 50. Coverage is OFAC SDN only — stated in every response.","tags":["sanctions","ofac","sdn","compliance","screening","kyc","risk","data"],"examples":["POST https://workbot1.oddsys.org/screen"]},{"id":"suggest","name":"Busker Suggestion Box","description":"FREE feature-request inbox: didn't find the capability you need? POST {\"want\": \"...\"} and steer which paid routes get built next.","tags":["feedback","feature-request","free"],"examples":["POST https://workbot1.oddsys.org/suggest"]}],"x-clients":{"mcp":{"package":"busker-mcp","install":"npx -y busker-mcp","registry":"https://www.npmjs.com/package/busker-mcp","note":"All skills as MCP tools; payment handled client-side via x402 with per-wallet serialisation."}},"x-payments":{"protocol":"x402","network":"eip155:8453","manifest":"https://workbot1.oddsys.org/.well-known/x402","priceRange":"$0.001-$0.03 USDC per call"}}