For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://modelgates.ai/docs/_mcp/server.
Speech - Python SDK
The Python SDK and docs are currently in beta. Report issues on GitHub.
Overview
Text-to-speech endpoints
Available Operations
- create_speech - Create speech
create_speech
Synthesizes audio from the input text. Returns a raw audio bytestream in the requested format (e.g. mp3, pcm, wav).
Example Usage
python
from modelgates import ModelGatesimport os with ModelGates( http_referer="<value>", x_open_router_title="<value>", x_open_router_categories="<value>", api_key=os.getenv("MODELGATES_API_KEY", ""),) as open_router: res = open_router.tts.create_speech(input="Hello world", model="elevenlabs/eleven-turbo-v2", voice="alloy", response_format="pcm", speed=1) # Handle response print(res)Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
input | str | :heavy_check_mark: | Text to synthesize | Hello world |
model | str | :heavy_check_mark: | TTS model identifier | elevenlabs/eleven-turbo-v2 |
voice | str | :heavy_check_mark: | Voice identifier (provider-specific). | alloy |
http_referer | Optional[str] | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. | |
x_open_router_title | Optional[str] | :heavy_minus_sign: | The app display name allows you to customize how your app appears in ModelGates's dashboard. | |
x_open_router_categories | Optional[str] | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings. | |
provider | Optional[components.SpeechRequestProvider] | :heavy_minus_sign: | Provider-specific passthrough configuration | |
response_format | Optional[components.ResponseFormatEnum] | :heavy_minus_sign: | Audio output format | pcm |
speed | Optional[float] | :heavy_minus_sign: | Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers. | 1 |
retries | Optional[utils.RetryConfig] | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
Response
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.PaymentRequiredResponseError | 402 | application/json |
| errors.NotFoundResponseError | 404 | application/json |
| errors.TooManyRequestsResponseError | 429 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.BadGatewayResponseError | 502 | application/json |
| errors.ServiceUnavailableResponseError | 503 | application/json |
| errors.EdgeNetworkTimeoutResponseError | 524 | application/json |
| errors.ProviderOverloadedResponseError | 529 | application/json |
| errors.ModelGatesDefaultError | 4XX, 5XX | */* |