{"x402Version":2,"resources":[{"resource":"https://fetchharbor.benlab.download/scrape","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"url":"https://example.com"},"method":"GET"},"output":{"type":"json","example":{"status":"success","url":"https://example.com","status_code":200,"content_type":"text/html; charset=utf-8","content":"..."}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"url":{"type":"string","format":"uri"},"status_code":{"type":"integer","minimum":100,"maximum":599},"content_type":{"type":["string","null"]},"content":{"type":"string"}},"required":["status","url","status_code","content_type","content"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/scrape","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"url":"https://example.com"},"method":"POST"},"output":{"type":"json","example":{"status":"success","url":"https://example.com","status_code":200,"content_type":"text/html; charset=utf-8","content":"..."}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"url":{"type":"string","format":"uri"},"status_code":{"type":"integer","minimum":100,"maximum":599},"content_type":{"type":["string","null"]},"content":{"type":"string"}},"required":["status","url","status_code","content_type","content"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/html-to-md","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"html":"<h1>Hello</h1>"},"method":"GET"},"output":{"type":"json","example":{"status":"success","markdown":"# Hello","character_count":7,"truncated":false}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"html":{"type":"string"}},"required":["html"],"additionalProperties":false}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"markdown":{"type":"string"},"character_count":{"type":"integer","minimum":0},"truncated":{"type":"boolean"}},"required":["status","markdown","character_count","truncated"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/html-to-md","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"html":"<h1>Hello</h1>"},"method":"POST"},"output":{"type":"json","example":{"status":"success","markdown":"# Hello","character_count":7,"truncated":false}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"html":{"type":"string"}},"required":["html"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"markdown":{"type":"string"},"character_count":{"type":"integer","minimum":0},"truncated":{"type":"boolean"}},"required":["status","markdown","character_count","truncated"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/pdf-parse","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","queryParams":{"url":"https://example.com/document.pdf"},"method":"GET"},"output":{"type":"json","example":{"status":"success","text":"...","page_count":1,"character_count":3}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"url":{"type":"string","format":"uri"}},"required":["url"],"additionalProperties":false}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"text":{"type":"string"},"page_count":{"type":"integer","minimum":0},"character_count":{"type":"integer","minimum":0}},"required":["status","text","page_count","character_count"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/pdf-parse","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"form-data","body":{"url":"https://example.com/document.pdf"},"method":"POST"},"output":{"type":"json","example":{"status":"success","text":"...","page_count":1,"character_count":3}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"file":{"type":"string","format":"binary"}},"anyOf":[{"required":["url"]},{"required":["file"]}],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"text":{"type":"string"},"page_count":{"type":"integer","minimum":0},"character_count":{"type":"integer","minimum":0}},"required":["status","text","page_count","character_count"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/chat","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"10000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"message":"Explain this topic briefly."},"method":"POST"},"output":{"type":"json","example":{"status":"success","model":"llama3.2:3b","response":"Hello! How can I help?","prompt_tokens":14,"response_tokens":8}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"message":{"type":"string","minLength":1,"maxLength":8000}},"required":["message"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"model":{"type":"string"},"response":{"type":"string"},"prompt_tokens":{"type":["integer","null"],"minimum":0},"response_tokens":{"type":["integer","null"],"minimum":0}},"required":["status","model","response","prompt_tokens","response_tokens"],"additionalProperties":false}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/v1/audio/speech","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"40000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"input":"Welcome to FetchHarbor.","voice":"af_sarah"},"method":"POST"},"output":{"type":"json","example":{"status":"success","audio_base64":"UklGRg...","format":"wav","sample_rate":24000,"duration_seconds":1.2,"voice":"af_sarah"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"input":{"type":"string","minLength":1,"maxLength":2000},"voice":{"type":"string","enum":["af_sarah","af_heart","am_adam","am_michael"]},"response_format":{"type":"string","const":"wav"},"speed":{"type":"number","minimum":0.75,"maximum":1.25}},"required":["input"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"audio_base64":{"type":"string","contentEncoding":"base64"},"format":{"type":"string"},"duration_seconds":{"type":"number"}},"required":["status","audio_base64","format"],"additionalProperties":true}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/audio/transcribe","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"25000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"audio_base64":"UklGRg..."},"method":"POST"},"output":{"type":"json","example":{"status":"success","text":"Hello","language":"en","duration_seconds":1.2,"model":"faster-whisper-small"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"audio_base64":{"type":"string","contentEncoding":"base64","description":"Base64-encoded audio; decoded size is operator limited."},"language":{"type":["string","null"],"maxLength":16}},"required":["audio_base64"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"text":{"type":"string"},"language":{"type":"string"},"language_probability":{"type":"number"},"duration_seconds":{"type":"number"},"model":{"type":"string"}},"required":["status","text","language","duration_seconds","model"],"additionalProperties":true}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/audio/subtitles","type":"http","x402Version":2,"description":"Transcribe bounded audio and generate deterministic SRT or WebVTT subtitle text locally. Audio, transcripts, and subtitles are not retained.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"35000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"audio_base64":"UklGRg...","format":"srt"},"method":"POST"},"output":{"type":"json","example":{"status":"success","text":"Hello","format":"srt","subtitles":"1\n00:00:00,000 --> 00:00:01,200\nHello"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"audio_base64":{"type":"string","contentEncoding":"base64","description":"Base64-encoded audio; decoded size is operator limited."},"language":{"type":["string","null"],"maxLength":16},"format":{"type":"string","enum":["srt","vtt"]}},"required":["audio_base64"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"text":{"type":"string"},"language":{"type":"string"},"language_probability":{"type":"number"},"duration_seconds":{"type":"number"},"model":{"type":"string"},"format":{"type":"string","enum":["srt","vtt"]},"subtitles":{"type":"string"}},"required":["status","text","format","subtitles"],"additionalProperties":true}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/audio/convert","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"15000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"audio_base64":"UklGRg...","format":"mp3"},"method":"POST"},"output":{"type":"json","example":{"status":"success","audio_base64":"SUQzBA...","format":"mp3"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"audio_base64":{"type":"string","contentEncoding":"base64","description":"Base64-encoded audio; decoded size is operator limited."},"language":{"type":["string","null"],"maxLength":16},"format":{"type":"string","enum":["wav","mp3","opus","flac"]}},"required":["audio_base64"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"audio_base64":{"type":"string","contentEncoding":"base64"},"format":{"type":"string"},"duration_seconds":{"type":"number"}},"required":["status","audio_base64","format"],"additionalProperties":true}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://fetchharbor.benlab.download/audio/transcribe-summary","type":"http","x402Version":2,"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.","accepts":[{"scheme":"exact","network":"eip155:8453","amount":"50000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xAED4a496Fed1132b94C0A5f9Fb5eE7cf63D869C2","maxTimeoutSeconds":300,"extra":{"name":"USD Coin","version":"2"}}],"extensions":{"bazaar":{"info":{"input":{"type":"http","bodyType":"json","body":{"audio_base64":"UklGRg..."},"method":"POST"},"output":{"type":"json","example":{"status":"success","text":"Transcript...","language":"en","duration_seconds":12.4,"model":"faster-whisper-small","summary":"Summary...","summary_model":"llama3.2:3b"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["POST","PUT","PATCH"]},"bodyType":{"type":"string","enum":["json","form-data","text"]},"body":{"type":"object","properties":{"audio_base64":{"type":"string","contentEncoding":"base64","description":"Base64-encoded audio; decoded size is operator limited."},"language":{"type":["string","null"],"maxLength":16}},"required":["audio_base64"],"additionalProperties":false}},"required":["type","method","bodyType","body"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"status":{"type":"string","const":"success"},"text":{"type":"string"},"language":{"type":"string"},"language_probability":{"type":"number"},"duration_seconds":{"type":"number"},"model":{"type":"string"},"summary":{"type":"string"},"summary_model":{"type":"string"}},"required":["status","text","language","duration_seconds","model","summary","summary_model"],"additionalProperties":true}},"required":["type"]}},"required":["input"]}}}}]}