---
title: "Text to speech"
method: POST
path: "/v1/text_to_speech"
tags: ["Start generating"]
---

# Text to speech

`POST /v1/text_to_speech`

This endpoint will start a new task to generate speech from text.

## Headers

- `X-Runway-Version` '2024-11-06', required

## Request body

- object
  - `promptText` string, required — A non-empty string up to 1000 characters (measured in UTF-16 code units). This should describe in detail what should appear in the output.
  - `voice` object, required — A voice preset from the RunwayML API.
    - `type` 'runway-preset', required
    - `presetId` 'Maya' | 'Arjun' | 'Serene' | 'Bernard' | 'Billy' | 'Mark' | 'Clint' | 'Mabel' | 'Chad' | 'Leslie' | 'Eleanor' | 'Elias' | 'Elliot' | 'Grungle' | 'Brodie' | 'Sandra' | 'Kirk' | 'Kylie' | 'Lara' | 'Lisa' | 'Malachi' | 'Marlene' | 'Martin' | 'Miriam' | 'Monster' | 'Paula' | 'Pip' | 'Rusty' | 'Ragnar' | 'Xylar' | 'Maggie' | 'Jack' | 'Katie' | 'Noah' | 'James' | 'Rina' | 'Ella' | 'Mariah' | 'Frank' | 'Claudia' | 'Niki' | 'Vincent' | 'Kendrick' | 'Myrna' | 'Tom' | 'Wanda' | 'Benjamin' | 'Kiana' | 'Rachel', required — The preset voice ID to use for the generated speech.
  - `model` 'eleven_multilingual_v2', required

## Response `200`

The task that was created.

- object
  - `id` string, uuid, required — The ID of the task that was created. Use this to retrieve the task later.

## Other responses

- `429` — You have exceeded the rate limit for this endpoint.

## Changes

- **2025-12-04** `6dab1bdab5d3` — 3 info
  - the `model` request property default value `eleven_multilingual_v2` was removed
  - the `type` request property default value `runway-preset` was removed
  - added the media type `application/json` for the response with the status `429`
- **2025-12-03** `c2a88516fa0c` — 2 info
  - the `model` request property default value `eleven_multilingual_v2` was added
  - the `type` request property default value `runway-preset` was added
- **2025-12-03** `76b3962cf49e` — 2 info
  - the `model` request property default value `eleven_multilingual_v2` was removed
  - the `type` request property default value `runway-preset` was removed
- **2025-11-04** `6902fa9494c5` — 1 breaking, 2 info
  - removed `subschema #1` from the `oneOf[subschema #1: eleven_multilingual_v2]/voice` request property `oneOf` list
  - the `model` request property default value `eleven_multilingual_v2` was added
  - added `subschema #1: RunwayPresetVoice` to the `oneOf[subschema #1: eleven_multilingual_v2]/voice` request property `oneOf` list
- **2025-10-22** `8448e1c9a862` — 1 breaking, 1 info
  - removed `subschema #1: RunwayPresetVoice` from the `oneOf[subschema #1: eleven_multilingual_v2]/voice` request property `oneOf` list
  - added `subschema #1` to the `oneOf[subschema #1: eleven_multilingual_v2]/voice` request property `oneOf` list

[Full history](https://skmtc.dev/runwayml/apis/runwayml-api/changes/v1/text_to_speech/post.md)

---

[API](https://skmtc.dev/runwayml/apis/runwayml-api.md) · [All operations](https://skmtc.dev/runwayml/apis/runwayml-api/llms.txt) · [OpenAPI document](https://skmtc.dev/runwayml/apis/runwayml-api/revisions/1d3bb312672a?raw)
