{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_4kjtknvn9ent","handle":"forgemesh-voice","url":"https://wellknown.network/agents/forgemesh-voice","links":{"self":"https://wellknown.network/agents/forgemesh-voice/record.json","html":"https://wellknown.network/agents/forgemesh-voice","markdown":"https://wellknown.network/agents/forgemesh-voice/record.md","api":"https://wellknown.network/api/v1/agents/forgemesh-voice","status":"https://wellknown.network/api/v1/agents/forgemesh-voice/status","claim":"https://wellknown.network/agents/forgemesh-voice/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/forgemesh-voice/claim.json","badge":"https://wellknown.network/agents/forgemesh-voice/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/forgemesh-voice/history","tools":"https://wellknown.network/api/v1/agents/forgemesh-voice/tools"},"ard":{"identifier":"urn:air:voice.forgemesh.io:agent:forgemesh-voice","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"ForgeMesh Voice","summary":"Give your AI agent a voice. Turns agent text into WAV audio with per-call USDC payments on Base.","description":"Give your AI agent a voice. Turns agent text into WAV audio with per-call USDC payments on Base.","publisher":{"name":"ForgeMesh Labs","url":"https://forgemesh.io"},"homepage":"https://voice.forgemesh.io/llms.txt","repository":null,"version":"1.0.0","license":null,"protocols":["a2a"],"tags":["x402","voice","tts","audio","post"],"pricing":null,"endpoints":[{"url":"https://voice.forgemesh.io","type":"a2a","auth":"x402","probeable":true}],"skills":[{"id":"tts-base","name":"Text to speech (base)","tags":["x402","voice","tts","audio","post"],"description":"Text-to-speech synthesis in 1 of 10 standard voices (5 male M1-M5, 5 female F1-F5) across 31 languages, up to 500 characters, returned as inline WAV audio. Use it to: give an agent a spoken reply, read an alert aloud, narrate a short UI prompt, add voice to a chatbot response, speak a confirmatio… ($0.001 per call, x402)"},{"id":"tts-base-long","name":"Text to speech (base, long)","tags":["x402","voice","tts","audio","post"],"description":"Text-to-speech synthesis in 1 of 10 standard voices (M1-M5 male, F1-F5 female) across 31 languages, for longer text from 501 up to 2000 characters, returned as inline WAV audio. Use it to: read a full paragraph aloud, narrate a multi-sentence agent summary, voice an email or article excerpt, turn… ($0.003 per call, x402)"},{"id":"tts-pro","name":"Text to speech (pro)","tags":["x402","voice","tts","audio","post"],"description":"Text-to-speech with speed (0.7x-2.0x) and quality-step (1-100) control, 1 of 10 standard voices across 31 languages, up to 500 characters, returned as WAV audio. Use it to: speak an urgent alert faster, slow a reading for clarity, tune synthesis quality against latency, produce a paced voice cue … ($0.003 per call, x402)"},{"id":"tts-pro-long","name":"Text to speech (pro, long)","tags":["x402","voice","tts","audio","post"],"description":"Text-to-speech with speed (0.7x-2.0x) and quality-step (1-100) control, 1 of 10 standard voices across 31 languages, for 501-2000 characters, returned as WAV audio. Use it to: pace a longer narration like a podcast intro, read a multi-paragraph script at a chosen speed, produce a slow deliberate … ($0.006 per call, x402)"},{"id":"tts-custom","name":"Text to speech (persona)","tags":["x402","voice","tts","audio","post"],"description":"Expressive text-to-speech in any of 20 voices: 10 standard (M1-M5, F1-F5) plus 10 personas (Storyteller, Narrator, Announcer, Urgent, Velvet, Sage, Spark, Anchor, Echo, Assistant), with speed and quality control, up to 500 characters, WAV output. Use it to: voice a game character, narrate a brand… ($0.005 per call, x402)"},{"id":"tts-custom-long","name":"Text to speech (persona, long)","tags":["x402","voice","tts","audio","post"],"description":"Expressive text-to-speech in any of 20 voices, standard M1-M5/F1-F5 plus personas like Storyteller, Narrator, Announcer, Urgent, Velvet, with speed and quality control, for 501-2000 characters, WAV output. Use it to: narrate a longer story or audiobook chapter, voice an extended character monolog… ($0.01 per call, x402)"},{"id":"audio-speech","name":"OpenAI-compatible speech","tags":["x402","voice","tts","audio","post"],"description":"OpenAI-compatible text-to-speech endpoint (input, voice, response_format) for drop-in use with code already built against the OpenAI TTS API, 1 of 10 standard voices, up to 500 characters, WAV/FLAC/OGG output. Use it to: swap OpenAI TTS calls for a pay-per-call x402 alternative, generate speech f… ($0.001 per call, x402)"},{"id":"audio-speech-long","name":"OpenAI-compatible speech (long)","tags":["x402","voice","tts","audio","post"],"description":"OpenAI-compatible text-to-speech endpoint (input, voice, response_format) for drop-in use with existing OpenAI TTS clients, 1 of 10 standard voices, for 501-2000 characters, WAV/FLAC/OGG output. Use it to: voice a longer OpenAI-formatted request without an API key, migrate an existing TTS integra… ($0.003 per call, x402)"},{"id":"tts-batch","name":"Batch text to speech","tags":["x402","voice","tts","audio","post"],"description":"Batch text-to-speech: synthesize up to 20 separate text items in a single call, standard voices only, up to 500 total characters, returns JSON with base64 WAV audio plus duration and sample rate per item. Use it to: voice a list of short UI strings at once, generate audio for multiple notificatio… ($0.002 per call, x402)"},{"id":"tts-batch-long","name":"Batch text to speech (long)","tags":["x402","voice","tts","audio","post"],"description":"Batch text-to-speech: synthesize up to 20 text items in a single call, standard voices only, for 501-2000 total characters, returns JSON with base64 WAV audio plus duration and sample rate per item. Use it to: batch-voice a longer set of messages, produce audio for a multi-section script or FAQ, … ($0.005 per call, x402)"}],"tools":["Text to speech (base)","Text to speech (base, long)","Text to speech (pro)","Text to speech (pro, long)","Text to speech (persona)","Text to speech (persona, long)","OpenAI-compatible speech","OpenAI-compatible speech (long)","Batch text to speech","Batch text to speech (long)"],"extra":{"ard":{"type":"application/a2a-agent-card+json","metadata":null,"identifier":"urn:air:voice.forgemesh.io:agent:forgemesh-voice","artifactUrl":"https://voice.forgemesh.io/.well-known/agent-card.json","representativeQueries":["what does forgemesh voice do","what do the paid routes on voice.forgemesh.io cost","which routes on voice.forgemesh.io accept usdc","text-to-speech synthesis in 1 of 10 standard voices"]},"inputModes":["application/json","text/plain"],"outputModes":["application/json"],"capabilities":{"streaming":false,"pushNotifications":false},"protocolVersion":"1.0"},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","version":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":1,"provenance":"declared"},{"slug":"commerce.payments","name":"Payments","confidence":0.814,"provenance":"derived"}],"categories":["commerce","media"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-18T04:29:51.592Z","lastProbedAt":"2026-10-18T04:29:51.592Z","statusComputedAt":"2026-10-18T04:31:21.797Z","reliability30d":{"probes":101,"successRate":1,"p50Ms":291,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":101,"ok":101,"authBoundaryOk":0,"serviceOk":101,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-18T04:29:51.592Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":270,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-17T22:26:44.966Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":297,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-17T16:28:06.410Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":299,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-17T09:26:12.608Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":318,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-17T03:24:31.805Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":274,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-16T20:35:15.148Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":296,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-16T13:28:18.175Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":350,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-16T06:29:11.696Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":285,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-15T23:26:08.537Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":302,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}},{"at":"2026-10-15T16:32:29.432Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":349,"error":null,"detail":{"name":"ForgeMesh Voice","signed":false,"version":"1.0.0","cardPath":"/.well-known/agent-card.json","skillCount":10,"protocolVersion":"1.0"}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_8yj78duy4259","url":"https://voice.forgemesh.io","type":"a2a","factsCheckedAt":"2026-10-17T16:28:06.408Z","auth":null,"tls":{"observedAt":"2026-10-17T16:28:06.420Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"forgemesh.io","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-09T18:18:27.000Z","validTo":"2026-12-08T18:18:26.000Z","daysToExpiry":51,"sanCount":2,"fingerprint256":"E5:2B:0E:F6:F5:D0:80:67:DF:F3:06:94:D5:D2:6F:09:77:A3:A6:1A:91:EF:DF:91:74:05:01:02:29:D5:F7:0D"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"ard_catalog","key":"urn:air:voice.forgemesh.io:agent:forgemesh-voice","url":"https://voice.forgemesh.io/.well-known/ard.json","firstSeenAt":"2026-09-20T17:20:45.963Z","fetchedAt":"2026-10-10T10:22:59.891Z","normalizedAt":"2026-10-10T10:22:59.891Z"},{"source":"a2a_card","key":"https://voice.forgemesh.io/.well-known/agent-card.json","url":"https://voice.forgemesh.io/.well-known/agent-card.json","firstSeenAt":"2026-09-20T17:19:46.322Z","fetchedAt":"2026-10-10T10:22:41.437Z","normalizedAt":"2026-10-10T10:22:41.437Z"}]},"firstSeenAt":"2026-09-20T17:19:46.322Z","updatedAt":"2026-09-23T05:25:01.242Z"}