Premium+ Avatars Overview πŸ“™



D-ID Premium+ Avatars offers a hyper-realistic, high-fidelity solution for creating digital presenters that truly embody your unique presence. With Premium⁺, you can build avatars that bring an unparalleled level of authenticity to your communications, whether for offline videos or interactive Agents.


✴️ Introduction

D-ID provides two distinct methods for creating a Premium+ Avatar: the Basic and Advanced API usage flows.

For users who want a quick and easy way to create videos, the Basic flow is the perfect choice. It simplifies the process by managing all complex tasksβ€”like handling consent scripts and uploading videosβ€”directly within the D-ID Studio interface. Once these initial steps are done, the API takes over to seamlessly generate videos.

For more experienced developers looking for greater control and customization, the Advanced flow offers the flexibility to manage both avatar creation and video generation entirely through the API. While this option requires the use of external hosting services, it allows for seamless integration of the entire process into your application.


✴️ API Usage - Basic

The Basic flow is designed for users who want to create videos quickly without the need for custom integrations. In this process, all the complex tasks, including handling consent scripts and video uploads, are managed directly through the D-ID Studio interface. Once these steps are completed, video creation proceeds through the API, just like with D-ID's other video creation endpoints.


➀✴️ Prerequisites

  1. Login to the D-ID Creative Studio
  2. Go to the Avatars Screen
  3. Click on Create Avatar, and select Premium+ Avatar
  4. Follow the steps and guidelines presented on the screen.

Once the Premium+ Avatar is ready, you can continue to the next step.


➀✴️ Video Creation

1. Fetch the Premium+ Avatar

After the Premium+ Avatar is ready, fetch the created Premium+ Avatar's status and properties.
To make the avatar speak with a cloned voice, save the voice_id for the next step.

GET https://api.d-id.com/clips/presenters/{id} | Get Presenter by id

{
    "presenters": [
        {
            "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
            "gender": "male",
            "name": "Joe",
            "preview_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/preview.mp4",
            "modified_at": "2024-11-18T04:28:37.562Z",
            "owner_id": "userID",
            "thumbnail_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/thumbnail.png",
            "image_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/image.png",
            "talking_preview_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/talkingPreview.mp4",
            "created_at": "2024-11-11T00:00:00.000Z",
            "voice": {
                "type": "elevenlabs",
                "voice_id": "PREMIUM_PLUS_VOICE_ID"
            },
            "is_streamable": true
        }
    ]
}

To see all of the available Premium and Premium+ Avatars, use the Get a list of the presenters endpoint.

2. Create a Clip with your Premium+ Avatar

Use the id (from the previous step) and place it in the presenter_id property.
To use the cloned voice created automatically in the creation process, make sure to include the voice_id fetched from the previous step.

POST https://api.d-id.com/clips | Create a Clip

{
    "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
    "script": {
        "type": "text",
        "input": "Hi! I'm a Premium Plus Avatar! Nice to meet you!",
        "provider": {
            "type": "elevenlabs",
            "voice_id": "PREMIUM_PLUS_VOICE_ID"
        }
    },
    "webhook":"webhook.site/joe_clip_creation_result"
}
{
    "id": "clp_ok6xUfv4P5AmqEywO_abc",
    "created_at": "2024-11-11T10:00:00.000Z",
    "object": "clip",
    "status": "created"
}

πŸ‘

Use Webhooks!

Create an endpoint that accepts POST requests, and add it to the webhook field.
This endpoint will be triggered once the video is ready.


3. Get the Clip

GET https://api.d-id.com/clips/id | Get a specific Clip

{
  ///...///
  "id": "clp_ok6xUfv4P5AmqEywO_abc",
  "status": "started",
  "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
  "created_at": "2024-11-11T10:00:00.000Z",
  "pending_url": "s3://d-id-clips-prod/userID/clp_ok6xUfv4P5AmqEywO_abc/PREMIUM_PLUS_PRESENTER_ID.mp4"
  ///...///
}

πŸ“˜

Note

The output video will be located in the result_url field only when "status": "done"



✴️ API Usage - Advanced

The Advanced flow is designed for experienced developers who aim to manage the entire Premium+ Avatar creation process and video generation through the API. This approach requires using external hosting services and offers users the flexibility to integrate both avatar creation and video generation seamlessly into their applications.

➀✴️ Consent

To prevent misuse, we need to confirm the identity of the person in the video by reading a consent statement and dynamic passcode.

1. Create a Consent

POST https://api.d-id.com/consents | Create a Consent

{
  "language": "english"
}
{
  "id": "cst_CgeFQXJD2PHelloMINPQHnY",
  "text": "I, [user name] confirm that I have all the necessary rights or consents to use this footage and voice recording for creating an Avatar from my 'User Submission' all in accordance with the Terms of Use. This is my dynamic passcode lake, grass, salad",
  "created_at": "2024-09-20T12:30:00.112Z",
  "created_by": "userID"
}

πŸ“˜

Supported Consent Languages:

Dutch, Turkish, Swedish, Indonesian, Filipino, Czech, Romanian, Danish, Malay, Slovak, Croatian, English, Polish, German, Spanish, French, Italian and Portuguese

❗️

Expiration Period

The consent challenge will expire 30 minutes after it is created - make sure to use it within that time!

The response id will be referred to as consent_id in the next steps.


2. Record a Video with the Consent Script

Record a video of your avatar subject reading aloud the text from the previous step's response and upload it to an external hosting service (e.g. Amazon S3).

πŸ‘

Consent Footage Tips:

  • Replace the [user name] with your Premium+ Avatar's name
  • Pronounce only the provided consent script and nothing else, when recording the consent video
  • Only one person should be in the frame of the video
  • Ensure the speaker is facing the camera with their face visible at all times

3. Upload the Consent Video

POST https://api.d-id.com/consents/{id} | Upload a Consent Video

{
  "name": "Joe",
  "source_url": "https://yourwebsite.storage.com/JoeConsentFile.mp4",
  "webhook": "webhook.site/joe_verification_result"
}
Webhook will be fired once the consent is verified with "status":"done"
  • Include the URL of the recorded Consent video in the source_url field.
  • The Premium+ Avatar's name must match the "[user name]" pronounced in the recorded Consent video.

πŸ‘

Use Webhooks!

Create an endpoint that accepts POST requests, and add it to the webhook field.
This endpoint will be triggered once the Consent video is verified.

πŸ“˜

Note

You can proceed with the consent only when its "status": "done"


➀✴️ Premium+ Avatar Creation

1. Record a video with your Avatar

Record at least a five minute video of your Avatar subject and upload it to an external hosting service (e.g. Amazon S3) with at least 30 seconds of silence and idle movements at the end of the footage.Without the silent part, the validation will fail.

πŸ‘

Footage Tips:

  • Keep the subject's face visible at all times
  • The subject must face the camera directly
  • Record the subject in a quiet, well lit environment
  • Make sure the subject’s mouth is closed when pausing between sentences
  • The submitted video must be at least 5 minutes long
  • The submitted video must include 30 seconds of silence and idle movements at the end of the footage

2. Create the Premium+ Avatar

POST https://api.d-id.com/clips/avatars | Create a Premium+ Avatar

{
  "source_url": "https://yourwebsite.storage.com/JoeAvatarVideoFile.mp4",
  "name": "Joe",
  "gender": "male",
  "consent_id": "consent_id",
  "webhook": "webhook.site/joe_avatar_result",
  "config": {
    "is_greenscreen": "false"
  }
}
{
    "id": "trn_1234AfuyBpJpEVUk88",
    "status": "created",
    "name": "Joe",
    "gender": "male",
    "created_at": "2025-01-01T00:00:00.000Z",
    "owner_id": "userID",
    "created_by": "userID",
    "presenter_id": "PREMIUM_PLUS_PRESNETER_ID",
    "driver_id": "driverID"
}
  • The Premium+ Avatar'sname should match the "[user name]" pronounced in the recorded consent video.
  • Place the consent_id returned in the first Consent step.
  • Copy and save the presenter_id for the next step.

πŸ‘

Use Webhooks!

Create an endpoint that accepts POST requests, and add it to the webhook field.
This endpoint will be triggered once the Avatar's creation is done.

❗️

Avatar Creation Time

Please note that the Avatar creation process can take up to 24 hours.

3. Fetch the Premium+ Avatar

Use the following endpoint to fetch the created Premium+ Avatar's status and properties.

After the status is set todone, you can start creating videos with it.
To make the avatar speak with its cloned voice, save the voice_id for the next step.

GET https://api.d-id.com/clips/presenters/{id} | Get Presenter by ID

{
    "presenters": [
        {
            "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
            "gender": "male",
            "name": "Joe",
            "preview_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/preview.mp4",
            "modified_at": "2024-11-18T04:28:37.562Z",
            "owner_id": "userID",
            "thumbnail_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/thumbnail.png",
            "image_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/image.png",
            "talking_preview_url": "https://clips-presenters.d-id.com/v2/userID/_ZW3aat123/1g4jIw123/talkingPreview.mp4",
            "created_at": "2024-11-11T00:00:00.000Z",
            "voice": {
                "type": "elevenlabs",
                "voice_id": "PREMIUM_PLUS_VOICE_ID"
            },
            "is_streamable": true
        }
    ]
}

To see all of the available Premium and Premium+ Avatars, use the Get a list of the presenters endpoint.


➀✴️ Video Creation

1. Create a Clip with your Premium+ Avatar

Use the id (from the previous step) and place it in the avatar_id property.
To use the cloned voice created automatically in the creation process, make sure to include the voice_id fetched from the previous step.

POST https://api.d-id.com/clips | Create a Clip

{
    "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
    "script": {
        "type": "text",
        "input": "Hi! I'm a Premium Plus Avatar! Nice to meet you!",
        "provider": {
            "type": "elevenlabs",
            "voice_id": "PREMIUM_PLUS_VOICE_ID"
        }
    },
    "webhook":"webhook.site/joe_clip_creation_result"
}
{
    "id": "clp_ok6xUfv4P5AmqEywO_abc",
    "created_at": "2024-11-11T10:00:00.000Z",
    "object": "clip",
    "status": "created"
}

πŸ‘

Use Webhooks!

Create an endpoint that accepts POST requests, and add it to the webhook field.
This endpoint will be triggered once the video is ready.


2. Get the Clip

GET https://api.d-id.com/clips/{id} | Get a specific Clip

{
  ///...///
  "id": "clp_ok6xUfv4P5AmqEywO_abc",
  "status": "started",
  "presenter_id": "PREMIUM_PLUS_PRESENTER_ID",
  "created_at": "2024-11-11T10:00:00.000Z",
  "pending_url": "s3://d-id-clips-prod/userID/clp_ok6xUfv4P5AmqEywO_abc/PREMIUM_PLUS_PRESENTER_ID.mp4"
  ///...///
}

πŸ“˜

Note

The output video will be located in the result_url field only when "status": "done"



✴️ Support


Have any questions? We are here to help! Please leave your question in the Discussions section and we will be happy to answer shortly.

Ask a question