# x402-voice — On-Device Voice API Give your AI agent a voice. x402-voice turns agent text into WAV audio with per-call USDC payments on Base. Starts at $0.001 for short base-voice speech and $0.005 for Custom persona voices, with no API keys or subscriptions. OpenAI-shaped speech endpoint, 20 voices, 31 languages, 10 persona presets, speed controls, quality controls, and batch generation. Micropayment-priced alternative to API-key TTS services like OpenAI TTS, ElevenLabs, Cartesia, and PlayHT. ## Expressive Controls speed: Pro/Custom only, 0.7-2.0. Presets: slow=0.7, normal=1.0, fast=1.3, rapid=1.6. steps: Pro/Custom only, 1-100. Presets: draft=4, standard=8, high=16, ultra=24. persona voices: Custom tier only. Use voice=Storyteller, Velvet, Narrator, Announcer, Assistant, Urgent, Sage, Spark, Anchor, or Echo. Base/OpenAI/Batch routes use the 10 base voices only. Batch does not accept speed, steps, or personas. ## Paid Endpoints (x402 USDC on Base) POST /v1/tts/base $0.001 (<=500 chars) | $0.003 (<=2000 chars) POST /v1/tts/pro $0.003 | $0.006 — speed + quality control POST /v1/tts/custom $0.005 | $0.01 — Custom-only persona voices + speed + quality POST /v1/audio/speech $0.001 | $0.003 — Generate OpenAI-compatible voice POST /v1/tts/batch $0.002 | $0.005 — up to 20 base-voice texts per call ## Free GET /health GET /metrics — queue, cache, and saturation status GET /v1/voices — all voices, personas, pricing, languages GET /.well-known/x402.json — x402 discovery GET /llms.txt ## Base Voices: M1, M2, M3, M4, M5, F1, F2, F3, F4, F5 ## Persona Voices (Custom tier): Storyteller, Narrator, Announcer, Assistant, Urgent, Sage, Spark, Anchor, Velvet, Echo ## Languages: en, ko, ja, ar, bg, cs, da, de, el, es, et, fi, fr, hi, hr, hu, id, it, lt, lv, nl, pl, pt, ro, ru, sk, sl, sv, tr, uk, vi ## Request (Base/Pro/Custom) {"text": "Hello", "voice": "M1", "lang": "en", "speed": 1.0, "steps": 8} ## Request (OpenAI-compatible) {"input": "Hello", "voice": "M1", "model": "forgemesh-voice"} ## Request (Batch) {"items": [{"text": "Hello"}, {"text": "World"}], "defaults": {"voice": "F2"}}