# StableVoice Text-to-Speech API

> StableVoice Text-to-Speech API is a paid API for AI agents from stablevoice.dev, paid per call via x402, $1/call, status unknown (last checked 2026-09-13).

Generates speech audio from text using Chatterbox Turbo, Chatterbox, or multilingual Chatterbox models, delivering output into StableUpload audio slots via x402 micropayment protocol

## Facts

- Endpoint: POST https://stablevoice.dev/api/speech
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stablevoice-text-to-speech-api-78ec5c66
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_czbPmSzkKk5uYfri6UN38

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 stablevoice-text-to-speech-api-78ec5c66 -d '<json body>'
```

Example prompt: Generate spoken audio for the text 'Welcome to our platform, we're glad you're here.' using the Chatterbox Turbo model and store it in a StableUpload audio slot.

## When to prefer this

Choose this endpoint when you need high-quality Chatterbox-model TTS (including Turbo and multilingual variants) with automatic audio storage via StableUpload, and are operating in a pay-per-call x402 micropayment environment. Prefer over generic TTS APIs when you want Chatterbox-specific voice quality or need direct integration with the StableUpload storage ecosystem.

## Known failure modes

- Payment failure — x402 micropayment of $1 USDC not authorized or insufficient funds
- Invalid model selection — unsupported Chatterbox model variant specified
- Text input too long — exceeds maximum character limit for synthesis
- Unsupported language — requested language not available in multilingual model
- StableUpload slot unavailable — storage destination cannot be allocated
- Server error on Modal compute infrastructure

## How this service works

Text-to-speech on Modal via x402 and MPP. Generate Chatterbox Turbo, Chatterbox, and multilingual Chatterbox speech into StableUpload audio slots.

## Output

A reference or URL to a StableUpload audio slot containing the synthesized speech audio generated from the provided text using the selected Chatterbox model.

## Example request

```json
{
 "text": "Hello, this is a test of the speech synthesis system. The weather today is sunny and pleasant.",
 "type": "stablevoice-speech",
 "model": "chatterbox-turbo",
 "voice": "Lucy",
 "format": "wav",
 "output": {
  "publicUrl": "https://stableupload.example.com/audio/test-output-12345.wav",
  "uploadUrl": "https://stableupload.example.com/upload/test-output-12345"
 },
 "language": "en",
 "clientRequestId": "qa-test-001"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "maxLength": 2500,
   "minLength": 1,
   "description": "Text to synthesize, max 2500 characters."
  },
  "type": {
   "type": "string",
   "const": "stablevoice-speech",
   "default": "stablevoice-speech"
  },
  "model": {
   "enum": [
    "chatterbox-turbo",
    "chatterbox",
    "chatterbox-multilingual",
    "f5-tts",
    "voxcpm2",
    "qwen3-tts-1.7b"
   ],
   "type": "string",
   "default": "chatterbox-turbo",
   "description": "Self-hosted Modal model. chatterbox-turbo is fastest; chatterbox adds expressive controls; chatterbox-multilingual supports 23 languages."
  },
  "voice": {
   "enum": [
    "Aaron",
    "Abigail",
    "Anaya",
    "Andy",
    "Archer",
    "Brian",
    "Chloe",
    "Dylan",
    "Emmanuel",
    "Ethan",
    "Evelyn",
    "Gavin",
    "Gordon",
    "Ivan",
    "Laura",
    "Lucy",
    "Madison",
    "Marisol",
    "Meera",
    "Walter"
   ],
   "type": "string",
   "default": "Lucy",
   "description": "Bundled reference voice. Match to the character's identity using `voiceGuide` from /api/voices — each voice carries an accent/ethnicity tag (Indian, Australian, Slavic, Black, Latina, American, older country) and a casting cue. Default Lucy is a neutral North American female. Ignored only when referenceAudioUrl is supplied."
  },
  "format": {
   "enum": [
    "wav",
    "mp3"
   ],
   "type": "string",
   "default": "wav"
  },
  "output": {
   "type": "object",
   "required": [
    "publicUrl"
   ],
   "properties": {
    "postUrl": {
     "type": "string",
     "format": "uri",
     "description": "Presigned POST URL from StableUpload. Pair with postFields."
    },
    "publicUrl": {
     "type": "string",
     "format": "uri",
     "description": "StableUpload public URL where the generated audio will land."
    },
    "uploadUrl": {
     "type": "string",
     "format": "uri",
     "description": "Presigned PUT URL from StableUpload. Do not pass a POST slot's bare S3 postUrl here."
    },
    "postFields": {
     "type": "object",
     "description": "Required form fields when posting to postUrl.",
     "propertyNames": {
      "type": "string"
     },
     "additionalProperties": {
      "type": "string"
     }
    }
   },
   "description": "Reserved StableUpload output slot for the generated audio.",
   "additionalProperties": false
  },
  "options": {
   "type": "object",
   "required": [
    "temperature",
    "topP",
    "topK",
    "minP",
    "
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stablevoice-text-to-speech-api-78ec5c66/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stablevoice.dev](https://www.zero.xyz/host/stablevoice.dev/llms.txt)
