{"version":"1.0.0","generated_at":"2026-08-28T06:51:28.846Z","server":{"name":"sats4ai-mcp","mcp_endpoint":"https://sats4ai.com/api/mcp","well_known":"https://sats4ai.com/.well-known/mcp","agent_card":"https://sats4ai.com/.well-known/agent.json","l402_manifest":"https://sats4ai.com/.well-known/l402-services","l402_discovery":"https://sats4ai.com/.well-known/l402","mpp_discovery":"https://sats4ai.com/.well-known/mpp","issues":"https://github.com/cnghockey/sats4ai-mcp-server/issues","discussions":"https://github.com/cnghockey/sats4ai-mcp-server/discussions"},"payment":{"protocol":"L402","network":"lightning","currency":"SAT","create_tool":"create_payment","check_tool":"check_payment_status"},"quickstart":{"description":"Translate a short string for ~1 sat — the minimal create → pay → call → result loop. Pays a REAL Lightning invoice (~1 sat); safe to run, not free.","transport":"JSON-RPC 2.0 over POST https://sats4ai.com/api/mcp. Each step is a tools/call with { name, arguments }. No signup and no API key — the paid invoice IS your authorization.","steps":[{"step":1,"why":"Quote + mint the invoice for the exact text you'll translate.","call":{"method":"tools/call","name":"create_payment","arguments":{"toolName":"translate_text","prompt":"Hello, world."}},"returns":"{ paymentId, lightningInvoice, amountSats (~1), hostedCheckoutUrl }"},{"step":2,"why":"Pay lightningInvoice with any Lightning wallet (or open hostedCheckoutUrl).","note":"No account is created. Paying the invoice is the only credential."},{"step":3,"why":"Confirm settlement before calling the service.","call":{"method":"tools/call","name":"check_payment_status","arguments":{"paymentId":"<paymentId from step 1>"}},"returns":"{ paid: true } once the invoice settles"},{"step":4,"why":"Run the service with the same paymentId.","call":{"method":"tools/call","name":"translate_text","arguments":{"paymentId":"<paymentId from step 1>","text":"Hello, world.","targetLanguage":"Spanish"}},"returns":"translated text"}],"on_failure":"Any post-payment failure returns a refund.lnurl_withdraw link — claim it in any LNURL wallet. No support ticket, no account needed."},"features":{"dedup":{"supported":false,"note":"Not implemented. Do not rely on retry-safety: a repeated authed request returns 403 Service already used, not a cached result."},"auto_routing":{"supported":true,"categories":["text-generation","image","audio"],"param":"model: 'auto'","routed_header":"X-Route-Model"},"async_jobs":{"supported":true,"response_status":202,"fields":["job_id","poll_url","poll_interval_ms"],"headers":["X-Job-Id","X-Poll-Url","X-Poll-Interval-Ms"]},"callbacks":{"supported":true,"opt_in":true,"body_fields":["callback_url","callback_id"],"signature_header":"X-Sats4AI-Signature","signature_algorithm":"HMAC-SHA256","url_requirements":"public HTTPS only, no loopback or RFC1918","id_max_length":128,"note":"Polling remains the default. callback_id is opaque — do not embed PII."},"refunds":{"supported":true,"type":"lnurl-withdraw","note":"Every post-payment failure includes a refund.lnurl_withdraw link"},"error_codes":{"supported":true,"response_field":"error_code","header":"X-Error-Code","catalog_url":"https://sats4ai.com/api/error-codes"},"url_path_model":{"supported":true,"pattern":"/api/m/{service}/{model}","note":"Convenience wrapper. Body field still wins if both are set."},"estimate_cost":{"supported":true,"endpoint":"https://sats4ai.com/api/estimate-cost"},"quality_assurance":{"delivery_checked":"weekly — 11 services are bought with real sats and the returned content asserted, not just the status code","delivery_rotation_note":"Covers the automated rotation, not every service. Audiobook has its own automated check every 6 hours; the fixture-dependent surfaces are checked by hand.","purchasability_checked":"daily — every advertised service is quoted to confirm it can actually be bought","payment_path_checked":"daily — real end-to-end paid round-trips against production","liveness_checked":"every 15 minutes","on_failure":"automatic LNURL refund in the error response — no ticket, no account, no email","improvements_carry_forward":"Fixes learned from one job apply to every later job. Audiobook pronunciation is the worked example: a name corrected once is spoken correctly in every book after it."}},"performance_schema":{"description":"Each tool includes a 'performance' object with latency estimates and failure modes to help agents choose the right tool.","fields":{"latency_ms":"Estimated latency in milliseconds. p50 = median, p95 = worst-case typical. Async tools measure time-to-first-poll-result.","reliability":"high = >99% success rate, medium = 95-99% (typically async/external-dependent tools).","failure_modes":"Known failure scenarios. On failure, a one-time LNURL-withdraw refund link is returned in the error response."}},"async_lifecycle":{"description":"Async tools return a requestId. Poll with check_job_status then get_job_result, or call await_result once to wait for the result (streams progress over SSE when the request uses Accept: text/event-stream).","job_types":["video","video-image","video-fal-standard","video-fal-pro","image-3d","transcription","epub-audiobook"],"statuses":["IN_PROGRESS","COMPLETED","FAILED"],"poll_interval_ms":5000,"max_wait_ms":600000,"on_failure":"On failure, error response includes a one-time LNURL-withdraw refund link (lnurl_withdraw field). Create a new payment to retry."},"tools":[{"name":"generate_image","category":"image","endpoint_type":"primitive","description":"Generate images from text prompts. Models: Grok Imagine, Seedream 4, Nano Banana 2. Stable endpoints — models upgrade as SOTA evolves. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/generate-image","pricing":{"type":"fixed","min":100,"max":200,"models":[{"id":2,"name":"Standard","sats":100,"isDefault":false},{"id":8,"name":"Better","sats":150,"isDefault":false},{"id":16,"name":"Best","sats":200,"isDefault":true}]},"input":{"required":["paymentId","prompt"],"optional":["modelId","imageBase64"]},"output":{"format":"{ image_url } or { image_base64 }"},"performance":{"latency_ms":{"p50":5000,"p95":12000},"reliability":"high","failure_modes":["prompt_rejected_by_safety_filter","upstream_timeout_on_complex_scenes"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.220Z","consecutive_failures":0}},{"name":"edit_image","category":"image","endpoint_type":"primitive","description":"Edit images with natural language instructions. Uses Nano Banana 2. Handles object addition/removal, style transfer, inpainting. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/edit-image","pricing":{"type":"tiered","min":200,"max":450,"tiers":{"1K":200,"2K":300,"4K":450},"note":"Resolution-tiered: 1K 200 / 2K 300 / 4K 450 sats.","models":[{"id":18,"name":"Best","sats":200,"isDefault":false}]},"input":{"required":["paymentId","prompt","imageBase64"],"optional":["aspectRatio","outputFormat"]},"output":{"format":"{ image_url, fallback }"},"performance":{"latency_ms":{"p50":6000,"p95":15000},"reliability":"high","failure_modes":["image_too_large","upstream_timeout"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.223Z","consecutive_failures":0}},{"name":"generate_video","category":"video","endpoint_type":"primitive","description":"Generate cinematic video from a text prompt with MiniMax H3 — top 2 on the Artificial Analysis text-to-video leaderboard — with native audio. 768p or 2K (2K upscaled from a 768p render), 5-15s. Pay with Bitcoin Lightning — no API key or signup needed. Async.","async":true,"job_type":"video","l402_endpoint":"https://sats4ai.com/api/l402/generate-video","pricing":{"type":"per_second","note":"Per second by resolution (fixed round rate; native audio free): 768p 250 / 2K 400 sats/sec.","sats_per_second":{"768p":250,"2K":400},"min":1250,"max":6000,"duration_seconds":{"min":5,"max":15},"models":[{"id":25,"name":"Video Generation","isDefault":true}]},"input":{"required":["paymentId","prompt","duration"],"optional":["modelId","resolution","reference_audio","reference_image","generate_audio"]},"output":{"format":"{ requestId } → poll → { videoUrl }"},"performance":{"latency_ms":{"p50":60000,"p95":180000},"reliability":"medium","failure_modes":["generation_timeout_on_long_clips","queue_delay_during_peak","safety_filter_rejection"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.296Z","consecutive_failures":0}},{"name":"animate_image","category":"video","endpoint_type":"primitive","description":"Animate a still image into cinematic video with MiniMax H3 (first frame + prompt). Native audio, 768p or 2K upscaled, 5-15s. Pay with Bitcoin Lightning — no API key or signup needed. Async.","async":true,"job_type":"video-image","l402_endpoint":"https://sats4ai.com/api/l402/animate-image","pricing":{"type":"per_second","note":"Per second by resolution (fixed round rate; native audio free): 768p 250 / 2K 400 sats/sec.","sats_per_second":{"768p":250,"2K":400},"min":1250,"max":6000,"duration_seconds":{"min":5,"max":15},"models":[{"id":24,"name":"Image to Video","isDefault":true}]},"input":{"required":["paymentId","prompt","imageBase64","duration"],"optional":["modelId","resolution"]},"output":{"format":"{ requestId } → poll → { videoUrl }"},"performance":{"latency_ms":{"p50":45000,"p95":120000},"reliability":"medium","failure_modes":["image_quality_too_low","generation_timeout","queue_delay_during_peak"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.309Z","consecutive_failures":0}},{"name":"generate_text","category":"text","endpoint_type":"primitive","untrusted_output":true,"description":"Generate text with frontier LLMs. Pure per-character pricing (no minimum). Models: Kimi K3 (best), GPT-OSS-120B (standard). Supports document Q&A and vision. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/generate-text","pricing":{"type":"dynamic","note":"Pure per-character pricing, no minimum. Standard: ~1000 chars/sat. Best: ~10 chars/sat. BTC-pegged and re-quoted hourly — the 402 challenge is authoritative.","min":4,"max":15,"models":[{"id":31,"name":"Standard","sats":4,"isDefault":false},{"id":1,"name":"Better","sats":5,"isDefault":false},{"id":6,"name":"Kimi K3","sats":15,"isDefault":true}]},"input":{"required":["paymentId","prompt"],"optional":["modelId","systemPrompt","maxTokens","fileContext","fileName","imageBase64"]},"output":{"format":"text"},"performance":{"latency_ms":{"p50":3000,"p95":10000},"reliability":"high","failure_modes":["context_too_long","rate_limited_upstream"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.146Z","consecutive_failures":0}},{"name":"translate_rare_language","category":"text","endpoint_type":"primitive","untrusted_output":true,"description":"Translate into 452 languages, 251 of them NOT supported by ChatGPT, Claude or Gemini (29 of those 251 measured at fair quality or better against human references) — Bhojpuri (~50M speakers), Maithili (~34M), Egyptian Arabic (~100M), Moroccan Arabic (~30M), Chhattisgarhi, Magahi, Manipuri, Kashmiri, Shan, Kachin, Awadhi, Tamazight, Crimean Tatar, Quechua, Nuer, Sango, plus indigenous and minority languages with no callable API anywhere. Runs MADLAD-400 (Apache-2.0) on our own GPU. Quality varies and is PUBLISHED PER LANGUAGE as a measured tier (good/fair/unverified/experimental) so you can judge before paying; the response repeats the tier. Unsupported languages are rejected before payment. For mainstream languages use translate_text (cheaper, more fluent).","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/translate-rare-language","pricing":{"type":"base_plus_per_char","base":50,"perChar":0.002,"note":"50 sats base (GPU cold start) + 0.002 sats/char"},"input":{"required":["paymentId","text","targetLanguage"]},"output":{"format":"{ translatedText, targetLanguage, targetLanguageName, quality: { tier, chrf } }"},"language_catalog":"https://sats4ai.com/api/languages","performance":{"latency_ms":{"p50":6000,"p95":60000},"reliability":"medium","failure_modes":["unsupported_language_rejected_pre_payment","gpu_cold_start_latency"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.215Z","consecutive_failures":0}},{"name":"translate_text","category":"text","endpoint_type":"primitive","untrusted_output":true,"description":"Translate text across 119 languages. Uses GPT-OSS 120B — top scorer in our multilingual translation evals, incl. low-resource languages. Auto-detects source. Privacy-preserving. Supported languages: Afrikaans, Albanian, Amharic, Arabic, Armenian, Assamese, Azerbaijani, Basque, Belarusian, Bengali, Bosnian, Bulgarian, Burmese, Catalan, Cebuano, Chichewa, Chinese (Simplified), Chinese (Traditional), Corsican, Croatian, Czech, Danish, Dari, Dutch, English, Esperanto, Estonian, Farsi, Fijian, Filipino, Finnish, French, Frisian, Galician, Georgian, German, Greek, Guarani, Gujarati, Haitian Creole, Hausa, Hawaiian, Hebrew, Hindi, Hmong, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Kinyarwanda, Korean, Kurdish, Kyrgyz, Lao, Latvian, Lingala, Lithuanian, Luganda, Luxembourgish, Macedonian, Malagasy, Malay, Malayalam, Maltese, Maori, Marathi, Mongolian, Nepali, Norwegian, Occitan, Odia, Pashto, Polish, Portuguese, Punjabi, Romanian, Romansh, Russian, Samoan, Scots Gaelic, Serbian, Sesotho, Setswana, Shona, Sindhi, Sinhala, Slovak, Slovenian, Somali, Spanish, Sundanese, Swahili, Swedish, Tajik, Tamil, Tatar, Telugu, Thai, Tigrinya, Tongan, Turkish, Turkmen, Ukrainian, Urdu, Uzbek, Vietnamese, Welsh, Wolof, Xhosa, Yiddish, Yoruba, Zulu. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/translate-text","pricing":{"type":"dynamic","note":"1 sat per 1000 characters, minimum 1 sat per request."},"input":{"required":["paymentId","text","targetLanguage"],"optional":["sourceLanguage","modelId"]},"output":{"format":"{ translatedText, sourceLanguage, targetLanguage }"},"performance":{"latency_ms":{"p50":2000,"p95":6000},"reliability":"high","failure_modes":["unsupported_language_pair","context_too_long"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.207Z","consecutive_failures":0}},{"name":"generate_music","category":"audio","endpoint_type":"primitive","description":"Generate full songs (up to 6 min) with natural AI vocals, BPM/key control (99%+ accuracy), and 14+ section tags for precise arrangement. Uses Music-2.6. Orchestral and traditional instruments, style-aware mixing. Prepaid with LNURL-withdraw refund on failure. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/generate-music","pricing":{"type":"fixed","min":500,"max":500,"models":[{"id":23,"name":"Music-2.6","sats":500,"isDefault":true}]},"billing":"prepaid","billing_detail":"Regular invoice with instant settlement. On failure, LNURL-withdraw refund link returned in error response.","input":{"required":["paymentId","prompt"],"optional":["modelId","lyrics","is_instrumental","lyrics_optimizer","sample_rate","bitrate","audio_format"]},"output":{"format":"{ audioUrl, billing }"},"performance":{"latency_ms":{"p50":40000,"p95":90000},"reliability":"high","failure_modes":["generation_timeout_on_long_tracks"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.320Z","consecutive_failures":0}},{"name":"text_to_speech","category":"audio","endpoint_type":"primitive","description":"Text-to-speech with 3 tiers: OmniVoice Global (602+ languages, zero-shot voice cloning, ~102 chars/sat), Inworld Premium (#1 ranked TTS ELO 1217, emotion control, ~15 chars/sat), Minimax Studio (voice cloning from reference clip, ~5 chars/sat). Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/text-to-speech","pricing":{"type":"fixed","min":1,"max":10,"models":[{"id":33,"name":"Inworld TTS 1.5 Max","sats":1,"isDefault":true},{"id":3,"name":"Minimax Speech-2.8-HD","sats":1,"isDefault":false},{"id":34,"name":"Inworld TTS 1.5 Mini","sats":1,"isDefault":false},{"id":43,"name":"OmniVoice TTS","sats":1,"isDefault":false},{"id":10,"name":"Transcription","sats":10,"isDefault":true}]},"input":{"required":["paymentId","text"],"optional":["modelId","voice","speed","language","voice_description"]},"output":{"format":"{ audioUrl }"},"performance":{"latency_ms":{"p50":4000,"p95":10000},"reliability":"high","failure_modes":["text_too_long_for_single_request","voice_id_not_found"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.330Z","consecutive_failures":0}},{"name":"transcribe_audio","category":"audio","endpoint_type":"primitive","untrusted_output":true,"description":"Transcribe audio to text with timestamped segments and ready-to-use SRT/VTT subtitle files. Uses Mistral Transcription. 13 languages, handles accents and background noise. Up to 60 minutes per file. Pay with Bitcoin Lightning — no API key or signup needed.","async":true,"job_type":"transcription","l402_endpoint":"https://sats4ai.com/api/l402/transcribe-audio","pricing":{"type":"per_minute","note":"Per-minute rate based on audio duration. Separate from TTS pricing."},"input":{"required":["paymentId","audioBase64"],"optional":["language"]},"output":{"format":"{ text, segments?, srt?, vtt? }"},"performance":{"latency_ms":{"p50":15000,"p95":60000},"reliability":"high","failure_modes":["audio_too_long","unsupported_format","corrupted_audio"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.347Z","consecutive_failures":0}},{"name":"transcribe_translate","category":"audio","endpoint_type":"recipe","untrusted_output":true,"description":"Compound — audio → transcript → translation in one payment. Auto-detects source language across 13 STT languages, translates to any of 119 target languages. WhatsApp voice message in Yoruba → English in one call; cheaper than chaining transcribe_audio + translate_text separately. Pay with Bitcoin Lightning — no API key or signup needed.","async":true,"job_type":"transcribe-translate","l402_endpoint":"https://sats4ai.com/api/l402/transcribe-translate","pricing":{"type":"bundle","note":"Flat bundle = STT base + 5 sats translate headroom + 15% compound margin."},"input":{"required":["paymentId","audioBase64","targetLanguage"],"optional":["sourceLanguage"]},"output":{"format":"{ transcript, translation, sourceLanguage, targetLanguage, translated }"},"performance":{"latency_ms":{"p50":18000,"p95":70000},"reliability":"high","failure_modes":["audio_too_long","unsupported_format","corrupted_audio","no_speech_detected"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.359Z","consecutive_failures":0}},{"name":"clone_voice","category":"audio","endpoint_type":"primitive","description":"Clone any voice from a single audio sample. Returns reusable voice_id for text_to_speech. High-fidelity reproduction. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/clone-voice","pricing":{"type":"fixed","amount":7500,"currency":"SAT"},"input":{"required":["paymentId","voiceFileUrl"],"optional":["model","accuracy"]},"output":{"format":"{ voice_id, model, message }"},"performance":{"latency_ms":{"p50":8000,"p95":20000},"reliability":"high","failure_modes":["audio_sample_too_short","poor_audio_quality"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.340Z","consecutive_failures":0}},{"name":"analyze_image","category":"vision","endpoint_type":"primitive","untrusted_output":true,"description":"Analyze images, answer visual questions, extract info from screenshots. Uses Qwen VL with strong OCR and spatial reasoning. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/analyze-image","pricing":{"type":"fixed","min":21,"max":21,"models":[{"id":5,"name":"Vision Chat","sats":21,"isDefault":true}]},"input":{"required":["paymentId","imageBase64"],"optional":["prompt","modelId"]},"output":{"format":"{ content }"},"performance":{"latency_ms":{"p50":3000,"p95":8000},"reliability":"high","failure_modes":["image_too_large","corrupted_image"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.289Z","consecutive_failures":0}},{"name":"extract_document","category":"document","endpoint_type":"recipe","untrusted_output":true,"description":"Extract text from PDFs and images as clean Markdown. Uses Mistral OCR — handles complex layouts, tables, handwriting, math notation. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/extract-document","pricing":{"type":"per_page","min":10,"max":10,"models":[{"id":27,"name":"Mistral OCR","sats":10,"isDefault":true}]},"input":{"required":["paymentId","documentBase64"],"optional":["modelId"]},"output":{"format":"{ content, pages }"},"performance":{"latency_ms":{"p50":5000,"p95":15000},"reliability":"high","failure_modes":["pdf_too_many_pages","corrupted_document","scanned_image_too_low_res"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.364Z","consecutive_failures":0}},{"name":"extract_receipt","category":"document","endpoint_type":"recipe","untrusted_output":true,"description":"Extract structured data from receipts and invoices. Dual-model pipeline for high-accuracy extraction. Returns JSON with merchant, items, totals. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/extract-receipt","pricing":{"type":"per_page","perPage":25,"note":"25 sats per page"},"input":{"required":["paymentId","documentBase64"]},"output":{"format":"{ structured, rawText }"},"performance":{"latency_ms":{"p50":6000,"p95":12000},"reliability":"high","failure_modes":["unreadable_receipt","non_receipt_document"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.369Z","consecutive_failures":0}},{"name":"e_signature","category":"document","endpoint_type":"recipe","description":"Send a document for legally binding e-signature; the signed copy is emailed back. One document, one payment - no subscription. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/e-signature","pricing":{"type":"flat","flat":1000,"note":"1000 sats flat per document"},"input":{"required":["paymentId","documentBase64","signers","customerEmail"],"optional":["note"]},"output":{"format":"{ success, message }"},"performance":{"latency_ms":{"p50":1500,"p95":5000},"reliability":"high","failure_modes":["invalid_pdf","invalid_signer_email","file_too_large"]}},{"name":"boardingpass_wallet","category":"document","endpoint_type":"recipe","untrusted_output":true,"description":"Turn airline boarding passes (PDF or screenshot) into Google Wallet passes with every field the barcode drops — boarding zone, gate, seat, boarding time. The original barcode is preserved byte-for-byte so it scans at the gate. Multi-file — one boarding pass per file for a whole family (up to 8), returning one save link per passenger plus an 'add all' link. 100 sats per pass (one per passenger per leg, so a connection is 2). Source files are processed in memory and not written to Sats4AI storage; each save link self-expires in 30 minutes. The operational transaction record remains without a customer account. Pay with Bitcoin Lightning — no card.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/boardingpass-wallet","pricing":{"type":"per_pass","perPass":100,"note":"100 sats per pass (one per passenger per leg, so a connection is 2)"},"input":{"required":["paymentId"],"note":"Provide `documentBase64` (single) OR `documents` (array of base64 strings, up to 8, for a family) — at least one required."},"output":{"format":"{ passes: [{ passenger, flight, from, to, seat, zone, gate, boarding_time, save_url }], count, save_all_url, warnings, partial_refund? }"},"performance":{"latency_ms":{"p50":4000,"p95":15000},"reliability":"high","failure_modes":["no_barcode_found_unreadable","unsupported_file_type","file_too_large"]}},{"name":"epub_to_audiobook","category":"document","endpoint_type":"recipe","description":"Convert books (EPUB/PDF/TXT) to full audiobooks with automatic chapter detection, optional translation to any language before narration, and M4B output with chapter markers. 3 voice tiers: OmniVoice Global (602+ langs, ~102 chars/sat), Inworld Premium (#1 ranked TTS ELO 1217, ~15 chars/sat), Minimax Studio (voice cloning from reference clip, ~5 chars/sat). Min 500 sats. Single payment, full outcome — no multi-step orchestration required. Pay with Bitcoin Lightning — no API key or signup needed. Async (5-60+ min).","async":true,"job_type":"epub-audiobook","l402_endpoint":"https://sats4ai.com/api/l402/epub-audiobook","pricing":{"type":"dynamic","note":"Varies by voice tier: OmniVoice ~102 chars/sat, Inworld ~15 chars/sat, Minimax ~5 chars/sat. Minimum 500 sats."},"input":{"required":["paymentId","epubBase64","fileName"],"optional":["voice","language","speed","modelId","selectedChapterIndices","translateToLanguage"]},"output":{"format":"{ jobId } → poll → { url, annexeUrl }","note":"annexeUrl is a companion PDF holding equations, tables, addresses, keys and hashes that are not read aloud — the audio speaks a numbered marker pointing into it. null when the book had none."},"performance":{"latency_ms":{"p50":120000,"p95":600000},"reliability":"medium","failure_modes":["epub_parsing_error","chapter_extraction_failed","tts_timeout_on_long_chapters"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.392Z","consecutive_failures":0}},{"name":"generate_3d_model","category":"3d","endpoint_type":"primitive","description":"Generate a textured 3D GLB model from EITHER a photo OR a text prompt (exactly one, not both). Uses Tencent Hunyuan3D — high-fidelity geometry and PBR materials. Pay with Bitcoin Lightning — no API key or signup needed. Async.","async":true,"job_type":"image-3d","l402_endpoint":"https://sats4ai.com/api/l402/generate-3d-model","pricing":{"type":"fixed","min":1600,"max":1600,"models":[{"id":17,"name":"Best","sats":1600,"isDefault":true}]},"input":{"required":["paymentId"],"optional":["imageBase64","prompt","modelId"],"note":"Provide exactly one of imageBase64 (image-to-3D) or prompt (text-to-3D)."},"output":{"format":"{ requestId } → poll → { modelUrl }"},"performance":{"latency_ms":{"p50":120000,"p95":200000},"reliability":"medium","failure_modes":["image_not_suitable_for_3d","generation_timeout","queue_delay"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.229Z","consecutive_failures":0}},{"name":"remove_background","category":"image-processing","endpoint_type":"primitive","description":"Remove background from any image, returning transparent PNG. Uses BiRefNet (state-of-the-art, Papers with Code). Handles hair, fur, glass, transparency, complex edges. Stable endpoint — model upgrades as SOTA evolves. 44 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/remove-background","pricing":{"type":"fixed","min":2,"max":130,"models":[{"id":38,"name":"NSFW Detector","sats":2,"isDefault":true},{"id":36,"name":"Real-ESRGAN","sats":5,"isDefault":true},{"id":39,"name":"Grounding DINO","sats":5,"isDefault":true},{"id":41,"name":"DDColor","sats":5,"isDefault":true},{"id":48,"name":"Depth Anything V2","sats":5,"isDefault":true},{"id":37,"name":"CodeFormer","sats":25,"isDefault":true},{"id":35,"name":"BiRefNet","sats":44,"isDefault":true},{"id":42,"name":"NAFNet","sats":110,"isDefault":true},{"id":40,"name":"Bria Eraser","sats":130,"isDefault":true}]},"quality":{"model":"BiRefNet","paper":"CAAI AIR 2024","benchmark":"DIS5K-TE","scores":{"Sm":0.901,"MAE":0.035},"source":"https://paperswithcode.com/task/image-matting"},"input":{"required":["paymentId","imageBase64"],"optional":[]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":3000,"p95":8000},"reliability":"high","failure_modes":["image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.232Z","consecutive_failures":0}},{"name":"upscale_image","category":"image-processing","endpoint_type":"primitive","description":"Upscale images 2x/4x with neural super-resolution. Uses Real-ESRGAN (ICCV 2021, 100M+ production runs). Recovers real detail, not interpolation. Stable endpoint — model upgrades as SOTA evolves. 5 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/upscale-image","pricing":{"type":"fixed","min":2,"max":130,"models":[{"id":38,"name":"NSFW Detector","sats":2,"isDefault":true},{"id":36,"name":"Real-ESRGAN","sats":5,"isDefault":true},{"id":39,"name":"Grounding DINO","sats":5,"isDefault":true},{"id":41,"name":"DDColor","sats":5,"isDefault":true},{"id":48,"name":"Depth Anything V2","sats":5,"isDefault":true},{"id":37,"name":"CodeFormer","sats":25,"isDefault":true},{"id":35,"name":"BiRefNet","sats":44,"isDefault":true},{"id":42,"name":"NAFNet","sats":110,"isDefault":true},{"id":40,"name":"Bria Eraser","sats":130,"isDefault":true}]},"quality":{"model":"Real-ESRGAN","paper":"ICCV Workshop 2021","benchmark":"Set5 4x","scores":{"PSNR":32.73,"SSIM":0.9011},"source":"https://paperswithcode.com/task/image-super-resolution"},"input":{"required":["paymentId","imageBase64"],"optional":["scale","face_enhance"]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":8000,"p95":25000},"reliability":"high","failure_modes":["image_too_large_for_4x","upstream_timeout_on_high_res"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.239Z","consecutive_failures":0}},{"name":"restore_face","category":"image-processing","endpoint_type":"primitive","description":"Restore blurry, damaged, or AI-generated faces. Uses CodeFormer (NeurIPS 2022, SOTA on CelebA-Test). Adjustable fidelity. Stable endpoint — model upgrades as SOTA evolves. 25 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/restore-face","pricing":{"type":"fixed","min":2,"max":130,"models":[{"id":38,"name":"NSFW Detector","sats":2,"isDefault":true},{"id":36,"name":"Real-ESRGAN","sats":5,"isDefault":true},{"id":39,"name":"Grounding DINO","sats":5,"isDefault":true},{"id":41,"name":"DDColor","sats":5,"isDefault":true},{"id":48,"name":"Depth Anything V2","sats":5,"isDefault":true},{"id":37,"name":"CodeFormer","sats":25,"isDefault":true},{"id":35,"name":"BiRefNet","sats":44,"isDefault":true},{"id":42,"name":"NAFNet","sats":110,"isDefault":true},{"id":40,"name":"Bria Eraser","sats":130,"isDefault":true}]},"quality":{"model":"CodeFormer","paper":"NeurIPS 2022","benchmark":"CelebA-Test","scores":{"FID":32.65,"LPIPS":0.3668},"source":"https://paperswithcode.com/task/blind-face-restoration"},"input":{"required":["paymentId","imageBase64"],"optional":["fidelity","background_enhance","face_upsample","upscale"]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":5000,"p95":12000},"reliability":"high","failure_modes":["no_face_detected","image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.243Z","consecutive_failures":0}},{"name":"detect_nsfw","category":"image-processing","endpoint_type":"primitive","description":"Classify image safety (normal/suggestive/explicit). Falcons.ai NSFW detection — 100x cheaper and faster than asking an LLM. Returns classification + is_nsfw flag. 2 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/detect-nsfw","pricing":{"type":"fixed","amount":2,"currency":"SAT"},"quality":{"model":"Falcons.ai NSFW Detection","source":"https://huggingface.co/Falconsai/nsfw_image_detection"},"input":{"required":["paymentId","imageBase64"]},"output":{"format":"{ classification, is_nsfw }"},"performance":{"latency_ms":{"p50":2000,"p95":5000},"reliability":"high","failure_modes":["image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.252Z","consecutive_failures":0}},{"name":"detect_objects","category":"image-processing","endpoint_type":"primitive","description":"Detect and locate objects by name with bounding boxes and confidence scores. Grounding DINO (open-set detector, ECCV 2024). Structured pixel data agents can't get from LLMs. 5 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/detect-objects","pricing":{"type":"fixed","amount":5,"currency":"SAT"},"quality":{"model":"Grounding DINO","paper":"ECCV 2024","source":"https://arxiv.org/abs/2303.05499"},"input":{"required":["paymentId","imageBase64","query"],"optional":["box_threshold","text_threshold"]},"output":{"format":"{ detections: [{ label, confidence, bbox }] }"},"performance":{"latency_ms":{"p50":3000,"p95":8000},"reliability":"high","failure_modes":["no_objects_matched","image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.256Z","consecutive_failures":0}},{"name":"remove_object","category":"image-processing","endpoint_type":"primitive","description":"Remove unwanted objects from images by describing what to remove — no mask needed. Grounding DINO detection + Bria Eraser inpainting. Just say 'person', 'car', or 'watermark'. 130 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/remove-object","pricing":{"type":"fixed","amount":130,"currency":"SAT"},"quality":{"detection":{"model":"Grounding DINO","source":"https://paperswithcode.com/paper/grounding-dino-marrying-dino-with-grounded"},"removal":{"model":"Bria Eraser","source":"https://huggingface.co/briaai/BRIA-2.3-FAST"}},"input":{"required":["paymentId","imageBase64","query"]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":6000,"p95":15000},"reliability":"high","failure_modes":["object_not_detected","image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.262Z","consecutive_failures":0}},{"name":"colorize_image","category":"image-processing","endpoint_type":"primitive","description":"Colorize black-and-white or grayscale photos. DDColor (dual-decoder, ICCV 2023). Vivid, natural color impossible for text/vision LLMs. 5 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/colorize-image","pricing":{"type":"fixed","amount":5,"currency":"SAT"},"quality":{"model":"DDColor","paper":"ICCV 2023","source":"https://arxiv.org/abs/2309.14518"},"input":{"required":["paymentId","imageBase64"],"optional":["model_size"]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":4000,"p95":10000},"reliability":"high","failure_modes":["already_color_image","image_too_large"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.275Z","consecutive_failures":0}},{"name":"estimate_depth","category":"image-processing","endpoint_type":"primitive","description":"Estimate per-pixel depth from a single photo. Depth Anything V2 (NeurIPS 2024, 3.8M+ runs). Returns BOTH the raw greyscale depth map — what a ControlNet, AR or 3D reconstruction pipeline consumes — and a colour visualization for humans. Structured geometry a vision LLM cannot produce. 5 sats, no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/estimate-depth","pricing":{"type":"fixed","amount":5,"currency":"SAT"},"quality":{"model":"Depth Anything V2","paper":"NeurIPS 2024","benchmark":"monocular relative depth","source":"https://depth-anything-v2.github.io/"},"input":{"required":["paymentId","imageBase64"],"optional":["model_size"]},"output":{"format":"{ depth_map, depth_color }"},"performance":{"latency_ms":{"p50":2000,"p95":6000},"reliability":"high","failure_modes":["unsupported_image_format"]}},{"name":"deblur_image","category":"image-processing","endpoint_type":"primitive","description":"Recover detail from camera-shake and accidental motion blur. NAFNet (ECCV 2022, SOTA on GoPro/SIDD). Best for: handheld shake, bumped camera, whole-frame uniform blur. NOT for: intentional panning blur, bokeh, or artistic motion effects. Also denoises grainy photos. 110 sats (~2 min), no API key needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/deblur-image","pricing":{"type":"fixed","amount":110,"currency":"SAT"},"quality":{"model":"NAFNet","paper":"ECCV 2022","benchmark":"GoPro + SIDD","source":"https://arxiv.org/abs/2204.04676"},"input":{"required":["paymentId","imageBase64"],"optional":["task_type"]},"output":{"format":"{ image_url }"},"performance":{"latency_ms":{"p50":90000,"p95":180000},"reliability":"high","failure_modes":["image_too_large","not_motion_blur"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.282Z","consecutive_failures":0}},{"name":"convert_file","category":"file","endpoint_type":"primitive","description":"Convert files between 200+ formats. Preserves formatting and quality. No API key, no account needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/convert-file","pricing":{"type":"fixed","min":25,"max":1000,"models":[{"id":30,"name":"Receipt OCR","sats":25,"isDefault":true},{"id":29,"name":"HTML to PDF","sats":50,"isDefault":true},{"id":26,"name":"Unknown","sats":100,"isDefault":false},{"id":47,"name":"Boarding Pass Wallet","sats":100,"isDefault":false},{"id":11,"name":"Unknown","sats":100,"isDefault":false},{"id":12,"name":"Unknown","sats":100,"isDefault":false},{"id":13,"name":"Unknown","sats":100,"isDefault":false},{"id":28,"name":"Unknown","sats":200,"isDefault":false},{"id":46,"name":"E-Signature","sats":1000,"isDefault":false}]},"input":{"required":["paymentId","extensionFrom","extensionTo"],"optional":["fileBase64","fileUrl"]},"output":{"format":"{ url }"},"performance":{"latency_ms":{"p50":5000,"p95":20000},"reliability":"high","failure_modes":["unsupported_format_pair","file_too_large","corrupted_file"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.375Z","consecutive_failures":0}},{"name":"merge_pdfs","category":"file","endpoint_type":"primitive","description":"Merge multiple PDFs into one. Preserves bookmarks, links, formatting. Pay with Bitcoin Lightning — no account needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/merge-pdfs","pricing":{"type":"fixed","min":25,"max":1000,"models":[{"id":30,"name":"Receipt OCR","sats":25,"isDefault":true},{"id":29,"name":"HTML to PDF","sats":50,"isDefault":true},{"id":26,"name":"Unknown","sats":100,"isDefault":false},{"id":47,"name":"Boarding Pass Wallet","sats":100,"isDefault":false},{"id":11,"name":"Unknown","sats":100,"isDefault":false},{"id":12,"name":"Unknown","sats":100,"isDefault":false},{"id":13,"name":"Unknown","sats":100,"isDefault":false},{"id":28,"name":"Unknown","sats":200,"isDefault":false},{"id":46,"name":"E-Signature","sats":1000,"isDefault":false}]},"input":{"required":["paymentId","files"]},"output":{"format":"{ url, fileName }"},"performance":{"latency_ms":{"p50":4000,"p95":12000},"reliability":"high","failure_modes":["pdf_too_large","corrupted_pdf"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.386Z","consecutive_failures":0}},{"name":"convert_html_to_pdf","category":"file","endpoint_type":"primitive","description":"Convert HTML or Markdown to pixel-perfect PDF. Great for invoices, reports, documents. Pay with Bitcoin Lightning — no API key or signup needed.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/convert-html-to-pdf","pricing":{"type":"fixed","min":25,"max":1000,"models":[{"id":30,"name":"Receipt OCR","sats":25,"isDefault":true},{"id":29,"name":"HTML to PDF","sats":50,"isDefault":true},{"id":26,"name":"Unknown","sats":100,"isDefault":false},{"id":47,"name":"Boarding Pass Wallet","sats":100,"isDefault":false},{"id":11,"name":"Unknown","sats":100,"isDefault":false},{"id":12,"name":"Unknown","sats":100,"isDefault":false},{"id":13,"name":"Unknown","sats":100,"isDefault":false},{"id":28,"name":"Unknown","sats":200,"isDefault":false},{"id":46,"name":"E-Signature","sats":1000,"isDefault":false}]},"input":{"required":["paymentId","html"],"optional":["format"]},"output":{"format":"{ url, fileName }"},"performance":{"latency_ms":{"p50":3000,"p95":8000},"reliability":"high","failure_modes":["html_too_complex","rendering_timeout"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.381Z","consecutive_failures":0}},{"name":"send_email","category":"communication","endpoint_type":"primitive","description":"Reach anyone via email — formal comms, reports, notifications. No SMTP server or domain verification. Pay with Bitcoin Lightning — no API key needed. Scam screening is in place: content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, NOT sent, and the payment is NOT automatically refunded; a human review can be requested via the docs page.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/send-email","pricing":{"type":"fixed","min":25,"max":1000,"models":[{"id":30,"name":"Receipt OCR","sats":25,"isDefault":true},{"id":29,"name":"HTML to PDF","sats":50,"isDefault":true},{"id":26,"name":"Unknown","sats":100,"isDefault":false},{"id":47,"name":"Boarding Pass Wallet","sats":100,"isDefault":false},{"id":11,"name":"Unknown","sats":100,"isDefault":false},{"id":12,"name":"Unknown","sats":100,"isDefault":false},{"id":13,"name":"Unknown","sats":100,"isDefault":false},{"id":28,"name":"Unknown","sats":200,"isDefault":false},{"id":46,"name":"E-Signature","sats":1000,"isDefault":false}]},"input":{"required":["paymentId","to","subject","body"],"optional":["replyTo"]},"output":{"format":"{ success, message }"},"performance":{"latency_ms":{"p50":2000,"p95":5000},"reliability":"high","failure_modes":["invalid_email_address","smtp_delivery_failure"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.402Z","consecutive_failures":0}},{"name":"send_sms","category":"communication","endpoint_type":"primitive","description":"Reach a human via SMS for real-world coordination. Plain text only — URLs/links are rejected. Pay with Bitcoin Lightning — no phone plan, no telecom account, no KYC. Scam screening is in place: content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, NOT sent, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/send-sms","pricing":{"type":"dynamic","note":"Varies by destination country and message length (billed per SMS segment — long or accented/UCS-2 messages cost more)."},"input":{"required":["paymentId","phoneNumber","message"]},"output":{"format":"{ success, sid }"},"performance":{"latency_ms":{"p50":3000,"p95":8000},"reliability":"high","failure_modes":["invalid_phone_number","destination_not_reachable","country_not_supported","content_rejected"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.397Z","consecutive_failures":0}},{"name":"place_call","category":"communication","endpoint_type":"primitive","description":"Bridge digital-physical gap — deliver spoken messages or audio to any phone. Deposit billing: pay for N minutes upfront, unused time refunded automatically to your Lightning address. Pay with Bitcoin Lightning — no telecom account, no KYC. Scam screening is in place: message content that impersonates a company or government, threatens or harasses the recipient, or solicits credentials or codes is flagged after payment, the call is NOT placed, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/place-call","pricing":{"type":"deposit","note":"Per-minute rate varies by destination. Pay for N minutes upfront — unused time is automatically refunded."},"billing":{"model":"deposit","description":"You deposit for N minutes at a per-minute rate. After the call ends, actual usage is measured server-side. Unused sats are refunded automatically to a Lightning address (if provided) or claimable via bolt11 invoice.","refund_field":"refundAddress (Lightning address, optional — include in MCP create_payment or web UI)"},"input":{"required":["paymentId","phoneNumber"],"optional":["message","audioUrl","durationMinutes","refundAddress"]},"output":{"format":"{ success, sid, status, to }"},"performance":{"latency_ms":{"p50":5000,"p95":15000},"reliability":"high","failure_modes":["invalid_phone_number","destination_not_reachable","call_rejected"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.417Z","consecutive_failures":0}},{"name":"send_fax","category":"communication","endpoint_type":"recipe","description":"When your task requires a paper-trail on the other end — loan paperwork to a bank, signed contract to a notary, hotel booking confirmation in Japan — send a fax worldwide. PDF URL or typed text. 500 sats for up to 10 pages, +50 sats per additional page (max 350). Pay with Bitcoin Lightning — no fax machine, no phone line, no telecom account.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/send-fax","pricing":{"type":"tiered","base_sats":500,"base_pages":10,"per_page_after_sats":50,"unit":"fax","limits":{"max_pages":350,"max_size_mb":50}},"input":{"required":["paymentId","phoneNumber","mode"],"optional":["pdfUrl","text","coverText"]},"output":{"format":"{ success, status, fax_id, pages, to }"},"performance":{"latency_ms":{"p50":15000,"p95":45000},"reliability":"high","failure_modes":["invalid_pdf","destination_not_reachable","page_limit_exceeded"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.407Z","consecutive_failures":0}},{"name":"receive_fax","category":"communication","endpoint_type":"recipe","description":"When you're expecting a fax back (bank confirmation, court filing, signed document), open a 24h receive window at our shared number (+13202991523). Matched by caller ID (last 10 digits), delivered to your email. Optional OCR add-on returns a searchable text file. Pay with Bitcoin Lightning — no dedicated number rental, no account.","async":true,"l402_endpoint":"https://sats4ai.com/api/l402/receive-fax","pricing":{"type":"tiered","tiers":[{"sats":500,"note":"base"},{"sats":700,"note":"with OCR add-on"}],"note":"Overage (>10 pages) invoiced separately via email."},"input":{"required":["paymentId","email","fromNumber"],"optional":["ocr"]},"output":{"format":"{ success, status, subscription_id, expires_at, forward_to_number }"},"performance":{"latency_ms":{"p50":1000,"p95":3000},"reliability":"high","failure_modes":["conflicting_subscription","invalid_sender_number","no_fax_arrived_in_window_no_refund"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.413Z","consecutive_failures":0}},{"name":"ai_call","category":"communication","endpoint_type":"recipe","untrusted_output":true,"description":"When your task hits a wall requiring a human — booking, negotiating, navigating IVR — send an AI voice agent. Deposit billing: pay for N minutes upfront, unused time refunded automatically. Returns transcript + analysis. Pay with Bitcoin Lightning — no telecom account or API key needed. Scam screening is in place: tasks that impersonate a company or government, threaten or harass the recipient, or solicit credentials or codes are flagged after payment, the call is NOT placed, and the payment is NOT automatically refunded; a human review can be requested via the docs page. Per-destination send limits apply.","async":true,"l402_endpoint":"https://sats4ai.com/api/l402/ai-call","pricing":{"type":"deposit","note":"Telephony + AI agent per-minute rate, starting at ~150 sats/min and varying by destination — create_payment returns the exact amount. Pay for N minutes upfront — unused time is automatically refunded."},"billing":{"model":"deposit","description":"You deposit for N minutes at a per-minute rate (telephony + AI agent cost). After the call ends, actual usage is measured server-side. Unused sats are refunded automatically to a Lightning address (if provided) or claimable via bolt11 invoice.","refund_field":"refundAddress (Lightning address, optional — include in MCP create_payment or web UI)"},"input":{"required":["paymentId","phoneNumber","task"],"optional":["durationMinutes","voice","language","beginMessage","refundAddress"]},"output":{"format":"{ success, call_id, status, poll_url }"},"voices":["Adrian","Myra","Paola","Chris","Marissa","Nathan","Cimo","Drew","Olivia"],"languages":["en-US","en-GB","es-ES","fr-FR","de-DE","ja-JP","zh-CN","multi"],"performance":{"latency_ms":{"p50":10000,"p95":30000},"reliability":"medium","failure_modes":["call_not_answered","ivr_navigation_failed","call_timeout","destination_not_reachable"]},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.422Z","consecutive_failures":0}},{"name":"list_models","category":"utility","description":"List available AI models with IDs, tiers, and pricing. No payment required.","async":false,"l402_endpoint":null,"pricing":{"type":"free"},"input":{"required":[],"optional":["category"]},"output":{"format":"{ models: [{ id, name, tier, sats, isDefault }] }"}},{"name":"get_model_pricing","category":"utility","description":"Get pricing for a specific model by ID. No payment required.","async":false,"l402_endpoint":null,"pricing":{"type":"free"},"input":{"required":["modelId"],"optional":[]},"output":{"format":"{ id, name, type, sats, isDefault }"}},{"name":"open_voice_bridge","category":"communication","endpoint_type":"recipe","untrusted_output":true,"description":"MCP TOOL TEMPORARILY UNAVAILABLE — create_payment refuses it, so you will not be charged; call the l402_endpoint below instead (same service and pricing), or use ai_call. Voice Bridge — real-time phone call infrastructure where YOUR LLM is the brain. Sats4AI provides PSTN + streaming STT + TTS as composable primitives; you drive each turn via say/poll/end. Unlike ai_call, your conversation context never leaves your side. Deposit billing with LNURL-withdraw refund for unused time. 602-lang TTS, ~100-lang streaming STT.","async":true,"l402_endpoint":"https://sats4ai.com/api/l402/voice-bridge/open","pricing":{"type":"deposit","note":"Destination-priced from the carrier rate sheet and BTC-pegged — no fixed per-minute figure. Deposit billing, unused time auto-refunded. Refunded via LNURL-withdraw or Lightning address."},"billing":{"model":"deposit","description":"Prepaid deposit for N minutes. Actual elapsed time billed on /end. Unused sats auto-sent to refundAddress (Lightning address) or returned as LNURL-withdraw.","refund_field":"refundAddress (Lightning address, optional)"},"input":{"required":["paymentId","phoneNumber"],"optional":["language","durationMinutes","codec","sttEnabled","ttsEnabled","refundAddress"]},"output":{"format":"{ success, sessionId, callId, activeCodec, hdAvailable, language, depositSats, perMinuteSats, maxDurationSec }"},"companion_tools":["voice_bridge_say","poll_voice_bridge","end_voice_bridge"],"coverage_endpoint":"https://sats4ai.com/api/l402/voice-bridge/coverage","performance":{"latency_ms":{"p50":2000,"p95":8000},"reliability":"medium","failure_modes":["call_not_answered","destination_unreachable","stt_init_failed","stream_attach_failed"]}},{"name":"voice_bridge_say","category":"communication","description":"Inject audio into an open Voice Bridge call. Text mode: we synthesize via OmniVoice TTS (602 languages). BYO-audio mode: pass audio_base64 + encoding (mulaw_8000 or pcm_l16_16000). STT auto-muted during playback to prevent self-echo.","async":false,"l402_endpoint":null,"pricing":{"type":"included","note":"Covered by session deposit"},"input":{"required":["sessionId"],"optional":["text","language","voiceDescription","audioBase64","encoding"]},"output":{"format":"{ success, bytesSent }"}},{"name":"poll_voice_bridge","category":"communication","description":"Fetch new transcript events from an open Voice Bridge call since the last cursor. Returns partial + final transcripts + system events. Poll in a loop (~500ms-1s).","async":false,"l402_endpoint":null,"pricing":{"type":"included","note":"Covered by session deposit"},"input":{"required":["sessionId"],"optional":["cursor"]},"output":{"format":"{ success, sessionId, state, events: [{seq, type, text, ts_ms}], nextCursor, callId }"}},{"name":"end_voice_bridge","category":"communication","description":"Hang up a Voice Bridge call, finalize billing (elapsed time × perMinuteSats), and return refund info for unused deposit. Auto-sends to refundAddress if set, else returns LNURL-withdraw.","async":false,"l402_endpoint":null,"pricing":{"type":"included","note":"Covered by session deposit"},"input":{"required":["sessionId"],"optional":[]},"output":{"format":"{ success, elapsedSec, usedSats, depositSats, refundableSats, refund, finalTranscript }"}},{"name":"confirm_ai_call","category":"communication","description":"Confirm an AI call after reviewing push-back questions, optionally providing answers. Required when ai_call returns state='pending_confirm'. Uses the original payment — no new payment needed.","async":true,"l402_endpoint":"https://sats4ai.com/api/l402/ai-call","pricing":{"type":"free","note":"Uses original ai_call payment"},"input":{"required":["sessionId"],"optional":["answers"]},"output":{"format":"{ success, call_id, status, poll_url }"},"health":{"status":"ok","last_checked":"2026-08-28T06:46:03.422Z","consecutive_failures":0}},{"name":"check_job_status","category":"async","description":"Check status of an async job (video, video-image, image-3d, transcription, epub-audiobook). No payment required.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/job-status","pricing":{"type":"free"},"input":{"required":["requestId","jobType"],"optional":[]},"output":{"format":"{ status, result? }"}},{"name":"get_job_result","category":"async","description":"Retrieve the result of a completed async job. No payment required.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/job-status","pricing":{"type":"free"},"input":{"required":["requestId","jobType"],"optional":[]},"output":{"format":"{ status, result }"}},{"name":"await_result","category":"async","description":"Wait for an async job and return its result in one call (check_job_status + get_job_result combined). Streams notifications/progress over SSE when the MCP request uses Accept: text/event-stream; otherwise returns a single status check. Waits up to ~4 min/call, then returns status=IN_PROGRESS (timed_out) — call again to keep waiting. No payment required.","async":false,"pricing":{"type":"free"},"input":{"required":["requestId","jobType"],"optional":[]},"output":{"format":"{ status, result? }"}},{"name":"vote_on_service","category":"voting","description":"Vote for a planned service to be built next. 1 sat per vote. Highest-voted services get built first. Pay with Bitcoin Lightning.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/vote","pricing":{"type":"fixed","note":"1 sat per vote"},"input":{"required":["paymentId","slug"],"optional":[]},"output":{"format":"{ success, slug, votes }"}},{"name":"list_planned_services","category":"voting","description":"List planned services with current vote counts. No payment required. Services sorted by most-voted first.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/vote","pricing":{"type":"free"},"input":{"required":[],"optional":[]},"output":{"format":"{ services: [{ slug, name, description, votes }] }"}},{"name":"request_refund","category":"support","description":"Request a refund for a failed service. Requires the paymentId from the original payment. Only works when the service marked the payment as refund-eligible. No payment required.","async":false,"l402_endpoint":"https://sats4ai.com/api/l402/refund","pricing":{"type":"free"},"input":{"required":["paymentId","invoice"],"optional":["email","feedback"]},"output":{"format":"{ success, message, chargeId, amountSats }"}}]}