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

# Quickstart

> Create your first PAL and start a conversation in seconds.

## Create a PAL

<Steps>
  <Step title="Step 1: Get an API Key" titleSize="h3">
    1. Go to the <a href="https://maker.tavus.io/dev" target="_blank">PAL Maker</a> and select **API Key** from the sidebar menu.
    2. Click **Create New Key** to begin generating your API key.
    3. Enter a name for the key and (optional) specify allowed IP addresses, then click **Create API Key**.
    4. Copy your newly created API key and store it securely.

    <Warning>
      We cannot recover your API Key if you lose it.
    </Warning>
  </Step>

  <Step title="Step 2: Create a PAL" titleSize="h3">
    <Note>
      In this example, we’ll create an interviewer PAL with the following settings:

      * A Phoenix-3 stock face.
      * `raven-1` as the perception model to enable screen sharing.
      * Conversational Flow layer with Sparrow-1 for turn detection.
    </Note>

    Use the following request body example:

    ```shell cURL theme={null}
    curl --request POST \
      --url https://tavusapi.com/v2/pals \
      --header 'Content-Type: application/json' \
      --header 'x-api-key: <api-key>' \
      --data '{
        "pal_name": "Interviewer",
        "system_prompt": "As an Interviewer, you are a skilled professional who conducts thoughtful and structured interviews. Your aim is to ask insightful questions, listen carefully, and assess responses objectively to identify the best candidates.",
        "pipeline_mode": "full",
        "context": "You have a track record of conducting interviews that put candidates at ease, draw out their strengths, and help organizations make excellent hiring decisions.",
        "default_face_id": "r90bbd427f71",
        "layers": {
          "perception": {
            "perception_model": "raven-1",
          },
          "conversational_flow": {
            "turn_detection_model": "sparrow-1",
            "turn_taking_patience": "medium",
            "pal_interruptibility": "medium"
          }
        }
      }'
    ```

    Tavus offers full layer customizations for your PAL. Please see the following for each layer configurations:

    * <a href="/sections/conversational-video-interface/pal/perception" target="_blank" rel="noopener noreferrer">Perception</a>
    * <a href="/sections/conversational-video-interface/pal/stt" target="_blank" rel="noopener noreferrer">STT</a>
    * <a href="/sections/conversational-video-interface/pal/llm" target="_blank" rel="noopener noreferrer">LLM</a>
    * <a href="/sections/conversational-video-interface/pal/tts" target="_blank" rel="noopener noreferrer">TTS</a>
  </Step>

  <Step title="Step 3: Create a Conversation" titleSize="h3">
    Create a new conversation using your newly created `pal_id`:

    ```shell cURL theme={null}
    curl --request POST \
      --url https://tavusapi.com/v2/conversations \
      --header 'Content-Type: application/json' \
      --header 'x-api-key: <api_key>' \
      --data '{
      "pal_id": "<your_pal_id>",
      "conversation_name": "Interview User"
    }'

    ```
  </Step>

  <Step title="Step 4: Join the Conversation" titleSize="h3">
    To join the conversation, click the link in the ***conversation\_url*** field from the response:

    ```json theme={null}
    {
      "conversation_id": "c477c9dd7aa6e4fe",
      "conversation_name": "Interview User",
      "conversation_url": "<conversation_link>",
      "status": "active",
      "callback_url": "",
      "created_at": "2025-05-13T06:42:58.291561Z"
    }
    ```
  </Step>
</Steps>

## Modify Existing PAL

Tavus lets you update any existing PAL configuration using standard JSON Patch operations (`add`, `replace`, `remove`).

<Note>
  Please see the <a href="/api-reference/pals/patch-pal" target="_blank" rel="noopener noreferrer">Patch PAL</a> endpoint for more details.
</Note>

<CodeGroup>
  ```shell Add theme={null}
  curl --request PATCH \
    --url https://tavusapi.com/v2/pals/{pal_id} \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '[
      {
        "op": "add",
        "path": "/layers/stt/hotwords",
        "value": "leadership"
      }
    ]'
  ```

  ```shell Replace theme={null}
  curl --request PATCH \
    --url https://tavusapi.com/v2/pals/{pal_id} \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '[
      {
        "op": "replace",
        "path": "/layers/stt/stt_engine",
        "value": "tavus-auto"
      }
    ]'

  ```

  ```shell Remove theme={null}
  curl --request PATCH \
    --url https://tavusapi.com/v2/pals/{pal_id} \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '[
      {
        "op": "remove",
        "path": "/layers/conversational_flow/turn_taking_patience"
      }
    ]'
  ```
</CodeGroup>
