# ForgeMesh TTS Custom Long-Form Text-to-Speech

> ForgeMesh TTS Custom Long-Form Text-to-Speech is a paid API for AI agents from tts.forgemesh.io, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Converts long-form text (501–2000 characters) into 44.1kHz WAV audio with configurable voice, speed, and quality across 31 languages, paid via x402.

## Facts

- Endpoint: POST https://tts.forgemesh.io/v1/tts/custom-long
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forgemesh-tts-custom-long-form-text-to-speech-c01701ca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QtEd9jw8ajBpBRnS8LC0c

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 forgemesh-tts-custom-long-form-text-to-speech-c01701ca -d '<json body>'
```

Example prompt: Turn this 800-character product description into spoken audio using the 'Narrator' voice in English at normal speed and standard quality: 'Welcome to our flagship store. Our new line of ergonomic office chairs combines cutting-edge design with unparalleled comfort, featuring adjustable lumbar support, breathable mesh fabric, and a five-year warranty — perfect for long work sessions.'

## When to prefer this

Choose this endpoint when you need to synthesize longer passages of 501–2000 characters with fine-grained control over voice persona, speed, and quality. Prefer it over standard TTS routes for editorial content, narration, voiceovers, or multilingual audio where expressive control matters. It requires no API key (payments via x402/USDC) and returns a ready-to-use WAV file, making it ideal for agent workflows that need audio without credential management overhead.

## Known failure modes

- Text shorter than 501 characters — use non-long routes instead
- Text exceeding 2000 characters — truncation or rejection
- Unsupported language code — enum validation error
- Invalid speed value outside 0.7–2.0 range — validation error
- Persona voices (Storyteller, Narrator, etc.) may require Custom tier — tier error
- Payment failure via x402 — 402 response if USDC payment not processed
- High steps values (e.g. ultra 24+) may increase latency noticeably

## How this service works

Paid text-to-speech via x402. WAV audio in 31 languages, OpenAI-compatible, no API keys.

## Output

Returns a 44.1kHz 16-bit mono WAV audio file inline (Content-Type: audio/wav) containing the synthesized speech of the submitted text, ready for playback or further processing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lang": {
   "enum": [
    "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"
   ],
   "type": "string",
   "description": "Language code; 31 languages supported"
  },
  "text": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 1,
   "description": "Text to synthesize into speech, max 2000 characters. Use non-long routes for 1-500 chars and -long routes for 501-2000 chars."
  },
  "speed": {
   "type": "number",
   "maximum": 2,
   "minimum": 0.7,
   "description": "Pro/Custom expressive speed control, 0.7-2.0. Presets: slow 0.7, normal 1.0, fast 1.3, rapid 1.6"
  },
  "steps": {
   "type": "integer",
   "maximum": 100,
   "minimum": 1,
   "description": "Pro/Custom quality control, 1-100. Presets: draft 4, standard 8, high 16, ultra 24"
  },
  "voice": {
   "enum": [
    "M1",
    "M2",
    "M3",
    "M4",
    "M5",
    "F1",
    "F2",
    "F3",
    "F4",
    "F5",
    "Storyteller",
    "Narrator",
    "Announcer",
    "Assistant",
    "Urgent",
    "Sage",
    "Spark",
    "Anchor",
    "Velvet",
    "Echo"
   ],
   "type": "string",
   "description": "Voice name. Standard voices M1-M5/F1-F5; persona voices require Custom tier."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "description": "44.1kHz 16-bit mono WAV speech audio returned inline",
  "content_type": "audio/wav"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forgemesh-tts-custom-long-form-text-to-speech-c01701ca/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tts.forgemesh.io](https://www.zero.xyz/host/tts.forgemesh.io/llms.txt)
