---
title: "Playground TTS Action"
method: POST
path: "/v1/playground/text-to-speech/action"
tags: ["Playground"]
---

# Playground TTS Action

`POST /v1/playground/text-to-speech/action`

## Request

- Base URL: `https://api.translate.video` (the document declares no server; this is the origin it was published from)
- URL: `https://api.translate.video/v1/playground/text-to-speech/action`
- Auth: HTTP bearer

## Headers

- `vitra-meta` string, required
- `vitra-apitoken` string

## Request body

- PlaygroundTtsActionDto
  - `subject` 'text_to_speech', required
  - `action` 'add_card' | 'delete_card' | 'update_text' | 'update_emotion' | 'update_voice' | 'update_process_name' | 'update_language' | 'generate_audio', required
  - `payload` PlaygroundTtsActionPayloadDto, required
    - `processId` string, required: Playground ASYNC-SPEECH-GENERATION ProcessLog id
    - `segmentId` string: Segment / card id (`data.OUTPUT[0].segments[].id`, or legacy `OUTPUT[0][lang].segments`)
    - `text` string
    - `voiceName` string: Voice voiceName for sync TTS
    - `emotion` string: TTS emotion (e.g. neutral, happy); passed to sync speech engine
    - `processName` string: For `update_process_name`: new ProcessLog.processName (display title, max 120 chars)
    - `sourceLanguage` string: For `update_language` without `segmentId`: ProcessLog `sourceLanguage`. For `update_language` with `segmentId`: may mirror `targetLanguage`.
    - `targetLanguage` string: For `update_language` without `segmentId`: persisted as ProcessLog.targetLanguage[0]. For `update_language` with `segmentId`: TTS language key stored on that card. For `add_card`: initial language on the new card (defaults from the playground row when omitted).
    - `voiceEngine` PlaygroundTtsVoiceEngineDto
      - `voiceId` string, required: Engine voice id (e.g. clone row UUID or neural id)
      - `voiceType` string, required: e.g. instant-clone, neural, premium
      - `voiceName` string, required: Display / API voice name
      - `modelName` string
      - `provider` number

## Response `201`

Success

---

[API](https://skmtc.dev/translate/apis/translate-video-server.md) - [All operations](https://skmtc.dev/translate/apis/translate-video-server/llms.txt) - [OpenAPI document](https://skmtc.dev/translate/apis/translate-video-server/revisions/d99673eed87e?raw)
