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

# Synthesize

`POST /speech/tts`

## Request

- Base URL: `https://api.gradium.ai/api`
- URL: `https://api.gradium.ai/api/speech/tts`
- Auth: none declared
- TypeScript: <https://skmtc.dev/gradium/apis/gradium-realtime-api-prod-satellite-scw-par/docs/speech/tts/post.ts> (a function with typed inputs; its response is checked against the schema)

One-shot TTS over HTTP: POST text, stream back audio or NDJSON events.

Auth is header-only (x-api-key / token query param) via authenticate;
unlike the old post-proxy we don't read the key from the request body.

## Request body

- PostRequest: Request body for the one-shot HTTP TTS endpoint.
  - `text` string, required
  - `voice` string, nullable
  - `voice_id` string, nullable
  - `output_format` string
  - `model_name` string
  - `json_config` union
    - string
    - object
  - `only_audio` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

> 28 revisions in range; 3 not diffed.

- **2026-08-25** `d4d61308a59a`: 1 info
  - added the new optional request property `voxium_embedding_id`

[Operation history](https://skmtc.dev/gradium/apis/gradium-realtime-api-prod-satellite-scw-par/changes/speech/tts/post.md)

---

[API](https://skmtc.dev/gradium/apis/gradium-realtime-api-prod-satellite-scw-par.md) - [All operations](https://skmtc.dev/gradium/apis/gradium-realtime-api-prod-satellite-scw-par/llms.txt) - [OpenAPI document](https://skmtc.dev/gradium/apis/gradium-realtime-api-prod-satellite-scw-par/revisions/f2f30e936ea9?raw)
