Api Endpoint

voice.forgemesh.io

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.

Open interactive test console

Offering

Provider
voice.forgemesh.io
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://voice.forgemesh.io/v1/tts/custom-long
MIME type
audio/wav
First seen
2026-10-16T01:50:45.949Z
Last seen
Tags
None supplied

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x962794FB8aD92941fAf1ab446b9e30637B86F331"
  }
]

Observed health

Status
Healthy
Latest latency
37 ms
Average latency
363 ms
HTTP status
200
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

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

Output schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "example": {
      "type": "object",
      "properties": {
        "content_type": {
          "type": "string",
          "const": "audio/wav"
        },
        "audio": {
          "type": "string",
          "description": "Inline WAV bytes in the HTTP response body"
        }
      }
    }
  },
  "required": [
    "type"
  ]
}