Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Sats4AI - Bitcoin-Powered AI Tools

REMOTE · SATS4AI.COM · 2 COMPONENTS · SCANNED AUG 3

40+ Lightning-paid AI tools for agents: calls, SMS, fax, voice, translation. No signup, no keys.

+2 this week 61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability52
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (poor).Fail
  • Context-footprint check failed: tool/resource definitions use about 16655 tokens (~302/item across 55 items; 53 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · sats4ai.com

# add to Claude Code
claude mcp add --transport http cnghockey-sats4ai https://sats4ai.com/api/mcp
# ~/.codex/config.toml
[mcp_servers.cnghockey-sats4ai]
url = "https://sats4ai.com/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cnghockey-sats4ai": {
      "type": "remote",
      "url": "https://sats4ai.com/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add cnghockey-sats4ai --url https://sats4ai.com/api/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  cnghockey-sats4ai:
    url: "https://sats4ai.com/api/mcp"
// mcp.json
{
  "mcpServers": {
    "cnghockey-sats4ai": {
      "type": "http",
      "url": "https://sats4ai.com/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Aug 26 +2
    • Tool “boardingpass_wallet” rewrote its description, which is the text the model reads security
    • Tool “restore_face” rewrote its description, which is the text the model reads security
    • Tool “remove_object” rewrote its description, which is the text the model reads security
    • Tool “remove_background” rewrote its description, which is the text the model reads security
    • Tool “extract_receipt” rewrote its description, which is the text the model reads security
    • Tool “deblur_image” rewrote its description, which is the text the model reads security
    • Schema quality: unverified → poor functional
  • 1 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −7
    • Schema quality: excellent → unverified functional
  • 28 Jul 26 +3
    • Schema quality: good → excellent functional
  • 27 Jul 26 +4
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 55

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://sats4ai.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=sats4ai.com CN=YE1,O=Let's Encrypt,C=US 10 Jul 2026 8 Oct 2026 ECDSA 256 ECDSA-SHA384 54cb8ce6f01bcb4c05274c987d0ef7de2da
SANs: sats4ai.com, www.sats4ai.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of sats4ai.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
sats4ai.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(self), geolocation=()
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://sats4ai.com/api/mcp Verified 200
http (plaintext) http://sats4ai.com/api/mcp HTTPS enforced 301 https://sats4ai.com/api/mcp
MCP tools — 53 exposed · ~16,577 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
ai_call ~468

When your task hits a wall that requires a human — booking, negotiating, navigating IVR menus, getting information from a business — send an AI voice agent to handle the call. The agent follows your instructions, has a real two-way conversation, auto-retries on voicemail (up to 3 attempts), and returns a full transcript with structured analysis. May return state='pending_confirm' with clarification questions if critical info is missing — call confirm_ai_call to proceed. Async — poll with check_job_status(jobType='ai-call'). ~150-250 sats for a 3-min US call. Languages: en-US, en-GB, es-ES, fr-FR, de-DE, ja-JP, zh-CN, multi. Pay with Bitcoin Lightning — no telecom account, no API key, no subscription. When NOT to use: not when you want to drive the conversation with your own LLM (use open_voice_bridge — you keep the brain, we provide PSTN/STT/TTS primitives). Not for one-shot TTS broadcasts or IVR delivery (use place_call). Not for SMS (use send_sms). Requires create_payment with toolName='ai_call', phoneNumber, and durationMinutes.

NameTypeReqDescription
beginMessagestringOptional opening line for the agent
durationMinutesnumberMax call duration 1-10 minutes (default: 3)
languagestringLanguage the agent should speak to the called party. Pass this when you know the destination's preferred language (e.g. calling a French pizzeria → fr-FR, a Japanese restaurant → ja-JP). If omitted,…
paymentIdstringyesValid payment ID (must be paid)
phoneNumberstringyesPhone number in E.164 format (e.g., +14155550100)
taskstringyesInstructions for the AI agent (what to say, ask, or accomplish)

No output schema declared.

No examples provided.

analyze_image ~174

Analyze and describe image content, answer visual questions, extract information from screenshots or photos. Uses Qwen VL — multimodal vision-language model with strong OCR, chart reading, and spatial reasoning. 21 sats per image. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='analyze_image'.

NameTypeReqDescription
imageBase64stringyesBase64 encoded image to analyze. Single images only — for PDFs or multi-page document text use extract_document (a PDF sent here is treated as an image and may return a wrong/hallucinated result with…
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesQuestion or analysis prompt for the image

No output schema declared.

No examples provided.

animate_image ~178

Animate a still image into cinematic video with ByteDance Seedance 2.0 — provide a first frame (optionally a last frame) and a prompt to direct the motion. Native audio. Async — returns requestId, poll with check_job_status. 480p/720p/1080p, duration 4-15 seconds, priced per second by resolution. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='animate_image'.

NameTypeReqDescription
durationnumberyesDuration in seconds (4-15)
imageBase64stringyesBase64 encoded image to animate
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesText prompt describing the animation

No output schema declared.

No examples provided.

await_result ~204

Wait for an async job to finish and return its result in ONE call — no manual polling loop. Pass the requestId + jobType from an async tool (generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call). If your MCP client opened the request with 'Accept: text/event-stream', this streams live progress (notifications/progress) while it waits, then returns the final result; otherwise it does a single status check and returns immediately (call again until status='COMPLETED'). For long jobs it waits up to ~4 minutes per call, then returns status='IN_PROGRESS' with timed_out=true — call again with the same requestId to keep waiting. Equivalent to check_job_status + get_job_result combined. Free; no payment.

NameTypeReqDescription
jobTypestringyesMust match the async tool that returned requestId.
requestIdstringyesThe requestId returned by the async tool.

No output schema declared.

No examples provided.

boardingpass_wallet ~279

Turn airline boarding passes (PDF or screenshot) into Google Wallet passes with the fields a plain scan drops — boarding zone, gate, boarding time — for a whole family in one go. Returns one save link per passenger plus a single 'add all' link. The original barcode is preserved byte-for-byte so it scans at the gate. Priced 100 sats PER PASS: create_payment with toolName='boardingpass_wallet' and quantity=<number of passes> (if you under-count, the call returns the exact price to re-pay). Image/screenshot files that turn out to carry no extra fields are refunded. Privacy: files are processed in memory and never stored; the save link expires in 30 minutes, so nothing is retained. Pay with Bitcoin Lightning — no account, no card.

NameTypeReqDescription
documentBase64stringBase64 boarding pass PDF or screenshot (max 8MB). Single-file convenience form. Must contain a readable BCBP barcode — a blurry photo or non-boarding-pass is refunded, not converted.
documentsarrayBase64 boarding passes, one per file (up to 8), for a family/booking. Provide this OR documentBase64 (at least one required).
paymentIdstringyesValid payment ID (must be paid). Price = 150 × number of passes.

No output schema declared.

No examples provided.

check_job_status ~303

Poll the status of an async job. Use this after calling any async tool (generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call) that returns a requestId. Returns JSON: { status: 'queued' | 'processing' | 'completed' | 'failed', requestId, jobType }. For epub-audiobook, also includes progress (0-100) and chapterProgress array. Poll every 5-10 seconds. When status is 'completed', call get_job_result to retrieve the output. When status is 'failed', the response includes an error message — do not retry automatically. This tool is free and does not require payment. Do NOT use for synchronous tools (generate_image, generate_text, etc.) — those return results immediately.

NameTypeReqDescription
jobTypestringyesMust match the async tool: video=generate_video, video-image=animate_image, image-3d=generate_3d_model, transcription=transcribe_audio, epub-audiobook=epub_to_audiobook, ai-call=ai_call. video-fal-st…
requestIdstringyesThe requestId returned by the async tool (e.g., from generate_video, animate_image, generate_3d_model, transcribe_audio, epub_to_audiobook, ai_call)

No output schema declared.

No examples provided.

check_payment_status ~134

Check whether a Lightning invoice has been paid. Returns JSON: { paid, serviceUsed, refundAllowed, readyToUse, next } — readyToUse=true means paid, not yet consumed, and no refund queued; next says what to do. Call after create_payment to verify the user has paid before calling the target tool. Invoices expire after 10 minutes — if expired, create a new payment. Most MCP clients with a connected wallet pay instantly, so a single check is usually sufficient. This tool is free and does not require payment.

NameTypeReqDescription
paymentIdstringyesThe paymentId returned by create_payment

No output schema declared.

No examples provided.

clone_voice ~166

Clone any voice from a single audio sample. Returns a reusable voice_id for text_to_speech — speak in the cloned voice indefinitely. High-fidelity reproduction capturing tone, cadence, and accent. Turbo (faster) or HD (higher quality) modes. 7,500 sats per clone. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='clone_voice'.

NameTypeReqDescription
accuracynumberText validation accuracy 0-1 (default 0.7)
modelstringVoice model: turbo (faster) or hd (higher quality)
paymentIdstringyesValid payment ID (must be paid)
voiceFileUrlstringyesPublic URL to audio file of the voice to clone

No output schema declared.

No examples provided.

colorize_image ~148

Colorize black-and-white or grayscale photos. DDColor (dual-decoder, ICCV 2023) — vivid, natural colorization. Impossible for text/vision LLMs. 5 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='colorize_image'.

NameTypeReqDescription
imageBase64stringyesBase64-encoded grayscale or B&W image (PNG, JPEG) or data URI
model_sizestringModel variant: 'large' (best quality) or 'tiny' (faster). Default: large
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

confirm_ai_call ~111

Confirm an AI call after reviewing push-back questions, optionally providing answers to missing info. Required when ai_call returns state='pending_confirm'. Uses the original payment — no new payment needed. Returns call_id for polling with check_job_status(jobType='ai-call').

NameTypeReqDescription
answersobjectKey-value answers to the push-back questions (keys are the question strings, values are your answers). Omit to confirm the task as-is.
sessionIdstringyesSession ID from the ai_call response

No output schema declared.

No examples provided.

convert_file ~201

Convert files between 200+ formats: documents (PDF, DOCX, XLSX), images (PNG, JPG, WEBP, SVG), audio (MP3, WAV, FLAC), video (MP4, AVI, MOV). Industrial-grade conversion engine — preserves formatting and quality. Returns download URL. 100 sats. Pay per request with Bitcoin Lightning — no API key, no account, no subscription needed. Requires create_payment with toolName='convert_file'.

NameTypeReqDescription
extensionFromstringyesSource format without dot (e.g., 'pdf', 'docx')
extensionTostringyesTarget format without dot (e.g., 'pdf', 'docx')
fileBase64stringBase64-encoded file (provide this OR fileUrl)
fileUrlstringPublic URL to the file (provide this OR fileBase64)
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

convert_html_to_pdf ~172

Convert HTML or Markdown to a pixel-perfect PDF. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Great for generating invoices, reports, receipts, or formatted documents programmatically. Supports full HTML/CSS including tables, images (base64 or URL), and inline styles. For Markdown input, set format='markdown'. 50 sats per conversion. Use convert_file instead for converting existing files between formats (e.g., DOCX→PDF). Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='convert_html_to_pdf'.

NameTypeReqDescription
formatstringInput format (default: html)
htmlstringyesHTML or Markdown content to convert
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

create_payment ~724

Create a Lightning invoice to pay for one AI service call. Returns JSON: { paymentId, invoice (BOLT11), amount (sats), expiresAt }. Each payment covers exactly one tool call — call this once per operation. Typical flow: list_models → create_payment → check_payment_status → call tool. The invoice expires in 10 minutes. Call list_models first to discover modelId values. modelId is optional — omit it to use the default (best) model. Some tools require extra params at payment time because pricing depends on them: generate_text requires prompt (price = f(char count)); text_to_speech requires text (price = f(char count) by tier); transcribe_audio / transcribe_translate take durationMinutes (10 sats/min — declare your audio length, default 1); send_sms, place_call, ai_call require phoneNumber; generate_video requires duration, mode, generate_audio; animate_image requires duration (100 sats/sec); edit_image requires resolution (1K=200, 2K=300, 4K=450 sats). If required params are missing, the response includes an error with the missing field names.

NameTypeReqDescription
durationnumberRequired for generate_video / animate_image: duration in seconds (4-15)
durationMinutesnumberMinutes of audio/call. Required for place_call with audioUrl (1-30); for transcribe_audio / transcribe_translate it sets the per-minute price (10 sats/min) — declare your audio length (default 1). Au…
fileContextstringFor generate_text: include extracted file text if attaching a file (affects price)
generate_audiobooleanFor generate_video / animate_image: include native audio (default: false). Free — no surcharge.
messagestringRequired for send_sms: message text (max 126 chars)
modestringLegacy alias for generate_video: 'standard'→720p, 'pro'→1080p. Prefer 'resolution'.
modelIdnumberOptional. AI model ID from list_models. Omit for default (best) model.
phoneNumberstringRequired for send_sms and place_call: phone in E.164 format (e.g., +14155550100)
promptstringRequired for generate_text: the exact prompt (price calculated from char count, locked to payment)
quantitynumberUnits to pay for when the price scales: passes for boardingpass_wallet, pages for extract_document / extract_receipt / send_fax. Default 1 — under-counting is rejected at execution with the exact pri…
resolutionstring480p / 720p / 1080p for generate_video (default 1080p) and animate_image (default 720p) — priced by resolution × duration, native audio free. For edit_image: 1K=200, 2K=300, 4K=450 sats.
systemPromptstringFor generate_text: include if using a custom system prompt (affects price)
textstringRequired for text_to_speech: the exact text to synthesize (price is per-character by tier, locked to payment)
toolNamestringyesTool name to pay for (e.g., 'generate_text', 'generate_image', 'generate_video', 'send_sms', 'place_call')

No output schema declared.

No examples provided.

deblur_image ~209

Recover detail from camera-shake and accidental motion blur. NAFNet (ECCV 2022, SOTA on GoPro/SIDD benchmarks). Best for: handheld shake, bumped camera, whole-frame uniform blur. NOT effective for: intentional panning blur, bokeh/depth-of-field, or artistic motion effects. Also supports denoising (grainy/noisy photos). 110 sats per image (~2 min processing), pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='deblur_image'.

NameTypeReqDescription
imageBase64stringyesBase64-encoded blurry image (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)
task_typestring'Image Debluring (GoPro)' for camera shake (default), 'Image Debluring (REDS)' for video frame blur, 'Image Denoising' for grain/noise

No output schema declared.

No examples provided.

detect_nsfw ~129

Classify image safety (normal / suggestive / explicit). Falcons.ai NSFW detection — 100x cheaper and faster than asking an LLM. Returns classification label and boolean is_nsfw flag. Essential for content moderation pipelines. 2 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='detect_nsfw'.

NameTypeReqDescription
imageBase64stringyesBase64-encoded image (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

detect_objects ~202

Detect and locate objects in an image by name. Grounding DINO (open-set detector, ECCV 2024) — describe what to find in natural language, get bounding box coordinates and confidence scores. Structured pixel data agents can't get from vision LLMs. 5 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='detect_objects'.

NameTypeReqDescription
box_thresholdnumberConfidence threshold for detection boxes (0-1, default 0.25)
imageBase64stringyesBase64-encoded image (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)
querystringyesComma-separated object names to detect (e.g. 'cat, dog, person')
text_thresholdnumberConfidence threshold for text matching (0-1, default 0.25)

No output schema declared.

No examples provided.

e_signature ~225

Send a document out for legally binding e-signature and have the signed copy emailed back. Upload the PDF, name up to 3 signers, and give the email where the signed copy should land. Flat 1000 sats per document. The request is fulfilled through an established e-sign provider; the signed copy arrives by email once everyone has signed. Privacy: the PDF is processed in memory and never stored. Pay with Bitcoin Lightning — no account, no card. Requires create_payment with toolName='e_signature'.

NameTypeReqDescription
customerEmailstringyesYour email — the signed copy is sent here once everyone has signed.
documentBase64stringyesBase64-encoded PDF to be signed (a data: URI is accepted). Max 8MB. Must be a PDF.
notestringOptional note shown to the signers.
paymentIdstringyesValid payment ID (must be paid). Price = 1000 sats flat.
signersarrayyes1-3 signers, each with a name and email.

No output schema declared.

No examples provided.

edit_image ~198

Edit an image with natural language instructions. Uses Nano Banana 2 — understands context, handles object addition/removal, style transfer, and inpainting. Returns JSON with image URL. Resolution-tiered pricing: 1K=200 sats, 2K=300 sats, 4K=450 sats. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='edit_image' and resolution param.

NameTypeReqDescription
aspectRatiostringOutput aspect ratio (default: match_input_image)
imageBase64stringyesBase64 encoded image to edit
outputFormatstringOutput format
paymentIdstringyesValid payment ID (must be paid)
promptstringyesEditing instructions describing what to change
resolutionstringOutput resolution. 1K=200 sats, 2K=300 sats, 4K=450 sats

No output schema declared.

No examples provided.

end_voice_bridge ~55

Hang up a Voice Bridge call, finalize billing, and return a LNURL-withdraw refund link for unused deposit time. Also returns the final transcript for convenience.

NameTypeReqDescription
sessionIdstringyesSession ID from open_voice_bridge

No output schema declared.

No examples provided.

epub_to_audiobook ~558

Convert books (EPUB/PDF/TXT) to full audiobooks with automatic chapter detection, multi-voice narration, and optional translation to any language before narration. 3 voice tiers: OmniVoice Global (602+ langs, ~90 chars/sat), Inworld Premium (#1 ranked TTS ELO 1217, ~13 chars/sat), Minimax Studio (voice cloning from reference clip, ~7 chars/sat). Min 500 sats. Async — returns jobId, poll until completed (5-60+ min). Single payment, full outcome — no multi-step orchestration required. Pay with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='epub_to_audiobook'.

NameTypeReqDescription
epubBase64stringyesBase64-encoded book file (EPUB, PDF, or TXT)
fileNamestringyesOriginal filename with extension (e.g., 'mybook.epub', 'document.pdf', 'story.txt'). Required to detect format.
languagestringNarration language (e.g., English, Spanish, French). NOTE: on the default tier this only affects chapter titles / number expansion — the spoken language comes from the chosen voice. For non-English n…
modelIdnumberOptional. 3 voice tiers: OmniVoice Global (602+ langs), Inworld Premium (#1 ranked), Minimax Studio (voice clone). Omit for default.
paymentIdstringyesValid payment ID (must be paid)
selectedChapterIndicesarrayChapter indices to include (0-based). Omit to auto-select content chapters. NOTE: auto-select drops front/back matter heuristically and can silently exclude a short (<200 char) wanted chapter near th…
speednumberSpeech speed 0.5-2.0
translateToLanguagestringTranslate book to this language before narration. Accepts English names ('Spanish', 'Chinese (Simplified)') or ISO-639 codes / locale tags ('es', 'en-US', 'pt-BR'). Cost added to price.
voicestringVoice ID. Must belong to the resolved tier's own voice set — Minimax: English_expressive_narrator, Wise_Woman, Deep_Voice_Man; Inworld: Ashley, Abby. OMIT to get a valid default for whichever tier is…

No output schema declared.

No examples provided.

extract_document ~132

Extract text from PDFs and images as clean Markdown. Uses Mistral OCR — handles complex layouts, tables, handwriting, multi-column documents, and mathematical notation. Preserves document hierarchy in structured Markdown. 10 sats/page. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='extract_document' and quantity=pageCount for multi-page PDFs.

NameTypeReqDescription
documentBase64stringyesBase64 encoded PDF or image
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

extract_receipt ~185

Extract structured data from receipts, invoices, and financial documents. Uses a dual-model pipeline (Mistral OCR + Kimi K3) for high-accuracy extraction. Returns JSON with merchant, date, line items, totals, tax, currency, and expense category. Handles crumpled receipts, faded text, and multi-page invoices. 25 sats/page. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='extract_receipt'.

NameTypeReqDescription
documentBase64stringyesBase64 encoded receipt/invoice image or PDF. NOTE: any text-bearing document is accepted — a non-receipt returns best-guess (possibly fabricated) merchant/total/line-item JSON with no error. Confirm…
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

generate_3d_model ~201

Generate a textured 3D GLB model from EITHER a photo OR a text prompt (provide exactly one, not both). Uses Tencent Hunyuan3D — high-fidelity geometry and PBR materials. Async — returns requestId, poll with check_job_status. 1600 sats per model. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_3d_model'.

NameTypeReqDescription
imageBase64stringBase64 encoded image (PNG, JPEG, or WEBP) for image-to-3D. Provide EITHER this OR prompt, not both.
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)
promptstringText description for text-to-3D (max 1024 chars). Provide EITHER this OR imageBase64, not both.

No output schema declared.

No examples provided.

generate_image ~173

Generate an image from a text prompt. Returns JSON with image URL. Models: Grok Imagine (fast creative generation, 100 sats), Seedream 4 (photorealistic detail, 150 sats), Nano Banana 2 (premium quality, 200 sats, default). Supports img2img with optional base64 input. Stable endpoints — models upgrade automatically as SOTA evolves. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_image'.

NameTypeReqDescription
imageBase64stringOptional base64 image for img2img generation
modelIdnumberOptional. Omit for default (best) model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesText prompt describing the image

No output schema declared.

No examples provided.

generate_music ~349

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. Specify BPM, key, genre, mood in prompt. Returns MP3 URL. 500 sats per song. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_music'.

NameTypeReqDescription
audio_formatstringOutput format. Default: mp3
bitrateintegerAudio bitrate. Default: 256000
is_instrumentalbooleanSet true for instrumental-only (no vocals). When true, prompt is required, lyrics are ignored.
lyricsstringSong lyrics with section tags (up to 3,500 chars). Tags: [Intro], [Verse], [Pre Chorus], [Chorus], [Bridge], [Outro], [Solo], [Hook], [Drop], [Build Up], [Inst], [Interlude], [Transition], [Break], […
lyrics_optimizerbooleanSet true to auto-generate lyrics from prompt when lyrics are empty.
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesMusic style with BPM, key, genre, mood, instruments (up to 2,000 chars). Example: 'E minor, 90 BPM, acoustic guitar ballad, male vocal'
sample_rateintegerAudio sample rate. Default: 44100

No output schema declared.

No examples provided.

generate_text ~268

Generate text using frontier AI language models. Pure per-character pricing (no minimum): Kimi K3 (best, ~10 chars/sat, 1M context, vision support, default), GPT-OSS-120B (standard, ~1000 chars/sat, 119 languages, best value). Rates are BTC-pegged and re-quoted hourly, so treat them as approximate — the 402 challenge is the authoritative price. Supports document Q&A via fileContext and vision analysis via imageBase64 (best model). Stable endpoints — models upgrade automatically. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_text' and the exact prompt.

NameTypeReqDescription
fileContextstringExtracted file text to include as context
fileNamestringName of the attached file
imageBase64stringBase64 data URI for vision analysis (best model only)
maxTokensnumberMax tokens in response
modelIdnumberOptional. Omit for default (best) model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesThe text prompt or question
systemPromptstringOptional system prompt

No output schema declared.

No examples provided.

generate_video ~218

Generate cinematic video from a text prompt. Uses ByteDance Seedance 2.0 — #1 on the Artificial Analysis text-to-video leaderboard — with synchronized native audio. Async — returns requestId, poll with check_job_status. 480p/720p/1080p, 4-15 seconds, priced per second by resolution (BTC-pegged; native audio free). Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='generate_video' and duration, resolution params.

NameTypeReqDescription
durationnumberyesDuration in seconds (4-15)
generate_audiobooleanInclude synchronized native audio (free)
modelIdnumberOptional. Omit for default model.
paymentIdstringyesValid payment ID (must be paid)
promptstringyesText prompt describing the video
resolutionstringOutput resolution (default 1080p when omitted; legacy 'mode' standard/pro → 720p/1080p)

No output schema declared.

No examples provided.

get_cost_estimate ~221

Get an exact sat cost quote for a service BEFORE creating a payment. Useful for budget-aware agents to price-check before committing. No payment required, no side effects. Pass service=text-to-speech&chars=1500, service=translate&chars=800, service=transcribe-audio&minutes=5, etc. Returns { amount_sats, breakdown, currency }. Omit params to see the full catalog of supported services.

NameTypeReqDescription
charsnumberCharacter count — required for TTS and translate
minutesnumberAudio length — required for transcribe-audio
modelstringOptional model id for services with multiple tiers
pagesnumberPage count — for OCR (default 1)
secondsnumberVideo duration — required for video / video-from-image
servicestringService id (e.g. 'text-to-speech', 'translate', 'image', 'video', 'transcribe-audio', 'ocr'). Omit to list all services.

No output schema declared.

No examples provided.

get_error_codes ~69

Get the machine-readable catalog of all error codes this API can return (e.g. TIMEOUT, CONTENT_FILTERED, RATE_LIMITED, L402_REFUND_ISSUED, L402_AUTO_ROUTED). Agents should branch on error_code rather than parsing free-text messages. No payment required.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_job_result ~250

Retrieve the final output of a completed async job. Call ONLY after check_job_status returns status='completed' — calling on a non-completed job returns an error. Returns JSON whose shape depends on jobType: video/video-image → { videoUrl, duration }; image-3d → { modelUrl } (GLB format); transcription → { text, language, segments }; epub-audiobook → { audioUrl, chapters }; ai-call → { transcript, duration, summary }. All URLs are temporary (valid ~1 hour) — download immediately. This tool is free and does not require payment. Do NOT use for synchronous tools — those return results directly.

NameTypeReqDescription
jobTypestringyesMust match the async tool: video=generate_video, video-image=animate_image, image-3d=generate_3d_model, transcription=transcribe_audio, epub-audiobook=epub_to_audiobook, ai-call=ai_call. video-fal-st…
requestIdstringyesThe requestId returned by the original async tool — same ID used with check_job_status

No output schema declared.

No examples provided.

get_model_pricing ~36

Get pricing for a specific model by ID. No payment required.

NameTypeReqDescription
modelIdnumberyesThe AI model database ID

No output schema declared.

No examples provided.

list_models ~126

Discover available AI models with numeric IDs, tier labels, capabilities, and per-call pricing in sats. Call this before create_payment to find the right modelId for your task. Returns JSON array: [{ id, name, tier, description, price, isDefault, category }]. Models marked isDefault=true are used when you omit modelId from create_payment. Filter by category to narrow results to a specific tool. This tool is free, requires no payment, and is idempotent — safe to call repeatedly.

NameTypeReqDescription
categorystringFilter by service category (matches tool names)

No output schema declared.

No examples provided.

list_planned_services ~73

List all planned services with current vote counts. Returns JSON array: [{ slug, name, description, votes }], sorted by votes descending. No payment required — this is a free discovery tool. Use the slug values with vote_on_service to cast votes. This tool is idempotent and safe to call repeatedly.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

merge_pdfs ~148

Merge multiple PDF files into a single document. Preserves bookmarks, links, and formatting. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Minimum 2 files, no maximum. Files are concatenated in array order. 100 sats per merge regardless of file count. Use convert_file instead if you need format conversion (e.g., DOCX→PDF). Pay per request with Bitcoin Lightning — no API key, no account needed. Requires create_payment with toolName='merge_pdfs'.

NameTypeReqDescription
filesarrayyesArray of base64-encoded PDF files (minimum 2)
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

open_voice_bridge ~451

Open a Voice Bridge session: a live phone call where YOUR LLM is the brain. Sats4AI provides PSTN + streaming STT + TTS as composable primitives. You decide when to speak (call voice_bridge_say), you read transcripts as they arrive (call poll_voice_bridge), you close the call when done (call end_voice_bridge). Unused deposit time is refunded via LNURL-withdraw. Use this when you want to keep your conversation context private and drive each turn yourself. When NOT to use: not for fully-managed agent-style calls where we handle the brain (use ai_call). Not for one-shot TTS broadcasts or IVR playback (use place_call). Not when live transcript polling adds no value — the per-turn overhead isn't worth it. Privacy: transcripts held in memory only, garbage-collected 30 minutes after the call ends; call audio is never persisted. Pay with Bitcoin Lightning — no telecom account, no signup. Requires create_payment with toolName='voice_bridge_open', phoneNumber, durationMinutes. Deposit is priced per destination off the carrier rate sheet and is BTC-pegged, so call create_payment for the exact figure; premium-rate and satellite ranges are refused.

NameTypeReqDescription
codecstringPCMU 8kHz (default, universal) or L16_16000 for HD voice when both endpoints support it
durationMinutesnumberDeposit for N minutes, 2-30 (default 3). Unused time refunded.
languagestringBCP-47 language tag (default en-US). See /api/l402/voice-bridge/coverage for the matrix.
paymentIdstringyesValid payment ID from create_payment (toolName=voice_bridge_open)
phoneNumberstringyesDestination phone number in E.164 format (e.g., +14155550100)
refundAddressstringLightning address for automatic refund of unused time
sttEnabledbooleanDefault true. Set false for TTS-only broadcast calls.
ttsEnabledbooleanDefault true. Set false to bring-your-own-audio via voice_bridge_say.

No output schema declared.

No examples provided.

place_call ~182

Bridge the digital-physical gap — place an automated phone call to deliver a spoken message or play audio to any number. Useful when your task requires notifying a human, delivering alerts, or reaching someone who isn't online. Pay with Bitcoin Lightning — no telecom account, no KYC, no subscription. Requires create_payment with toolName='place_call' and phoneNumber.

NameTypeReqDescription
audioUrlstringPublic URL to audio file. Provide this OR message.
durationMinutesnumberDuration in minutes (1-30). Required for audioUrl.
messagestringText to speak via TTS (max 500 chars). Provide this OR audioUrl.
paymentIdstringyesValid payment ID (must be paid)
phoneNumberstringyesPhone number in E.164 format (e.g., +14155550100)

No output schema declared.

No examples provided.

poll_voice_bridge ~83

Fetch new transcript events from an open Voice Bridge call since the last cursor. Returns partial + final transcripts + system events. Agent should poll in a loop (~500ms-1s). No additional payment.

NameTypeReqDescription
cursornumberLast seq number seen (default 0 = start from beginning)
sessionIdstringyesSession ID from open_voice_bridge

No output schema declared.

No examples provided.

receive_fax ~314

When you're expecting a fax back — bank confirmation, court filing, signed document — open a 24h receive window at our shared number +1 320 299 1523. Matched by caller ID (last 10 digits of the sender), delivered to your email as soon as it arrives. Optional OCR add-on (+200 sats) returns a searchable text file alongside the PDF — useful for feeding the content to an agent or archiving. Optional callback_url POSTs an HMAC-signed webhook on delivery so your agent doesn't have to poll. No refund if no fax arrives within the window (prevents subscription squatting). If OCR fails, an LNURL-withdraw for 200 sats is included in the delivery email for partial refund. Pay with Bitcoin Lightning — no dedicated fax number rental, no monthly subscription, no account.

NameTypeReqDescription
callback_idstringOptional opaque correlation string (max 128 chars). Echoed in the webhook body.
callback_urlstringOptional HTTPS webhook URL. POSTed (HMAC-signed) when fax is delivered. Public HTTPS only — no loopback/RFC1918.
emailstringyesEmail address to deliver the fax PDF to
fromNumberstringyesExpected sender fax number in E.164 format (matched by last 10 digits of caller ID)
ocrbooleanAdd OCR text extraction (+200 sats). Default: false.
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

remove_background ~136

Remove background from any image, returning transparent PNG. Uses BiRefNet (state-of-the-art, Papers with Code — Sm 0.901 on DIS5K). Handles hair, fur, glass, transparency, and complex edges. Stable endpoint — model upgrades automatically as SOTA evolves. 44 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='remove_background'.

NameTypeReqDescription
imageBase64stringyesBase64-encoded image (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

remove_object ~206

Remove unwanted objects from images by describing what to remove — no mask needed. Combines Grounding DINO detection (ECCV 2024) with Bria Eraser inpainting. Just say 'person', 'car', or 'watermark' and the object is erased and filled convincingly. 130 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='remove_object'.

NameTypeReqDescription
box_thresholdnumberDetection confidence threshold (0-1, default 0.25)
imageBase64stringyesBase64-encoded image (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)
querystringyesWhat to remove (e.g. 'person', 'car', 'watermark', 'text')
text_thresholdnumberText matching threshold (0-1, default 0.25)

No output schema declared.

No examples provided.

request_refund ~199

Open a MANUAL 48-hour refund review ticket for a service that FAILED (error, timeout, wrong output). Sends an email to the operator. DO NOT call this for unused-minute refunds on metered services (ai_call, voice_bridge) — those are returned automatically as an LNURL-withdraw link in the service's own response under `refund.lnurl_withdraw`, no manual ticket needed. If you call this on a metered payment that already has a pending LNURL refund, this tool will detect it and return the existing LNURL instead of creating a duplicate ticket.

NameTypeReqDescription
emailstringOptional email address for follow-up
feedbackstringOptional description of what went wrong (max 2000 chars)
invoicestringyesLightning address (e.g., [email protected]) or bolt11 invoice for the refund
paymentIdstringyesThe payment ID from a failed service call

No output schema declared.

No examples provided.

restore_face ~237

Restore blurry, damaged, or AI-generated faces to sharp, natural quality. Uses CodeFormer (NeurIPS 2022, state-of-the-art FID 32.65 on CelebA-Test). Adjustable fidelity — balance between quality enhancement and identity preservation. Also enhances background and upsamples. Stable endpoint — model upgrades automatically as SOTA evolves. 25 sats per image, pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='restore_face'.

NameTypeReqDescription
background_enhancebooleanAlso enhance the background (default true)
face_upsamplebooleanUpsample restored faces (default true)
fidelitynumberFidelity to input: 0.0 = max quality enhancement, 1.0 = max identity preservation (default 0.5)
imageBase64stringyesBase64-encoded image containing faces (PNG, JPEG, WEBP) or data URI
paymentIdstringyesValid payment ID (must be paid)
upscalenumberOutput upscale factor 1-4 (default 2)

No output schema declared.

No examples provided.

send_email ~155

Reach anyone with an email address — useful when your task requires formal communication, sending reports, or contacting someone outside chat. No SMTP server, no domain verification needed. Plain text, max 10,000 chars body, 200 chars subject. 200 sats. Pay with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='send_email'.

NameTypeReqDescription
bodystringyesEmail body text (plain text, max 10,000 characters)
paymentIdstringyesValid payment ID (must be paid)
replyTostringOptional reply-to email address
subjectstringyesEmail subject (max 200 characters)
tostringyesRecipient email address

No output schema declared.

No examples provided.

send_fax ~356

When your task requires a paper-trail on the other end — loan paperwork to a bank, signed contract to a notary, booking confirmation to a hotel in Japan — send a fax to any number worldwide. Two modes: 'pdf' (fetch from public URL) or 'text' (we format typed text into a PDF locally). Text/cover support Latin (incl. Central European, Vietnamese), Greek, Cyrillic, Japanese, Korean, Chinese (Simplified + Traditional), Thai, Hindi, Georgian, Armenian, Amharic; RTL scripts (Arabic/Hebrew) and emoji are rejected BEFORE your payment is consumed. Optional cover page. Pricing: 500 sats for up to 10 pages, +50 sats per additional page. Max 350 pages / 50 MB. Pass 'pages' to create_payment as 'quantity' to get the right invoice. Pay with Bitcoin Lightning — no fax machine, no phone line, no telecom account.

NameTypeReqDescription
coverTextstringOptional cover page text (mode=pdf only, adds 1 page)
modestringyes'pdf' = send PDF from pdfUrl. 'text' = generate PDF from typed text.
pagesnumberExpected page count (1-350). Used for pricing. Pass same value to create_payment as 'quantity'.
paymentIdstringyesValid payment ID (must be paid)
pdfUrlstringRequired for mode=pdf: public HTTPS URL returning application/pdf
phoneNumberstringyesDestination fax number in E.164 format (e.g. +14155550100)
textstringRequired for mode=text: message text to format as PDF

No output schema declared.

No examples provided.

send_sms ~208

Reach a human via SMS when your task requires real-world coordination. Send to any phone number worldwide — messages delivered in seconds. No phone plan, no SIM card, no telecom account needed. Pay with Bitcoin Lightning — no API key, no KYC, no subscription. Requires create_payment with toolName='send_sms' and phoneNumber+message at payment time. The phoneNumber and message must match those used in create_payment.

NameTypeReqDescription
messagestringyesMessage text (max 126 chars — short disclaimer auto-appended)
paymentIdstringyesValid payment ID (must be paid)
phoneNumberstringyesPhone number in E.164 format (e.g., +14155550100). NOTE: non-+1 (international) numbers are delivered from an alphanumeric sender ID, so the recipient CANNOT reply — one-way only; for some countries…

No output schema declared.

No examples provided.

text_to_speech ~4,696

Text-to-speech with 3 tiers: OmniVoice Global (602+ languages including Yoruba, Bengali, Cebuano, Twi, zero-shot voice cloning, ~90 chars/sat — use 'language' parameter with ISO code), Inworld Premium (#1 ranked TTS ELO 1217, emotion control, 40+ languages, ~13 chars/sat), Minimax Studio (voice cloning from reference clip, 40+ languages, ~7 chars/sat). Adjustable speed (0.5-2.0x). Returns audio URL. Pay with Bitcoin Lightning — no API key or signup needed. When NOT to use: not for phone calls (use place_call for one-shot broadcasts, ai_call for AI voice agents, or open_voice_bridge to drive the call with your own LLM). For rare/underserved languages (Yoruba, Twi, Marathi, Cebuano, etc.), pick OmniVoice Global via language= — Inworld/Minimax don't cover these. Requires create_payment with toolName='text_to_speech'.

NameTypeReqDescription
languagestringOmniVoice tier ONLY: ISO 639 language code (646 supported). Default: 'en'. NOTE: on the Inworld/Minimax tiers this field is silently ignored — you get the chosen voice's own language (usually English…
modelIdnumberOptional. 3 tiers: OmniVoice Global (602+ langs, ~90 chars/sat), Inworld Premium (#1 ranked, ~13 chars/sat), Minimax Studio (voice cloning, ~7 chars/sat). Omit for default.
paymentIdstringyesValid payment ID (must be paid)
speednumberSpeech speed multiplier (0.5-2.0)
textstringyesText to convert to speech
voicestringVoice ID. 467 total voices. Use list_models to see available TTS models. Or paste a custom cloned voice ID. ## Minimax Studio — voice cloning from reference clip, ~7 chars/sat (332 voices) ### Arabi…
voice_descriptionstringOmniVoice only: describe desired voice (e.g., 'female, young adult, high pitch')

No output schema declared.

No examples provided.

transcribe_audio ~199

Transcribe audio to text with timestamps. Uses Mistral Transcription — high-accuracy speech recognition that handles accents, background noise, and overlapping speakers. 13 languages: en, zh, hi, es, ar, fr, pt, ru, de, ja, ko, it, nl. Up to 500 MB / 60 minutes per file. Async — returns requestId, poll with check_job_status(jobType='transcription'), then get_job_result. 10 sats/min. Privacy: audio and transcripts are ephemeral — processed, returned, and discarded. Never persisted. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='transcribe_audio'.

NameTypeReqDescription
audioBase64stringyesBase64 encoded audio file
languagestringLanguage code (e.g., 'en', 'es')
paymentIdstringyesValid payment ID (must be paid)

No output schema declared.

No examples provided.

transcribe_translate ~317

Compound endpoint — one payment turns audio in any of 13 source languages into both a transcript AND a translation in any of 119 target languages. Perfect for WhatsApp voice messages in a language you don't speak (Yoruba → English), or recording a meeting in another language and reading it in yours. Auto-detects source if omitted. Async — returns requestId, poll with check_job_status(jobType='transcribe-translate'). Flat price covers STT + translation. Cheaper than calling transcribe_audio + translate_text separately for typical voice messages. Pay with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='transcribe_translate'.

NameTypeReqDescription
audioBase64stringyesBase64-encoded audio file
paymentIdstringyesValid payment ID (must be paid)
sourceLanguagestringOptional — auto-detected if omitted. Accepts ISO-639 codes for the 13 STT languages: en, zh, hi, es, ar, fr, pt, ru, de, ja, ko, it, nl. NOTE: only these 13 are transcribable — a wrong hint (or audio…
targetLanguagestringyesTarget language — English name (e.g. 'Spanish') or ISO-639 code (e.g. 'es', 'en-US'). 119 languages supported.

No output schema declared.

No examples provided.

translate_rare_language ~393

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) — including 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). QUALITY VARIES AND IS PUBLISHED PER LANGUAGE: every language carries a measured tier — good (chrF++ >= 45 vs human reference translations), fair (32-45), unverified (no benchmark exists, untested, may be poor), experimental (known weak). The response repeats the tier so you can judge how much to trust it. GET https://sats4ai.com/api/l402/translate-rare-language for the full language list with tiers, or GET /api/languages. Unsupported languages are rejected BEFORE payment. For mainstream languages use translate_text instead — it is cheaper and more fluent. Priced 50 sats base + 0.002 sats/char (GPU). Pay with Bitcoin Lightning — no API key or signup. Requires create_payment with toolName='translate_rare_language'.

NameTypeReqDescription
paymentIdstringyesValid payment ID (must be paid). Price = 50 sats + 0.002/char.
targetLanguagestringyesMADLAD language code ('mag', 'arz', 'bho', 'hne') or English name ('Magahi', 'Egyptian Arabic'). Rejected before payment if unsupported.
textstringyesText to translate. Max 6000 characters.

No output schema declared.

No examples provided.

translate_text ~623

Translate text across 119 languages with high accuracy. Uses GPT-OSS 120B — top scorer in our multilingual translation evals with strong low-resource support. Auto-detects source language. Privacy-preserving: no data stored. Pricing: 1 sat per 1,000 characters, minimum 1 sat per request. Language parameters accept English names ('Spanish', 'Chinese (Simplified)') or ISO-639 codes / locale tags ('es', 'en-US', 'pt-BR', 'zh-Hans'). 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 per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='translate_text' and prompt (the text to translate).

NameTypeReqDescription
modelIdnumberOptional. Translation model is selected automatically.
paymentIdstringyesValid payment ID (must be paid)
sourceLanguagestringSource language (auto-detected if omitted). NOTE: only checked for being a known language, not against your text — a wrong but valid value (e.g. 'German' for Spanish text) is accepted and silently mi…
targetLanguagestringyesTarget language — English name ('Spanish', 'Chinese (Simplified)') or ISO-639 code / locale tag ('es', 'pt-BR'). 119 supported; full list at the GET /api/l402/translate-text endpoint.
textstringyesText to translate

No output schema declared.

No examples provided.