Text-to-speech
Turn text into audio. The body is the audio; the request id, provider, model and charge come back as headers.
Request
Response
200 with the audio bytes, Content-Type as the provider returned it (some models only produce pcm; the model's own 400 says so). Because the body is audio, the evidence travels in headers: X-Request-Id, Yelno-Provider, Yelno-Model, Yelno-Cost-State (pending until the provider reports the cost) and Yelno-Charge-Nanos once it is known.
Notes
No streaming yet, and no Idempotency-Key replay on this route — the audio bytes are not stored. Voice cloning is not offered: any field this route does not list is refused with 400 code: "unsupported_parameter". Speech returns bare audio, so the charge settles when the provider publishes that response's cost.
Sending a model to a route it is not served on answers 422 capability_unsupported with code: "operation_unsupported" and a message naming the route that serves it. Every model in the catalog shows its type and route.