C

StableVoice — MPP Grade C

Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

On-chain Activity

1 Total txs
1 7d txs
$0.01 7d volume
$0.01 Total volume
1 Unique payers
0 Unique clients
7-day activity ▁▁▁▁▁▁█

Compliance Checks

All paid ops declare 402 response MUST 10pt
All x-payment-info valid MUST 10pt
- Challenge has Cache-Control: no-store MUST 5pt
Challenge digest on POST SHOULD 3pt
- Challenge has expires SHOULD 3pt
- Challenge has Problem Details SHOULD 2pt
- Challenge has required params MUST 5pt
- Challenge has WWW-Authenticate MUST 5pt
Challenge returns 402 MUST 10pt
Correct Content-Type MUST 5pt
Has Cache-Control on discovery SHOULD 5pt
Has input schemas SHOULD 5pt
Has llms.txt SHOULD 5pt
Has /openapi.json at root MUST 10pt
Has required top-level fields MUST 10pt
Served over HTTPS MUST 10pt
Uses standard categories SHOULD 2pt
1 issue
  • Endpoint POST /api/speech returned 400 (expected 402)

Paid Operations (2)

POST /api/speech dynamic
Create a paid StableVoice TTS job. Reserve an output slot on stableupload.dev first, then pass that slot as output. Poll /api/jobs/{jobId} until result.outputs.audio.publicUrl is ready.
Amount
map[currency:USD max:1.00 min:0.02 mode:dynamic]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[currency:USD max:1.00 min:0.02 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
clientRequestId string No
format string No
enum: wav, mp3
default: wav
language string No Language ID. Required for chatterbox-multilingual.
enum: ar, da, de, el, en, es, fi, fr, he, hi, it, ja, ko, ms, nl, no, pl, pt, ru, sv, sw, tr, zh
default: en
model string No Self-hosted Modal model. chatterbox-turbo is fastest; chatterbox adds expressive controls; chatterbox-multilingual supports 23 languages.
enum: chatterbox-turbo, chatterbox, chatterbox-multilingual, f5-tts, voxcpm2
default: chatterbox-turbo
options object No
output object Yes Reserved StableUpload output slot for the generated audio.
referenceAudioUrl string (uri) No Optional StableUpload URL for a custom voice reference. WAV/MP3/M4A. Required reference duration depends on the model: voxcpm2 takes 3-10s, f5-tts takes 10-15s, chatterbox-* takes 5-15s.
referenceText string No Optional transcript of referenceAudioUrl. Used by f5-tts and voxcpm2 to skip on-worker Whisper transcription. Ignored by chatterbox-*.
text string Yes Text to synthesize, max 2500 characters.
type string No
default: stablevoice-speech
voice string No 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.
enum: Aaron, Abigail, Anaya, Andy, Archer, Brian, Chloe, Dylan, Emmanuel, Ethan, Evelyn, Gavin, Gordon, Ivan, Laura, Lucy, Madison, Marisol, Meera, Walter
default: Lucy

Response Schema (200)

FieldTypeDescription
deduplicated boolean -
jobId string -
price string -
status string -
type string -
POST /api/recording-tokens dynamic
Mint a one-hour recording URL the recordee opens in a browser. They speak the optional suggestedText, we transcode their audio to MP3 and PUT it into the StableUpload slot you reserved. The slot's publicUrl is what you'll plug into /api/speech as referenceAudioUrl. Pass StableUpload uploadUrlExpiresAt as expiresAt so the recording URL never outlives the upload slot. Advanced callers may pass requestedExpiresAt only when they also reserved a matching longer StableUpload upload URL and pass its uploadUrlExpiresAt as expiresAt.
Amount
map[currency:USD max:0.01 min:0.01 mode:dynamic]
Currency
-
Method
Intent
-
402 Declared
Yes
Non-standard x-payment-info fields: price: map[currency:USD max:0.01 min:0.01 mode:dynamic] protocols: [map[x402:map[]] map[mpp:map[currency:0x20c000000000000000000000b9537d11c60e8b50 intent:charge method:tempo]]]

Input Schema

FieldTypeRequiredDescription
expiresAt string (date-time) Yes Required StableUpload uploadUrlExpiresAt value. We clamp the recording-token TTL to this value. Do not pass StableUpload's public-file retention expiresAt.
postFields object No Required form fields when posting to postUrl.
postUrl string (uri) No Presigned POST URL from StableUpload. Pair with postFields.
publicUrl string (uri) Yes StableUpload public URL where the resulting MP3 will live. Must end with .mp3.
requestedExpiresAt No Advanced optional epoch timestamp, seconds or milliseconds, for an explicit recording-link expiry. Default is 1 hour; max is 24 hours and still clamped to StableUpload uploadUrlExpiresAt.
speakerLabel string No Optional name shown on the recording page ("Recording for: …").
suggestedText string No Optional script the recordee will see on the recording page (max 500 chars). Improves clone quality with consistent prosody.
uploadUrl string (uri) No Presigned PUT URL from StableUpload. Provide either uploadUrl or postUrl+postFields.

Response Schema (200)

FieldTypeDescription
expiresAt string (date-time) -
publicUrl string (uri) -
recordUrl string (uri) -
token string -

Payment Methods

Methods
-
Intents
-
Currencies (discovery)
-
Multiple Challenges
No

Security

TLS Version
TLSv1.3
Challenge ID Unique
-
Challenge ID Length
-
Digest Binding
-

Uptime

Discovery
Reachable (278ms)
Challenge
Reachable (164ms)
Last Checked

Schema Completeness

Paid Operations
2
With Input Schema
2
With Description
2

Documentation

Homepage
-
API Reference
-
llms.txt
-

Discovery

OpenAPI URL
https://stablevoice.dev/openapi.json
OpenAPI Version
3.1.0
Service Version
0.1.0
Document Size
41327 bytes
Document Hash
f6f52673827090ae571d4044880efd57bf8f7def1f03b0be1c10fff6a25444c2

Version History (1 snapshots)

  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
Scan snapshots
Date Grade Score Response Status
2026-04-29 C 64% 700ms Up