---
title: "Create a talk"
method: POST
path: "/talks"
tags: ["Talks (Standard Avatars)"]
---

# Create a talk

`POST /talks`

## Headers

- `x-api-key-external` string

## Request body

- CreateTalkRequest
  - `source_url` string — The URL of the source image to be animated by the driver video, or a selection from the list of provided studio actors.
  - `script` union, required
    - TextScript3
      - `type` 'text', required — The type of the script.
      - `subtitles` boolean — Should subtitles be created.
      - `provider` union
        - MicrosoftTtsProvider
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
        - ElevenlabsTtsProvider
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
        - AmazonTtsProvider
          - `type` 'amazon', required
          - `voice_id` 'Amy' | 'Aria' | 'Ayanda' | 'Bianca' | 'Brian' | 'Camila' | 'Emma' | 'Gabrielle' | 'Ivy' | 'Joanna' | 'Joey' | 'Justin' | 'Kendra' | 'Kevin' | 'Kimberly' | 'Léa' | 'Lucia' | 'Lupe' | 'Matthew' | 'Olivia' | 'Salli' | 'Seoyeon' | 'Takumi' | 'Vicki', required
          - `language` string — Voice customization options. To save the language of the selected agent voice
        - GoogleTtsProvider
          - `type` 'google', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
        - AzureOpenAiTtsProvider
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
      - `input` string — The input text that will be synthesized to an audio file. Note that each provider has its own limitations on the text length. Maximum 40K characters (10K excluding SSML tags).
      - `ssml` boolean — Is the text provided in ssml form.
      - `dictionary_id` string — Pronunciation dictionary ID for word/phrase substitutions before TTS.
    - AudioScript3
      - `type` 'audio', required — The type of the script.
      - `subtitles` boolean — Should subtitles be created.
      - `audio_url` string, required
  - `config` TalksConfig
    - `logo` Logo
      - `url` string, required — https url to an ARGB jpg/png image, a default logo is used otherwise
      - `position` integer[], required — position of the logo in pixels from the top left corner (w,h) negative values are subtracted from last pixel
    - `stitch` boolean — Stitch back the animated result to the original image
    - `result_format` 'mp4' | 'mov'
    - `fluent` boolean — Interpolate between the last & first frames of the driver video
    - `pad_audio` number, double — Pad the audio with silence at the end (given in seconds) Will increase the video duration & the credits it consumes
    - `driver_expressions` ExpressionConfig
      - `expressions` TimedExpression[], required — List of TimedExpression to use
        - `start_frame` number, double, required — The frame number for the expression start point.
        - `expression` 'neutral' | 'happy' | 'serious' | 'surprise', required
        - `intensity` number, double, required — Controls the intensity you want for this expression (between 0 no expression, 1 maximum)
      - `transition_frames` number, double — Number of frames to use for the transition between expressions
  - `user_data` string
  - `name` string — The name of the talk video
  - `webhook` string
  - `result_url` string

## Response `201`

Created

- CreateTalkResponseDto
  - `id` string, required — The ID of the talk
  - `object` string, required — An identifier of this talk
  - `created_by` string, required — The user id of the user that created the talk
  - `created_at` string, required — Talk creation time as iso-8601 string
  - `status` 'created' | 'done' | 'error' | 'started' | 'rejected', required

## Other responses

- `400`
- `401` — AuthorizationError
- `402` — InsufficientCreditsError
- `403` — PermissionError
- `451` — ImageModerationError | CelebrityRecognizedError | TextModerationError | AudioModerationError

---

[API](https://skmtc.net/d-id/apis/realtime-endpoints.md) · [All operations](https://skmtc.net/d-id/apis/realtime-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-id/realtime-endpoints/versions/2f2425e1b6b6/schema)
