# ForgeMesh Voice Custom Long-Form TTS

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

Converts long-form text (up to 2000 characters) to speech using customizable persona voices across 31 languages, returning a 44.1kHz WAV audio file via pay-per-call x402 API.

## Facts

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

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-voice-custom-long-form-tts-c7953734 -d '<json body>'
```

Example prompt: Read out the following passage in English using the Storyteller persona voice at 1.2x speed: 'In the beginning, the world was without form, and the silence stretched across the deep...' — give me a WAV file I can use in my video.

## When to prefer this

Choose this endpoint when you need long-form text narration (up to 2000 chars), want persona-based voices (Storyteller, Narrator, etc.), require multilingual support across 31 languages, or need fine-grained control over speech speed and diffusion quality steps. Prefer it over generic TTS APIs when your agent uses x402 micropayment rails and you need WAV output specifically.

## Known failure modes

- Text exceeds 2000 character limit — request rejected
- Invalid or unsupported ISO language code — error response
- Invalid voice identifier (not in M1-M5, F1-F5, or named personas) — error response
- Speed value out of Pro tier range (0.7-2.0) — error or clamped
- Payment failure via x402 protocol — 402 Payment Required response
- Steps value out of range (1-100) — validation error

## How this service works

Expressive text-to-speech in any of 20 voices, standard M1-M5/F1-F5 plus personas like Storyteller, Narrator, Announcer, Urgent, Velvet, with speed and quality control, for 501-2000 characters, WAV output. Use it to: narrate a longer story or audiobook chapter, voice an extended character monologue, produce a branded multi-sentence announcement, script a persona-driven podcast segment. USDC on Base via x402.

## Output

A 44.1kHz 16-bit mono WAV audio file containing the synthesized speech of the submitted text, returned as audio/wav binary content ready for playback or embedding in media projects.

## 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-voice-custom-long-form-tts-c7953734/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from voice.forgemesh.io](https://www.zero.xyz/host/voice.forgemesh.io/llms.txt)
