> ## 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 V4 Turbo TTS

> The ElevenLabs V4 Turbo TTS API turns up to 5,000 characters into speech with audio tags, 90+ languages, MP3/PCM/Opus output and optional timestamps.

> [!TIP]
>
> 1. After submission, a `task_id` will be returned. If you provided a `callback_url`, when the task status becomes `finished` or `failed`, a POST request will be sent to the `callback_url`.
> 2. Regardless of whether `callback_url` is provided, you can retrieve the result through the unified [Query Task Status](https://docs.vidgo.ai/api-manual/task-management/status.md) endpoint.

ElevenLabs V4 Turbo TTS is the faster, lower-cost Eleven v4 text-to-speech model. It reads up to 5,000 characters per request in 90+ languages with the same voice, stability, audio-tag and output-format controls as Eleven v4, so it fits high-volume narration, app voice prompts, notifications and drafts you may later re-render with Eleven v4.

Eleven v4 and Eleven v4 Turbo are ElevenLabs text-to-speech models released together in September 2026. They take the same request fields on Vidgo: [ElevenLabs V4 TTS](https://docs.vidgo.ai/api-manual/music-series/elevenlabs-tts-eleven-v4.md) is the most expressive option, and [ElevenLabs V4 Turbo TTS](https://docs.vidgo.ai/api-manual/music-series/elevenlabs-tts-eleven-v4-turbo.md) is the faster, lower-cost variant.

## Models

* **elevenlabs/tts/eleven-v4-turbo** — Eleven v4 Turbo text-to-speech, the faster and lower-cost variant.

## Features

* Text-to-speech for up to 5,000 characters per request.
* Inline audio tags in `text` for emotion, pauses and non-verbal sounds.
* Any ElevenLabs voice by name or voice ID, with `stability` and `similarity_boost` tuning.
* 90+ languages, with an optional `language_code` hint.
* 19 output formats across MP3, PCM, μ-law, A-law and Opus.
* Optional timestamps for subtitles and lip-sync.

## Required parameters

* `text` (string): The text to speak, 1–5,000 characters, not blank. Audio tags in square brackets, such as `[whispers]`, are allowed.

## Optional parameters

* `voice` (string): ElevenLabs voice name or voice ID. Default `Rachel`. See [Voice Presets](#voice-presets).
* `stability` (number): `0`–`1`. Default `0.5`. Lower values are more expressive, higher values more consistent.
* `similarity_boost` (number): `0`–`1`. Default `0.75`. How closely the output follows the selected voice.
* `output_format` (string): One of 19 MP3, PCM, μ-law, A-law and Opus formats. Default `mp3_44100_128`. See [Output Formats](#output-formats).
* `apply_text_normalization` (string): `auto`, `on` or `off`. Default `auto`. Controls whether numbers, dates and abbreviations are spelled out.
* `timestamps` (boolean): Also return timing data for the speech. Default `false`.
* `language_code` (string): ISO 639-1 language hint, such as `en`, `zh` or `ja`. Omit it to let the model detect the language.

## Output

The finished task returns the speech as an audio file in the `files` array of [Query Task Status](https://docs.vidgo.ai/api-manual/task-management/status.md) and the callback payload. With `timestamps: true`, the timing data is returned as an additional item in the same array.

## Output Formats

| Family | Values |
| - | - |
| MP3 | `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128` (default), `mp3_44100_192` |
| PCM | `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000` |
| Telephony | `ulaw_8000`, `alaw_8000` |
| Opus | `opus_48000_32`, `opus_48000_64`, `opus_48000_96`, `opus_48000_128`, `opus_48000_192` |

The value reads as codec, sample rate in Hz and, for compressed formats, bitrate in kbps. `pcm_*` suits further audio processing; `ulaw_8000` and `alaw_8000` suit phone systems.

## Voice Presets

`voice` accepts any ElevenLabs voice name or voice ID available to the model. Commonly used names include `Aria`, `Roger`, `Sarah`, `Laura`, `Charlie`, `George`, `Callum`, `River`, `Liam`, `Charlotte`, `Alice`, `Matilda`, `Will`, `Jessica`, `Eric`, `Chris`, `Brian`, `Daniel`, `Lily`, `Bill`, `Rachel`. The default is `Rachel`.

## Examples

* **Notification prompt**: a short transactional message with `voice: Brian` and the default MP3 output.
* **French narration as Opus**: `language_code: fr`, `output_format: opus_48000_64` for compact app audio, with a `callback_url`.

## Notes

* Credits are reserved at submission and depend on the number of characters in `text` as sent, including spaces, line breaks and audio tags. A failed task is refunded in full. See the [pricing page](https://vidgo.ai/apis/api-pricing) for current rates.
* `text` is limited to 5,000 characters per request. Split longer scripts into several tasks.
* This endpoint produces a single voice per request. Multi-speaker dialogue, voice cloning, streaming, `seed` and `speed` are not available through it; unsupported fields return 400.
* Turbo is billed at a lower rate than [ElevenLabs V4 TTS](https://docs.vidgo.ai/api-manual/music-series/elevenlabs-tts-eleven-v4.md); the request body is identical, so you can switch by changing `model`.


## OpenAPI

````yaml api-manual/music-series/elevenlabs-tts-eleven-v4-turbo.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - ElevenLabs V4 Turbo TTS
  description: >-
    The ElevenLabs V4 Turbo TTS API turns up to 5,000 characters into speech
    with audio tags, 90+ languages, MP3/PCM/Opus output and optional timestamps.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
    description: Production server
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Audio Series
      summary: ElevenLabs V4 Turbo TTS
      description: >-
        Send only the `input` fields listed for this model. Any other field,
        such as `seed`, `speakers` or `speed`, returns 400. `model` and
        `callback_url` go at the request root.
      operationId: submit_elevenlabs_tts_eleven_v4_turbo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              properties:
                model:
                  type: string
                  description: Model ID. Use `elevenlabs/tts/eleven-v4-turbo`.
                  example: elevenlabs/tts/eleven-v4-turbo
                callback_url:
                  type: string
                  format: uri
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint that receives a POST when
                    the task becomes `finished` or `failed`. HTTPS is
                    recommended. Omit it, or send `null` or an empty string, to
                    disable callbacks.
                  example: https://your-domain.com/callback
                input:
                  type: object
                  required:
                    - text
                  properties:
                    text:
                      type: string
                      minLength: 1
                      maxLength: 5000
                      example: >-
                        [warmly] Welcome back to the show. [pause] Today we're
                        talking about the oldest lighthouse on the coast.
                      description: >-
                        Text to speak, 1–5,000 characters, not blank. Inline
                        audio tags such as `[whispers]` or `[laughs]` are passed
                        through to the model and count as characters.
                    voice:
                      type: string
                      minLength: 1
                      default: Rachel
                      description: >-
                        ElevenLabs voice name or voice ID, such as `Rachel`,
                        `Aria` or `Brian`.
                    stability:
                      type: number
                      minimum: 0
                      maximum: 1
                      default: 0.5
                      description: >-
                        Voice stability. Lower values sound more varied and
                        expressive; higher values sound steadier.
                    similarity_boost:
                      type: number
                      minimum: 0
                      maximum: 1
                      default: 0.75
                      description: How closely the output follows the selected voice.
                    output_format:
                      type: string
                      enum:
                        - mp3_22050_32
                        - mp3_44100_32
                        - mp3_44100_64
                        - mp3_44100_96
                        - mp3_44100_128
                        - mp3_44100_192
                        - pcm_8000
                        - pcm_16000
                        - pcm_22050
                        - pcm_24000
                        - pcm_44100
                        - pcm_48000
                        - ulaw_8000
                        - alaw_8000
                        - opus_48000_32
                        - opus_48000_64
                        - opus_48000_96
                        - opus_48000_128
                        - opus_48000_192
                      default: mp3_44100_128
                      description: >-
                        Audio codec, sample rate and bitrate, written as
                        `codec_samplerate[_bitrate]`.
                    apply_text_normalization:
                      type: string
                      enum:
                        - auto
                        - 'on'
                        - 'off'
                      default: auto
                      description: >-
                        Whether numbers, dates and abbreviations are spelled out
                        before synthesis. `auto` lets the model decide.
                    timestamps:
                      type: boolean
                      default: false
                      description: Also return timing data for the generated speech.
                    language_code:
                      type: string
                      example: en
                      description: >-
                        Optional language hint as an ISO 639-1 code, such as
                        `en`, `zh` or `ja`. Omit it to let the model detect the
                        language.
                  additionalProperties: false
                  description: Generation parameters.
            examples:
              notification:
                summary: Notification prompt
                value:
                  model: elevenlabs/tts/eleven-v4-turbo
                  input:
                    text: >-
                      Your order has shipped and should arrive on Thursday.
                      Reply STOP to unsubscribe from delivery updates.
                    voice: Brian
              french_opus:
                summary: French narration as Opus
                value:
                  model: elevenlabs/tts/eleven-v4-turbo
                  callback_url: https://your-domain.com/callback
                  input:
                    text: >-
                      Bienvenue ! Votre séance de méditation commence dans
                      trente secondes. Installez-vous confortablement.
                    voice: Charlotte
                    language_code: fr
                    output_format: opus_48000_64
                    stability: 0.6
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                    description: HTTP status code.
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                        description: >-
                          Task ID. Use it with [Query Task
                          Status](/api-manual/task-management/status).
                      status:
                        type: string
                        enum:
                          - not_started
                        description: Initial task status.
                      created_time:
                        type: string
                        format: date-time
                        description: Time the task was created (ISO 8601).
              example:
                code: 200
                data:
                  task_id: task-unified-1762160000-abc123
                  status: not_started
                  created_time: '2026-11-03T10:30:00'
        '400':
          description: >-
            Invalid input, unsupported field, inaccessible media, or
            insufficient credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '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: {}
                    description: Error message.
        '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: {}
                    description: Error message.
        '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: {}
                    description: Error message.
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '502':
          description: Unable to create the upstream generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
        '503':
          description: The requested model is temporarily unavailable
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
                    description: Error message.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        All API endpoints require Bearer Token authentication


        Get your API Key:


        Go to **Dashboard → API Key** ([API Key Management
        Page](https://vidgo.ai/apis/dashboard/api-key)) to get your API Key


        Add it to the request header:


        ```

        Authorization: Bearer VIDGO_API_KEY

        ```

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.