# DevX Voice Text-to-Speech

> DevX Voice Text-to-Speech is a paid API for AI agents from voice.madebydevx.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-28).

Converts text (up to 2,000 characters) into a WAV audio clip using MeloTTS, supporting English, Spanish, French, Chinese, Japanese, and Korean, billed per 1,000 characters on Base via x402.

## Facts

- Endpoint: POST https://voice.madebydevx.com/v1/tts?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/devx-voice-text-to-speech-1638574f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Xu2LJhs34iRyHLuXrYm_Z

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 devx-voice-text-to-speech-1638574f -d '<json body>'
```

Example prompt: Can you read this aloud in French: 'Bienvenue dans notre application, nous sommes ravis de vous accueillir.' — give me a WAV audio file I can play.

## When to prefer this

Choose this endpoint when you need lightweight, pay-per-use multilingual TTS (English, Spanish, French, Chinese, Japanese, Korean) billed in USDC on Base via x402 with no subscription required. It is ideal for AI agents needing spoken audio responses in real time, especially when idempotency (via requestKey) matters to avoid double-billing. Prefer it over subscription TTS APIs for low-volume or sporadic agent usage, and when MeloTTS voice quality is acceptable for the use case.

## Known failure modes

- Text exceeds 2,000 characters — request rejected before charge
- Unsupported language code provided — validation error
- Empty or missing text field — 400 error
- Network or upstream MeloTTS failure — error returned, no charge
- Invalid requestKey format — idempotency key rejected
- Payment failure on Base network — audio not returned

## How this service works

Text to speech for agents: send text (up to 2,000 chars) in English, Spanish, French, Chinese, Japanese or Korean and get a WAV voice clip (base64 in JSON, or raw audio/wav with response_format=wav). $0.001 USDC per started 1,000 characters on Base; failures are not charged. Accepts dTelecom-style text/lang_code fields. MeloTTS. By DevX.

## Output

A JSON object containing a base64-encoded WAV audio clip (or raw audio/wav if response_format=wav), along with metadata including MIME type, model name (melotts), language, character count, sample rate (44100 Hz), duration in seconds, billed units, an operation ID, and payment confirmation details including transaction hash and USDC amount charged on Base.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lang": {
   "enum": [
    "en",
    "es",
    "fr",
    "zh",
    "ja",
    "ko"
   ],
   "type": "string",
   "description": "Language (default en). Aliases: language, lang_code (dTelecom/Kokoro letters a, b, e, f, j, z)"
  },
  "text": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 1,
   "description": "Text to speak (max 2,000 characters)"
  },
  "speed": {
   "enum": [
    1
   ],
   "type": "number"
  },
  "voice": {
   "enum": [
    "default"
   ],
   "type": "string"
  },
  "language": {
   "type": "string"
  },
  "lang_code": {
   "type": "string"
  },
  "requestKey": {
   "type": "string",
   "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$",
   "maxLength": 128,
   "minLength": 8,
   "description": "Optional idempotency key: the same payer + requestKey + input within 7 days returns the stored result without a second charge."
  },
  "response_format": {
   "enum": [
    "json",
    "wav"
   ],
   "type": "string",
   "description": "json (default): base64 WAV inside JSON; wav: raw audio/wav body"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {
   "mime": "audio/wav",
   "model": "melotts",
   "voice": "melotts-default",
   "language": "en",
   "characters": 22,
   "sample_rate": 44100,
   "audio_base64": "UklGRl7xAABXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAAZGF0YQ...",
   "billed_units": 1,
   "duration_seconds": 1.6
  },
  "status": "paid",
  "payment": {
   "status": "paid",
   "network": "eip155:8453",
   "tx_hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
   "amount_raw": "1000"
  },
  "operation_id": "0d7c1f8a-5e2b-4a9c-8f3d-1b6e2c9a7d40"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/devx-voice-text-to-speech-1638574f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from voice.madebydevx.com](https://www.zero.xyz/host/voice.madebydevx.com/llms.txt)
