---
title: "Create TTS voice"
method: POST
path: "/v2/tts/voices"
---

# Create TTS voice

`POST /v2/tts/voices`

Create a new TTS voice under the current project.

## Request body

- CreateTtsVoiceRequest
  - `name` string, required — Voice name (Arabic & English letters and numbers only)
  - `description` string, nullable
  - `audioUrl` string, uri, required — URL of the uploaded voice sample
  - `audioTranscription` string, required — Exact transcription of the uploaded audio sample
  - `imageUrl` string, uri, nullable — Optional avatar image for the voice
  - `projectId` string, uuid, required
  - `language` 'en' | 'ar', required — Voice language
  - `dialectId` string, uuid, nullable — Required when language is 'ar'. Must be omitted when language is 'en'.
  - `tags` string[], required — Exactly 2 tags: one gender + one voice style

## Response `200`

Voice created successfully.

- CreatedTtsVoice
  - `success` boolean
  - `message` string
  - `messageKey` string
  - `data` object
    - `id` string, uuid
    - `voiceRecord` string

## Other responses

- `400` — Validation error.
- `500` — Internal server error.

---

[API](https://skmtc.net/tryhamsa/apis/hamsa-api.md) · [All operations](https://skmtc.net/tryhamsa/apis/hamsa-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryhamsa/hamsa-api/versions/ecbeb5d8dc13/schema)
