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

# Create Voiceover

> Generate expressive, natural-sounding speech from text with the ElevenLabs v4 model.

Direct the performance with inline audio tags in square brackets, such as `[excited]`,
`[whispers]`, `[laughs]` or `[pause 1s]`: the model performs them instead of reading them aloud.
Up to 10,000 characters per request.

**Credits:** charged per started block of 10 characters of `text`.

The request is processed asynchronously: the endpoint returns a `task_id`
immediately. Retrieve the result by polling
`GET /v1/ai/voiceover/elevenlabs-v4/{task-id}` or by providing an optional `webhook_url`.




## OpenAPI

````yaml POST /v1/ai/voiceover/elevenlabs-v4
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/ai/voiceover/elevenlabs-v4:
    post:
      tags:
        - voiceover
      summary: Voiceover - Generate speech with ElevenLabs v4
      description: >
        Generate expressive, natural-sounding speech from text with the
        ElevenLabs v4 model.


        Direct the performance with inline audio tags in square brackets, such
        as `[excited]`,

        `[whispers]`, `[laughs]` or `[pause 1s]`: the model performs them
        instead of reading them aloud.

        Up to 10,000 characters per request.


        **Credits:** charged per started block of 10 characters of `text`.


        The request is processed asynchronously: the endpoint returns a
        `task_id`

        immediately. Retrieve the result by polling

        `GET /v1/ai/voiceover/elevenlabs-v4/{task-id}` or by providing an
        optional `webhook_url`.
      operationId: create_voiceover_elevenlabs_v4_task
      requestBody:
        content:
          application/json:
            examples:
              basic:
                summary: Basic voiceover generation
                value:
                  text: >-
                    [excited] Welcome to Magnific! [pause 0.5s] Let's create
                    something amazing.
                  voice_id: 21m00Tcm4TlvDq8ikWAM
              with_settings:
                summary: Voiceover with custom voice settings
                value:
                  text: '[whispers] This is the quiet part of the story.'
                  voice_id: 21m00Tcm4TlvDq8ikWAM
                  stability: 0
                  similarity_boost: 0.9
            schema:
              $ref: '#/components/schemas/elevenlabs-v4-request'
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                success - task created:
                  $ref: '#/components/examples/200-task-created'
              schema:
                $ref: >-
                  #/components/schemas/get_style_transfer_task_status_200_response
          description: OK - Task created successfully
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
components:
  schemas:
    elevenlabs-v4-request:
      properties:
        text:
          description: >
            The text to convert to speech, up to 10,000 characters. Supports
            UTF-8 characters including accented letters and non-Latin scripts.


            Inline audio tags in square brackets direct the performance instead
            of being read aloud, e.g. `[excited]`, `[whispers]`, `[laughs]` or
            `[pause 1s]`.
          example: >-
            [excited] Welcome to Magnific! [pause 0.5s] Let's create something
            amazing.
          maxLength: 10000
          minLength: 1
          type: string
        voice_id:
          description: >-
            The unique identifier of the ElevenLabs voice to use for synthesis.
            You can find voice IDs in the ElevenLabs voice library.
          example: 21m00Tcm4TlvDq8ikWAM
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9_-]+$
          type: string
        stability:
          default: 0.5
          description: >-
            Controls voice consistency and expressiveness. Lower values produce
            more expressive, varied delivery; higher values produce more
            consistent, stable output.
          example: 0.5
          maximum: 1
          minimum: 0
          type: number
        similarity_boost:
          default: 0.75
          description: >-
            Controls how closely the generated voice matches the original voice.
            Higher values produce closer matching.
          example: 0.75
          maximum: 1
          minimum: 0
          type: number
        webhook_url:
          description: >
            Optional callback URL that will receive asynchronous notifications
            whenever the task changes status. The payload sent to this URL is
            the same as the corresponding GET endpoint response, but without the
            data field.
          example: https://www.example.com/webhook
          format: uri
          type: string
      required:
        - text
        - voice_id
      type: object
    get_style_transfer_task_status_200_response:
      example:
        data:
          generated:
            - https://openapi-generator.tech
            - https://openapi-generator.tech
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          $ref: '#/components/schemas/task-detail'
      required:
        - data
      type: object
    task-detail:
      allOf:
        - $ref: '#/components/schemas/task'
        - properties:
            generated:
              items:
                description: URL of the generated image
                format: uri
                type: string
              type: array
          required:
            - generated
          type: object
      example:
        generated:
          - https://openapi-generator.tech
          - https://openapi-generator.tech
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
    inline_object:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    inline_object_1:
      properties:
        problem:
          $ref: '#/components/schemas/inline_object_1_problem'
      type: object
    inline_object_2:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    inline_object_3:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    task:
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
      properties:
        task_id:
          description: Task identifier
          format: uuid
          type: string
        status:
          description: Task status
          enum:
            - CREATED
            - IN_PROGRESS
            - COMPLETED
            - FAILED
          type: string
      required:
        - status
        - task_id
      type: object
    inline_object_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: '#/components/schemas/inline_object_1_problem_invalid_params_inner'
          type: array
      required:
        - invalid_params
        - message
      type: object
    inline_object_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  examples:
    200-task-created:
      summary: Success - Task created
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
  responses:
    400-bad-request:
      content:
        application/json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Parameter 'page' must be greater than 0
            invalid_query:
              summary: Parameter 'query' is not valid
              value:
                message: Parameter 'query' must not be empty
            invalid_filter:
              summary: Parameter 'filter' is not valid
              value:
                message: Parameter 'filter' is not valid
            generic_bad_request:
              summary: Bad Request
              value:
                message: Parameter ':attribute' is not valid
          schema:
            $ref: '#/components/schemas/inline_object'
        application/problem+json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Validation error
                invalid_params:
                  - field: page
                    reason: Parameter 'page' must be greater than 0
                  - field: per_page
                    reason: Parameter 'per_page' must be greater than 0
          schema:
            $ref: '#/components/schemas/inline_object_1'
      description: >-
        Bad Request - The server could not understand the request due to invalid
        syntax.
    401-unauthorized:
      content:
        application/json:
          examples:
            invalid_api_key:
              summary: API key is not valid
              value:
                message: Invalid API key
            missing_api_key:
              summary: API key is not provided
              value:
                message: Missing API key
          schema:
            $ref: '#/components/schemas/inline_object'
      description: >-
        Unauthorized - The client must authenticate itself to get the requested
        response.
    500-internal-server-error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_2'
      description: >-
        Internal Server Error - The server has encountered a situation it
        doesn't know how to handle.
    503-service-unavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_3'
      description: Service Unavailable
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````

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