> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ElevenLabs V3 TTS

> Turn text into spoken audio with ElevenLabs V3, with selectable voices, language control, and optional timestamps for narration and dialogue.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# ElevenLabs V3 TTS

Turn text into spoken audio with ElevenLabs V3, with selectable voices, language control, and optional timestamps for narration and dialogue.

## Available Models

* **elevenlabs/tts/eleven-v3** - Convert text into speech.

## Key Features

* Convert text into speech.
* Optionally request timestamps alongside the generated audio.
* Select a voice with `voice` and specify the spoken language with `language_code`.

## Advanced Parameters

Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`.

### Text

* `text`: Required. Supply the text to speak. Length: **1-5,000 characters**.
* Leading and trailing whitespace is trimmed before the character limit is checked.

### Voice

* `voice`: Optional. Select the voice. String. Default: `Rachel`.
* Available values: `Aria`, `Roger`, `Sarah`, `Laura`, `Charlie`, `George`, `Callum`, `River`, `Liam`, `Charlotte`, `Alice`, `Matilda`, `Will`, `Jessica`, `Eric`, `Chris`, `Brian`, `Daniel`, `Lily`, `Bill`, `Rachel`.

### Stability

* `stability`: Optional. Control voice stability. Number from `0` to `1`. Default: `0.5`.

### Timestamps

* `timestamps`: Optional. Request timestamp information with the audio. Use `true` or `false`. Default: `false`.

### Language Code

* `language_code`: Optional. ISO 639-1 language code, such as `en` for English or `zh` for Chinese.

### Apply Text Normalization

* `apply_text_normalization`: Optional. Select text normalization behavior. Accepted values: `auto`, `on`, `off`. Default: `auto`.

## Output Files

* Read every item in the returned `files` array.
* Generated audio uses `file_type: "audio"`.
* Read returned `timestamps.json` as a separate item with `file_type: "other"`. Preserve optional file metadata when present.

## Examples

Each example pairs a request with its completed task response and generated audio. Submit the request to `POST https://api.vidgo.ai/api/generate/submit`, then query `GET https://api.vidgo.ai/api/generate/status/{task_id}` with the task ID returned by your submission.

<AccordionGroup>
  <Accordion title="Stars in the attic">
    <CodeGroup>
      ```json Request theme={null}
      {
        "model": "elevenlabs/tts/eleven-v3",
        "input": {
          "text": "[whispers] Wait... that ticking is coming from inside the wall. [curious] This little brass key fits the crack. One turn, and... [excited] the whole ceiling is full of stars! [laughs] Grandpa, you built a planetarium in the attic. [exhales] All these years, it was waiting for us.",
          "voice": "Charlotte",
          "language_code": "en",
          "stability": 0.5,
          "timestamps": false,
          "apply_text_normalization": "auto"
        }
      }
      ```

      ```json Completed task response theme={null}
      {
        "code": 200,
        "data": {
          "task_id": "LPV36KJQ0Y2SYT21",
          "status": "finished",
          "files": [
            {
              "file_url": "https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/01/speech.mp3",
              "file_type": "audio",
              "file_name": "speech.mp3"
            }
          ],
          "created_time": "2026-09-27T10:45:57",
          "error_message": null,
          "progress": 100
        }
      }
      ```
    </CodeGroup>

    <audio controls preload="none" src="https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/01/speech.mp3" aria-label="Stars in the attic" />

    [Download audio](https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/01/speech.mp3)
  </Accordion>

  <Accordion title="My first dumpling">
    <CodeGroup>
      ```json Request theme={null}
      {
        "model": "elevenlabs/tts/eleven-v3",
        "input": {
          "text": "[sighs] 我练了一个下午，面团还是歪歪扭扭的。奶奶看了一眼，说：别急，手放轻一点。[curious] 这样吗？先对折，再慢慢捏紧……[laughs] 真的站住了！虽然像只胖企鹅，但这是我第一次包好饺子。原来，有些本事不是听懂的，是一起做着学会的。",
          "voice": "Rachel",
          "language_code": "zh",
          "stability": 0.5,
          "timestamps": false,
          "apply_text_normalization": "auto"
        }
      }
      ```

      ```json Completed task response theme={null}
      {
        "code": 200,
        "data": {
          "task_id": "VLXQ5DI7PNWFRJQ4",
          "status": "finished",
          "files": [
            {
              "file_url": "https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/02/speech.mp3",
              "file_type": "audio",
              "file_name": "speech.mp3"
            }
          ],
          "created_time": "2026-09-27T10:46:38",
          "error_message": null,
          "progress": 100
        }
      }
      ```
    </CodeGroup>

    <audio controls preload="none" src="https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/02/speech.mp3" aria-label="My first dumpling" />

    [Download audio](https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/02/speech.mp3)
  </Accordion>

  <Accordion title="The character of sound">
    <CodeGroup>
      ```json Request theme={null}
      {
        "model": "elevenlabs/tts/eleven-v3",
        "input": {
          "text": "[curious] Why does a violin sound different from a flute when both play the same note? Their fundamental frequency can match, but the overtones do not. [excited] Those extra vibrations give each instrument its own sound. At 440 Hz, the pitch is A; the pattern above it is what makes the voice of the instrument recognizable.",
          "voice": "George",
          "language_code": "en",
          "stability": 0.5,
          "timestamps": true,
          "apply_text_normalization": "on"
        }
      }
      ```

      ```json Completed task response theme={null}
      {
        "code": 200,
        "data": {
          "task_id": "0E09515629QS87GR",
          "status": "finished",
          "files": [
            {
              "file_url": "https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/03/speech.mp3",
              "file_type": "audio",
              "file_name": "speech.mp3"
            },
            {
              "file_url": "https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/03/timestamps.json",
              "file_type": "other",
              "file_name": "timestamps.json"
            }
          ],
          "created_time": "2026-09-27T10:47:13",
          "error_message": null,
          "progress": 100
        }
      }
      ```
    </CodeGroup>

    <audio controls preload="none" src="https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/03/speech.mp3" aria-label="The character of sound" />

    [Download audio](https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/03/speech.mp3)

    [Download timestamps.json](https://cdn.vidgo.ai/apis/models/elevenlabs/tts/eleven-v3/v1/03/timestamps.json)
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml api-manual/music-series/elevenlabs-tts-eleven-v3.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - ElevenLabs V3 TTS
  description: >-
    Turn text into spoken audio with ElevenLabs V3, with selectable voices,
    language control, and optional timestamps for narration and dialogue.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Audio Series
      summary: ElevenLabs V3 TTS
      description: >-
        Convert text into speech with selectable voices, stability, language
        settings, and text normalization. Submit a request, then use task_id to
        retrieve audio and returned timestamp attachments from files.
      operationId: submit_elevenlabs_tts_eleven_v3
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: elevenlabs/tts/eleven-v3
                  enum:
                    - elevenlabs/tts/eleven-v3
                input:
                  type: object
                  required:
                    - text
                  additionalProperties: false
                  properties:
                    text:
                      type: string
                      minLength: 1
                      maxLength: 5000
                      description: >-
                        Text to speak, containing 1–5,000 characters after
                        leading and trailing whitespace is trimmed.
                    voice:
                      type: string
                      default: Rachel
                      description: >-
                        Voice name used for speech generation. Select one of the
                        listed voices.
                      enum:
                        - Aria
                        - Roger
                        - Sarah
                        - Laura
                        - Charlie
                        - George
                        - Callum
                        - River
                        - Liam
                        - Charlotte
                        - Alice
                        - Matilda
                        - Will
                        - Jessica
                        - Eric
                        - Chris
                        - Brian
                        - Daniel
                        - Lily
                        - Bill
                        - Rachel
                    stability:
                      type: number
                      minimum: 0
                      maximum: 1
                      default: 0.5
                      description: Voice stability from 0 to 1.
                    timestamps:
                      type: boolean
                      default: false
                      description: >-
                        Set true to request timestamps. Returned timestamps.json
                        is a separate item in files with file_type other.
                    language_code:
                      type: string
                      description: >-
                        Optional ISO 639-1 language code to specify the spoken
                        language, such as en or zh.
                    apply_text_normalization:
                      type: string
                      enum:
                        - auto
                        - 'on'
                        - 'off'
                      default: auto
                      description: >-
                        Choose auto, on, or off to control text normalization
                        before speech generation.
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) URL for finished or failed task
                    notifications.
              description: >-
                Set model and optional callback_url at the request root. Place
                speech generation parameters inside input.
            examples:
              basic:
                summary: Stars in the attic
                value:
                  model: elevenlabs/tts/eleven-v3
                  input:
                    text: >-
                      [whispers] Wait... that ticking is coming from inside the
                      wall. [curious] This little brass key fits the crack. One
                      turn, and... [excited] the whole ceiling is full of stars!
                      [laughs] Grandpa, you built a planetarium in the attic.
                      [exhales] All these years, it was waiting for us.
                    voice: Charlotte
                    language_code: en
                    stability: 0.5
                    timestamps: false
                    apply_text_normalization: auto
              eleven-v3-02:
                summary: My first dumpling
                value:
                  model: elevenlabs/tts/eleven-v3
                  input:
                    text: >-
                      [sighs] 我练了一个下午，面团还是歪歪扭扭的。奶奶看了一眼，说：别急，手放轻一点。[curious]
                      这样吗？先对折，再慢慢捏紧……[laughs]
                      真的站住了！虽然像只胖企鹅，但这是我第一次包好饺子。原来，有些本事不是听懂的，是一起做着学会的。
                    voice: Rachel
                    language_code: zh
                    stability: 0.5
                    timestamps: false
                    apply_text_normalization: auto
              eleven-v3-03:
                summary: The character of sound
                value:
                  model: elevenlabs/tts/eleven-v3
                  input:
                    text: >-
                      [curious] Why does a violin sound different from a flute
                      when both play the same note? Their fundamental frequency
                      can match, but the overtones do not. [excited] Those extra
                      vibrations give each instrument its own sound. At 440 Hz,
                      the pitch is A; the pattern above it is what makes the
                      voice of the instrument recognizable.
                    voice: George
                    language_code: en
                    stability: 0.5
                    timestamps: true
                    apply_text_normalization: 'on'
              callback:
                summary: Receive a completion callback
                value:
                  model: elevenlabs/tts/eleven-v3
                  input:
                    text: >-
                      [whispers] Wait... that ticking is coming from inside the
                      wall. [curious] This little brass key fits the crack. One
                      turn, and... [excited] the whole ceiling is full of stars!
                      [laughs] Grandpa, you built a planetarium in the attic.
                      [exhales] All these years, it was waiting for us.
                    voice: Charlotte
                    language_code: en
                    stability: 0.5
                    timestamps: false
                    apply_text_normalization: auto
                  callback_url: https://your-domain.com/callback
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: LPV36KJQ0Y2SYT21
                  status: running
                  created_time: '2026-09-27T10:45:57'
        '400':
          description: Request validation error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Unable to create the generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````