What broke

The text-to-speech catalog accepted any string for voice and didn't publish the handler's 4,000-character text limit.

That mismatch cost buyers. Requests using the common onyx name reached the default speech model with an incompatible voice ID, and oversized text reached the handler only after payment. Both calls failed without producing audio.

What changed

For the default model, voice: "onyx" now maps to its supported am_onyx voice. Other model and voice pairs still pass through unchanged.

The input schema now caps text at 4,000 characters. The pre-settlement validator can reject a longer paid request for free, before synthesis starts. The catalog also explains each input field, including the model-specific voice rule and supported audio formats.

What callers should send

Existing requests using af_sky or another model-compatible voice don't change. If your client uses OpenAI-style voice names, onyx now works with the default model. Split text longer than 4,000 characters into separate calls.