---
title: "Synthesize"
method: POST
path: "/api/chat/speech"
tags: ["chat", "speech"]
---

# Synthesize

`POST /api/chat/speech`

Return *text* as MP3 audio, charging the caller for the synthesis.

## Request body

- SpeechRequest
  - `text` string, required
  - `session_id` string, nullable — Attributes the cost to a chat session, as a text turn is.
  - `voice` string, nullable — Overrides the configured default voice.

## Response `200`

Successful Response

## Other responses

- `400` — Blank or over-long text, or an unknown voice
- `401` — Authentication required
- `402` — No active subscription
- `404` — Voice mode is not enabled for this user
- `422` — Validation Error
- `429` — Over the caller's usage cap
- `503` — Speech is unavailable, or the cap cannot be read

## Changes

- **2026-09-08** `f6cf1d85a2cd` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/chat/speech/post.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/revisions/f6cf1d85a2cd?raw)
