# agent402.tools Text-to-Speech (x402)

> agent402.tools Text-to-Speech (x402) is a paid API for AI agents from agent402.tools, paid per call via x402, $0.06/call, status unknown (last checked 2026-09-14).

Converts text to spoken audio using Voxtral Mini TTS with a five-model failover chain, billed at $0.06 USDC per call via x402 with no API key required

## Facts

- Endpoint: POST https://agent402.tools/v1/audio/speech
- Price: $0.06/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent402-tools-text-to-speech-x402-77239076
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Q3mb7nCg66I30Cmg4eE4G

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agent402-tools-text-to-speech-x402-77239076 -d '<json body>'
```

Example prompt: Read this aloud in the 'nova' voice at 1.2x speed and give me an MP3: 'Welcome to our product demo. Today we'll walk you through our newest features, designed to save you time and help you focus on what matters.'

## When to prefer this

Choose this endpoint when you need OpenAI SDK-compatible TTS with no signup or API key, want to pay per call in USDC via x402, or need a resilient multi-model failover chain for speech synthesis. Ideal for agents that already use the OpenAI audio.speech.create() interface and want a drop-in replacement with crypto micropayments.

## Known failure modes

- Payment failure — x402 payment not accepted or insufficient USDC balance
- Text too long — input exceeds 2,000 character limit
- Invalid voice name — unrecognized voice ID returns an error
- All five fallback models unavailable — full failover chain exhausted
- Invalid response_format — value other than 'mp3' or 'pcm' rejected
- Speed out of range — value outside 0.25–4.0 rejected

## How this service works

OpenAI-compatible text-to-speech over x402 - point any OpenAI SDK's audio.speech.create() at base_url https://agent402.tools/v1 and pay $0.06 per call in USDC, no API key, no signup. Served by Voxtral Mini TTS behind a five-model failover chain (xAI Grok Voice, Kokoro, MAI-Voice-2 Flash, MAI-Voice-2), every link proven by a real paid canary - a provider outage never becomes your failure. Up to 2,000 chars in, raw mp3 (default) or pcm bytes out - the same wire shape as OpenAI's endpoint.

## Output

Raw audio binary (MP3 by default, or PCM if specified) of the input text spoken in the chosen voice, returned directly as the response body, ready to be saved or streamed

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "zdr": {
   "type": "boolean",
   "description": "Optional - true routes only to zero-data-retention providers"
  },
  "input": {
   "type": "string",
   "description": "Text to speak (up to 2,000 chars)"
  },
  "model": {
   "type": "string",
   "description": "Optional - pin a chain model (e.g. mistralai/voxtral-mini-tts-2603); the rest stay as fallbacks"
  },
  "speed": {
   "type": "number",
   "description": "Optional 0.25–4 playback speed (providers that don't support it ignore it)"
  },
  "voice": {
   "type": "string",
   "description": "OpenAI voice name - alloy (default), ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse - or a native voice id from GET /v1/models (e.g. en_paul_cheerful)"
  },
  "response_format": {
   "type": "string",
   "description": "\"mp3\" (default) or \"pcm\""
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": "(raw mp3 bytes - Content-Type: audio/mpeg)"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent402-tools-text-to-speech-x402-77239076/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent402.tools](https://www.zero.xyz/host/agent402.tools/llms.txt)
