---
title: "OpenAI audio speech"
method: POST
path: "/v1/audio/speech"
---

# OpenAI audio speech

`POST /v1/audio/speech`

## Request

- Base URL: `https://api.agentlab.cresclab.com`
- URL: `https://api.agentlab.cresclab.com/v1/audio/speech`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/docs/v1/audio/speech/post.ts> (a function with typed inputs; its response is checked against the schema)

Relayed to a speech model as sent, apart from model. response_format is mp3, wav or pcm, whose length the Gateway measures; settled by that duration and the input text.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `model` string, required: A model of this kind enabled for the workspace; auto is refused.
  - `input` string, required
  - `voice` unknown, required
  - `instructions` string
  - `response_format` 'mp3' | 'wav' | 'pcm'
  - `speed` number

## Response `200`

The audio file.

## Other responses

- `400`: Refused request. See the error catalog.
- `401`: Missing or not accepted key.
- `403`: Not allowed for this key or workspace.
- `429`: Rate limited or out of allowance. Retry-After and X-Should-Retry say whether to retry.
- `502`: The provider failed to answer.
- `503`: Gateway unavailable or settlement pending.

---

[API](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway.md) - [All operations](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/cresclab/apis/agent-lab-ai-gateway/revisions/5dc08011cbe9?raw)
