[{"name":"scrape","path":"/scrape","methods":["GET","POST"],"price_usdc":"0.01","description":"Fetch one public HTTP(S) URL for research, extraction, or agent workflows. Returns the final URL, upstream status, content type, and decoded content. Private, local, metadata, and reserved destinations are blocked; redirects are revalidated and response size and duration are bounded."},{"name":"html-to-md","path":"/html-to-md","methods":["GET","POST"],"price_usdc":"0.005","description":"Convert a supplied HTML string into deterministic, LLM-ready Markdown. Preserves headings, links, lists, emphasis, and code without fetching a URL or invoking an AI model. Input is bounded to 2,000,000 characters."},{"name":"pdf-parse","path":"/pdf-parse","methods":["GET","POST"],"price_usdc":"0.01","description":"Extract embedded text from a public PDF URL or multipart upload for research and retrieval pipelines. Returns text, page count, and character count; scanned-image OCR is not included. Remote and uploaded PDFs are limited to the operator-configured maximum size."},{"name":"chat","path":"/chat","methods":["POST"],"price_usdc":"0.01","description":"Generate one bounded assistant response with the operator's self-hosted Ollama model. Use for short, single-message inference where local processing is preferred. Accepts up to 8,000 characters and returns the model name, response text, and token counts when Ollama supplies them."},{"name":"audio-speech","path":"/v1/audio/speech","methods":["POST"],"price_usdc":"0.04","description":"Generate private, locally processed English speech from bounded text. Returns WAV audio as base64 JSON, uses a fixed voice allowlist, and does not retain or log submitted text."},{"name":"audio-transcribe","path":"/audio/transcribe","methods":["POST"],"price_usdc":"0.025","description":"Transcribe up to five minutes of base64 audio in the isolated local media worker. Returns detected language, duration, and text without retaining the source audio or transcript."},{"name":"audio-subtitles","path":"/audio/subtitles","methods":["POST"],"price_usdc":"0.035","description":"Transcribe bounded audio and generate deterministic SRT or WebVTT subtitle text locally. Audio, transcripts, and subtitles are not retained."},{"name":"audio-convert","path":"/audio/convert","methods":["POST"],"price_usdc":"0.015","description":"Convert bounded audio to WAV, MP3, Opus, or FLAC with fixed server-side FFmpeg arguments in an isolated worker. Returns base64 JSON and retains no media."},{"name":"audio-transcribe-summary","path":"/audio/transcribe-summary","methods":["POST"],"price_usdc":"0.05","description":"Transcribe bounded audio and explicitly pass the resulting text to the operator's local Ollama model for a concise summary. No input or output content is retained."}]