{"server":"io.github.cnghockey/sats4ai","count":13,"changes":[{"tool":"get_job_result","kind":"changed","observed_at":"2026-10-06T17:45:11.770Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"64f8e81d9adfce51d07423adde07bf03","after_hash":"66dad34c112e136213104a0bd8e3aba4"},{"tool":"check_job_status","kind":"changed","observed_at":"2026-10-06T17:45:11.770Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"32e52a188f55bc4ba41658cc75dc7c11","after_hash":"aaed2d25270aafa60e7b2a8b0e39b47d"},{"tool":"transcribe_audio","kind":"changed","observed_at":"2026-10-03T07:26:00.588Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"e806aaea47469a981f92b086d4190eb4","after_hash":"6d05d0dc1dd4f3a86b12180d525bb143"},{"tool":"transcribe_translate","kind":"changed","observed_at":"2026-10-02T08:27:38.551Z","fields":["description","inputSchema"],"description_before":"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'.","description_after":"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. Pass names (the people and places spoken in the audio) to help the speech model spell them right — free, same price. 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'.","description_similarity":0.833,"before_hash":"86178dc8afadbce0e4edf840827136de","after_hash":"3478f3f06c808e07f2b347c4f18c5c6e"},{"tool":"transcribe_audio","kind":"changed","observed_at":"2026-10-02T08:27:38.551Z","fields":["description","inputSchema"],"description_before":"Transcribe audio to text with WORD-LEVEL timestamps (timestamps:'word' returns per-word start/end times — subtitle alignment, karaoke captions, cutting video to speech) or segment 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'.","description_after":"Transcribe audio to text with WORD-LEVEL timestamps (timestamps:'word' returns per-word start/end times — subtitle alignment, karaoke captions, cutting video to speech) or segment 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. Pass names (the people and places spoken in the audio) to help the speech model spell them right — free, same price. 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'.","description_similarity":0.86,"before_hash":"2c214fcb6b8c4dc3974ee3bc9768727c","after_hash":"e806aaea47469a981f92b086d4190eb4"},{"tool":"ai_call","kind":"changed","observed_at":"2026-09-30T20:38:10.649Z","fields":["description"],"description_before":"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'). Priced in sats per destination and duration — create_payment returns the exact amount before you pay. 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. The agent identifies itself as a virtual assistant calling for a client, and answers questions about the service if the recipient asks. At the end of a normal call it asks the recipient for permission to share the recording; without a clear yes, the recording is deleted and never returned. No impersonation, scams, threats, harassment, credential theft, unsolicited bulk messages, or contact after an opt-out. Answering a call does not establish consent. We screen requests after payment. Held messages and calls are not sent or placed; payment is retained during review, not refunded immediately. Confirmed violations are not refunded. Unresolved communication holds become eligible for a refund after 24 hours; refund eligibility is processed by scheduled maintenance. Human review costs 1 sat at https://sats4ai.com/appeal. Recent message text and extracts of recording transcripts support recipient-scoped abuse checks for 24 hours. These context records are deleted hourly, so storage can last up to 25 hours. Original uploaded-call transcripts and raw held-request or appeal evidence enter cleanup after 30 days. We also keep a de-identified record of screened communications to measure and improve fraud detection. Identifiers in it — contact addresses, numbers and names that follow a greeting — are replaced with one-way tokens, and it holds no destination number and no account, because the service has none. De-identification is not anonymization: text a sender wrote can still identify someone. Do not submit personal information the service does not need. Providers keep records under their own policies.","description_after":"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, and returns a full transcript with structured analysis. One redial, 2 minutes later, if nobody answers, a voicemail answers, the line is busy or the call drops within 30 seconds. No redial after the person speaks and hangs up, asks to stop or opts out, or after the agent leaves a voicemail message. A person who asks not to be called again is added to our do-not-contact list. The redial runs on the deposit's unused minutes (none left: no redial), and a connected redial bills at least 1 minute. 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'). Priced in sats per destination and duration — create_payment returns the exact amount before you pay. 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. The agent identifies itself as a virtual assistant calling for a client, and answers questions about the service if the recipient asks. At the end of a normal call it asks the recipient for permission to share the recording; without a clear yes, the recording is deleted and never returned. No impersonation, scams, threats, harassment, credential theft, unsolicited bulk messages, or contact after an opt-out. Answering a call does not establish consent. We screen requests after payment. Held messages and calls are not sent or placed; payment is retained during review, not refunded immediately. Confirmed violations are not refunded. Unresolved communication holds become eligible for a refund after 24 hours; refund eligibility is processed by scheduled maintenance. Human review costs 1 sat at https://sats4ai.com/appeal. Recent message text and extracts of recording transcripts support recipient-scoped abuse checks for 24 hours. These context records are deleted hourly, so storage can last up to 25 hours. Original uploaded-call transcripts and raw held-request or appeal evidence enter cleanup after 30 days. We also keep a de-identified record of screened communications to measure and improve fraud detection. Identifiers in it — contact addresses, numbers and names that follow a greeting — are replaced with one-way tokens, and it holds no destination number and no account, because the service has none. De-identification is not anonymization: text a sender wrote can still identify someone. Do not submit personal information the service does not need. Providers keep records under their own policies.","description_similarity":0.879,"before_hash":"930b7d409695d043adabbb1e48f84744","after_hash":"2b73c1b3c2fd73dc0e4c5c6afbf0a70d"},{"tool":"place_call","kind":"changed","observed_at":"2026-09-30T08:34:48.176Z","fields":["description","inputSchema"],"description_before":"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. Calls start with an unverified-sender notice; the opening and closing safety notices fit the prepaid minutes. No impersonation, scams, threats, harassment, credential theft, unsolicited bulk messages, or contact after an opt-out. Answering a call does not establish consent. We screen requests after payment. Held messages and calls are not sent or placed; payment is retained during review, not refunded immediately. Confirmed violations are not refunded. Unresolved communication holds become eligible for a refund after 24 hours; refund eligibility is processed by scheduled maintenance. Human review costs 1 sat at https://sats4ai.com/appeal. Recent message text and extracts of recording transcripts support recipient-scoped abuse checks for 24 hours. These context records are deleted hourly, so storage can last up to 25 hours. Original uploaded-call transcripts and raw held-request or appeal evidence enter cleanup after 30 days. We also keep a de-identified record of screened communications to measure and improve fraud detection. Identifiers in it — contact addresses, numbers and names that follow a greeting — are replaced with one-way tokens, and it holds no destination number and no account, because the service has none. De-identification is not anonymization: text a sender wrote can still identify someone. Do not submit personal information the service does not need. Providers keep records under their own policies.","description_after":"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. The message plays first. Then a short spoken notice names the service and how to stop these calls: call the number back, or go to sats4ai.com/c. The notice fits the prepaid minutes. No impersonation, scams, threats, harassment, credential theft, unsolicited bulk messages, or contact after an opt-out. Answering a call does not establish consent. We screen requests after payment. Held messages and calls are not sent or placed; payment is retained during review, not refunded immediately. Confirmed violations are not refunded. Unresolved communication holds become eligible for a refund after 24 hours; refund eligibility is processed by scheduled maintenance. Human review costs 1 sat at https://sats4ai.com/appeal. Recent message text and extracts of recording transcripts support recipient-scoped abuse checks for 24 hours. These context records are deleted hourly, so storage can last up to 25 hours. Original uploaded-call transcripts and raw held-request or appeal evidence enter cleanup after 30 days. We also keep a de-identified record of screened communications to measure and improve fraud detection. Identifiers in it — contact addresses, numbers and names that follow a greeting — are replaced with one-way tokens, and it holds no destination number and no account, because the service has none. De-identification is not anonymization: text a sender wrote can still identify someone. Do not submit personal information the service does not need. Providers keep records under their own policies.","description_similarity":0.915,"before_hash":"61e9f6101fe3999894ad03c9aaf15694","after_hash":"cad5a1d81dea8b588e7219111bac7ee6"},{"tool":"edit_image","kind":"changed","observed_at":"2026-09-28T10:27:57.286Z","fields":["description","inputSchema"],"description_before":"Edit an image with natural language instructions. Uses MAI-Image-2.6, ranked #3 on the Artificial Analysis image-editing leaderboard as of September 2026 — understands context, handles object addition/removal, style transfer, and inpainting. Returns JSON with image URL. 200 sats per edit at any output size. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='edit_image'.","description_after":"Edit an image with natural language instructions. Uses MAI-Image-2.6, ranked #3 on the Artificial Analysis image-editing leaderboard as of September 2026 — understands context, handles object addition/removal, style transfer, and inpainting. Returns JSON with image URL. 200 sats per edit, one flat price. Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='edit_image'.","description_similarity":0.883,"before_hash":"4d01133492f09989c39a804c27b228b4","after_hash":"f390aa237379b12c01813d2ae07b7b41"},{"tool":"create_payment","kind":"changed","observed_at":"2026-09-28T10:27:57.286Z","fields":["description","inputSchema"],"description_before":"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 and animate_image require duration, and take an optional resolution (250-400 sats/sec by resolution — quote with the SAME duration and resolution you will execute with); edit_image is a flat 200 sats at any output size (resolution is optional and does not change the price); epub_to_audiobook requires characterCount (total text characters in the book — price is per-character by voice tier, minimum 500 sats). If required params are missing, the response includes an error with the missing field names.","description_after":"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 and animate_image require duration, and take an optional resolution (250-400 sats/sec by resolution — quote with the SAME duration and resolution you will execute with); edit_image is a flat 200 sats per edit (resolution is optional and does not change the price); epub_to_audiobook requires characterCount (total text characters in the book — price is per-character by voice tier, minimum 500 sats). If required params are missing, the response includes an error with the missing field names.","description_similarity":0.977,"before_hash":"abd7fabc115eb9277760a4d7eafd4ed4","after_hash":"79cd302f1c8c027f53186788e1105b60"},{"tool":"voice_bridge_say","kind":"changed","observed_at":"2026-09-27T22:19:46.133Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"ca35dbfb1277a015a13a143319b69ebb","after_hash":"3015efaa9c06eec637bef4d4c039fad8"},{"tool":"epub_to_audiobook","kind":"changed","observed_at":"2026-09-27T22:19:46.133Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"4788f23bdc23a93da269bbd53e52002e","after_hash":"99837fe8c6397c076e38784401f8178c"},{"tool":"transcribe_audio","kind":"changed","observed_at":"2026-09-27T22:19:46.133Z","fields":["inputSchema"],"description_before":null,"description_after":null,"description_similarity":null,"before_hash":"fcb6bee91f75f92df53861fd19b59275","after_hash":"2c214fcb6b8c4dc3974ee3bc9768727c"},{"tool":"text_to_speech","kind":"changed","observed_at":"2026-09-27T22:19:46.133Z","fields":["description","inputSchema"],"description_before":"Text-to-speech with 3 tiers: OmniVoice Global (602+ languages including Yoruba, Bengali, Cebuano, Twi, zero-shot voice cloning, ~106 chars/sat — use 'language' parameter with ISO code), Inworld Premium (#1 ranked TTS ELO 1217, emotion control, 40+ languages, ~16 chars/sat), Minimax Studio (voice cloning from reference clip, 40+ languages, ~5 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'.","description_after":"Text-to-speech with 3 tiers: OmniVoice Global (602+ languages including Yoruba, Bengali, Cebuano, Twi, voice design, ~106 chars/sat — use 'language' parameter with ISO code), Inworld Premium (#1 ranked TTS ELO 1217, emotion control, 40+ languages, ~16 chars/sat), Minimax Studio (voice cloning from reference clip, 40+ languages, ~5 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'.","description_similarity":0.979,"before_hash":"1c5d412947fcea69dcbef5b10d59df2c","after_hash":"5539b319ca70ee8f3335844093c4f6e4"}],"next_before":null,"next_actions":[]}