---
updatedAt: 2026-02-08T07:28:47.000Z
agentTools:
  projectIndex: https://docs.d-id.com/llms.txt
---

# Quickstart

Create expressive videos with V4 Avatars using different emotional states (sentiments)

Create expressive videos where avatars can express different emotions through **sentiments**. Each sentiment represents a unique emotional state (like Professional, Empathetic, Excited, Friendly, Frustrated, etc.) and comes with its own voice configuration.

<CoolSteps name="expressives-quickstart">
  <CoolStep number={1} title="Create a video">
    Send a POST request with an avatar ID, sentiment ID, and the text you want the avatar to speak.

    ```yaml Request
    curl -X POST "https://api.d-id.com/expressives" \
      -H "Authorization: Basic <YOUR KEY>" \
      -H "Content-Type: application/json" \
      -d '{
        "avatar_id": "public_amber_casual@avt_PfMblk",
        "sentiment_id": "snt_aBC123ABc",
        "script": {
          "type": "text",
          "input": "Hello! Welcome to our platform. I am excited to show you around and help you get started."
        }
      }'
    ```

    ```json Response
    {
      "id": "exp_abC123",
      "object": "expressive",
      "status": "created",
      "created_at": "2020-09-03T13:56:54.995"
    }
    ```

    Save the `id` from the response — you'll need it to check the status and retrieve the video.

    Call `GET /expressives/avatars` to see available avatars and their sentiments. Each sentiment automatically uses its configured voice for natural, expressive delivery.
  </CoolStep>

  <CoolStep number={2} title="Check the video status">
    Poll the GET endpoint until the status changes to `done`. Video generation typically takes 1-5 minutes depending on video length.

    ```yaml Request
    curl -X GET "https://api.d-id.com/expressives/exp_52907745-7672-470e-a803-a2f8feb52944" \
      -H "Authorization: Basic <YOUR KEY>"
    ```

    ```json Response
    {
      "id": "exp_abC123",
      "status": "done",
      "avatar_id": "public_amber_casual@avt_PfMblk",
      "sentiment_id": "snt_aBC123ABc",
      "result_url": "https://result.d-id.com/.../video.mp4",
      "duration": 4.5
    }
    ```

    Poll until `status` is `done`. Video generation typically takes 1-5 minutes depending on video length.
  </CoolStep>

  <CoolStep number={3} title="Get your video">
    Once the status is `done`, the `result_url` field contains a direct link to your expressive video. The avatar will display the selected sentiment throughout the video with appropriate facial expressions and animations.

    ```curl
    curl -O "https://result.d-id.com/.../video.mp4"
    ```

    The video uses the sentiment's configured voice, ensuring the voice tone matches the emotional expression of the avatar.
  </CoolStep>
</CoolSteps>