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

# Avatar Troubleshooting: Hardware, Setup, and Speech

> Answers to common Avatar setup questions: hardware specs, kiosk mode, speech recognition, auto-play, printing, and website embedding.

This page collects the most frequently asked questions about running Plural Avatar on display devices. Whether you are setting up a new kiosk, troubleshooting speech recognition, or embedding external content in your flow, you will find step-by-step guidance below.

<AccordionGroup>
  <Accordion title="What are the hardware requirements for Avatar?">
    To run Avatar reliably, your device must meet these minimum specifications:

    | Component      | Requirement                                                |
    | -------------- | ---------------------------------------------------------- |
    | **OS**         | Windows Pro                                                |
    | **Processor**  | Intel i5 12th Generation or better (e.g. Intel NUC 12 Pro) |
    | **RAM**        | 16 GB or more                                              |
    | **Storage**    | 512 GB                                                     |
    | **Graphics**   | Intel Iris Xe or a dedicated GPU (e.g. Nvidia)             |
    | **Browser**    | Google Chrome                                              |
    | **Microphone** | External USB mic recommended (e.g. Rode)                   |
    | **Webcam**     | LG Brio or Elo-mounted camera                              |
    | **Screen**     | Elo Touch touchscreen monitor                              |
    | **Stand**      | Elo Touch Wallaby Pro self-service stand                   |
    | **Internet**   | Wired connection at 50 Mbit/s or faster                    |

    **Optional accessories:**

    * Kiosk software: Chrome Kiosk (free) or SiteKiosk (paid)
    * Barcode/QR scanner (Elo-mounted, compatible with specific Elo monitors)
    * Remote access: SiteKiosk, AnyDesk, or TeamViewer
  </Accordion>

  <Accordion title="How do I install and set up Avatar on a display device?">
    Humanizing Technologies pre-configures Avatar hardware for you. Here is what the installation process covers:

    **Windows setup**

    If you do not have an existing email address for the device, Humanizing creates one (e.g. an `@outlook.de` account) and sets up Windows using that address.

    **Software installed**

    * Avira Antivirus
    * AnyDesk (remote access)
    * Google Chrome (if not already present)

    **Kiosk mode**

    You choose one of the available kiosk options (see the next FAQ entry). Humanizing installs and configures the chosen option for you.

    **Custom settings**

    If you need additional customisations, let your Humanizing contact know and they will configure the device to your requirements.
  </Accordion>

  <Accordion title="What kiosk options are available for Avatar?">
    Choose the kiosk mode that fits your deployment environment:

    **Option A — Chrome Kiosk on Windows**

    * ✅ Virtual keyboard available
    * ✅ Easy and quick to set up
    * ✅ Works on any Windows device with Chrome
    * ⚠️ Users can exit kiosk mode (not recommended for unattended public areas)

    **Option B — Chrome Kiosk on Windows with Explorer disabled**

    * ✅ Easy and quick to set up
    * ✅ Very secure when no physical keyboard is attached and USB slots are hidden
    * ❌ No virtual keyboard — only suitable when text input is not needed

    **Option C — Windows 11 Kiosk User with Microsoft Edge**

    * ✅ Virtual keyboard available
    * ✅ Easy to set up on Windows 11+
    * ⚠️ Avatar is optimised for Chrome; Edge may cause unexpected behaviour

    **Option D — Third-party software (e.g. SiteKiosk)**

    * ✅ Highly secure
    * ✅ Virtual keyboard available
    * ✅ Works on Windows with Chrome
    * ❌ Paid licence required
    * ❌ More complex setup

    <Tip>For public-facing deployments, choose Option B or Option D to prevent visitors from exiting the kiosk.</Tip>
  </Accordion>

  <Accordion title="How can I automatically click the Play button after my device starts up?">
    <Warning>
      Humanizing Technologies strongly discourages automating the Play button click. The overlay exists so that end users can give explicit consent to data processing. Bypassing it may not comply with GDPR in all jurisdictions. Review the regulations applicable to your country before proceeding.
    </Warning>

    For stationary setups, the recommended approach is to configure Chrome to allow auto-play audio instead (see the "Setup Chrome to play Avatar speech without Play button overlay" entry below).

    If you still need to automate a mouse click at startup, follow these steps using a Python script:

    <Steps>
      <Step title="Install Python">
        Download and install the latest Python version from [python.org/downloads](https://www.python.org/downloads/).
      </Step>

      <Step title="Install the pyautogui library">
        Open a terminal and run:

        ```bash theme={null}
        pip install pyautogui
        ```
      </Step>

      <Step title="Download the auto-click script">
        Obtain `auto_click.py` from your Humanizing contact and save it to a convenient location.
      </Step>

      <Step title="Add the script to startup (Windows)">
        Press **Win + R**, type `shell:startup`, and press **Enter**. Copy `auto_click.py` into the Startup folder that opens.
      </Step>

      <Step title="Adjust the click coordinates (optional)">
        Open `auto_click.py` in a text editor. Modify the `click_x` and `click_y` values to match the exact on-screen position of the Play button.
      </Step>

      <Step title="Set the startup delay">
        Find the line `time.sleep(3)` and replace `3` with the number of seconds your device takes to fully load Avatar. For example, if Avatar is visible 25 seconds after boot, use `30`.
      </Step>

      <Step title="Reboot and test">
        Restart your device. The script will run automatically in the background and simulate the click after the specified delay.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="How do I refresh the Avatar page automatically?">
    Use the **Auto Refresh Plus | Page Monitor** Chrome extension to keep Avatar fresh without manual intervention.

    <Steps>
      <Step title="Install the extension">
        Open the Chrome Web Store and search for **Auto Refresh Plus | Page Monitor**. Click **Add to Chrome** and confirm the installation.
      </Step>

      <Step title="Set a predefined URL">
        Open the extension settings, navigate to the **Predefined** tab, enable the predefined URL option, and enter your Avatar link (e.g. `https://go.plural.io/s/54a4867a00`).
      </Step>

      <Step title="Configure the refresh frequency">
        Switch to the **Frequency** tab and choose how often the page should reload.
      </Step>

      <Step title="Enable autostart">
        Go to the **Autostart** section, paste your Avatar URL, and enable autostart so the extension activates automatically when Chrome opens.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="How do I configure a NUC to start automatically when power is connected?">
    Configure your Intel NUC's BIOS so that it powers on whenever electricity is restored — useful for installations where the display is connected to a timer or power strip.

    <Steps>
      <Step title="Enter BIOS setup">
        During the boot sequence, press **F2** to open the BIOS setup utility.
      </Step>

      <Step title="Navigate to power settings">
        Go to **Power → Secondary power settings**.
      </Step>

      <Step title="Set the after-power-failure behaviour">
        Change the **After power failure** option to **On**.
      </Step>

      <Step title="Save and exit">
        Press **F10** to save changes and exit the BIOS.
      </Step>
    </Steps>

    <Note>With this setting, an intentional shutdown (e.g. via Windows) keeps the device off. Only a power-cycle will turn it back on automatically.</Note>
  </Accordion>

  <Accordion title="How do I enable the on-screen virtual keyboard in Windows 11?">
    <Steps>
      <Step title="Open Windows Settings">
        Press **Win + I** to open Settings.
      </Step>

      <Step title="Go to Time & Language → Keyboards">
        Select **Time & language** from the sidebar, then click **Typing** and then **Advanced keyboard settings**.
      </Step>

      <Step title="Enable the virtual keyboard">
        Select **Virtual keyboard** and check the option **Always on** to ensure the keyboard appears whenever a text field is focused.
      </Step>
    </Steps>

    For further keyboard customisation options, see the [Microsoft on-screen keyboard documentation](https://support.microsoft.com/de-de/windows/informationen-zur-bildschirmtastatur-004f3d67-855b-27f0-6f7c-d5145f691181#WindowsVersion=Windows_11).
  </Accordion>

  <Accordion title="How do I set up Chrome to play Avatar speech without the Play button overlay?">
    Modern browsers block auto-play audio to prevent unwanted background noise. Avatar uses a Play button overlay to work around this — but for permanent kiosk installations you can disable the overlay and allow Chrome to play audio automatically.

    <Steps>
      <Step title="Request overlay removal">
        Contact [support@humanizing.com](mailto:support@humanizing.com) and provide your Avatar's **Robot ID**. Humanizing will disable the Play button overlay on your Avatar.
      </Step>

      <Step title="Open your Avatar URL in Chrome">
        Once the overlay is removed, open your Avatar link. The Avatar will start immediately but stay silent — this is expected.
      </Step>

      <Step title="Allow sound in Chrome site settings">
        Click the **settings icon** (lock or tune icon) to the left of the address bar. Find the **Sound** setting and change it to **Allow**.
      </Step>

      <Step title="Reload the page">
        Go back to your Avatar tab and press **F5** to reload. Avatar will now speak without any overlay.
      </Step>
    </Steps>

    <Note>This setup is intended for stationary, single-use kiosk installations. Review GDPR consent requirements before disabling the Play button in EU deployments.</Note>
  </Accordion>

  <Accordion title="How do I shut the PC down automatically on a schedule?">
    Use Windows Task Scheduler to power off the kiosk PC at a set time each day.

    <Steps>
      <Step title="Open Task Scheduler">
        Search for **Task Scheduler** in the Windows Start menu and click **Create Task…**.
      </Step>

      <Step title="Configure the General tab">
        Give the task a descriptive name. Select **Run whether user is logged on or not**, tick **Run with highest privileges**, and set **Configure for** to **Windows 10**.
      </Step>

      <Step title="Set a trigger">
        Switch to the **Triggers** tab, click **New…**, set **Begin the task** to **On a schedule**, choose the frequency (e.g. Daily) and the start time, ensure **Enabled** is checked, then click **OK**.
      </Step>

      <Step title="Add the shutdown action">
        Switch to the **Actions** tab, click **New…**, select **Start a program**, enter `shutdown` as the program, and add `/S /F` as the argument. Click **OK**.
      </Step>

      <Step title="Set idle conditions">
        Switch to the **Conditions** tab, tick **Start the task only if the computer is idle for**, choose a time period, and also tick **Stop if the computer ceases to be idle** and **Restart if the idle state resumes**.
      </Step>

      <Step title="Save the task">
        Click **OK** to save. The PC will shut down at the scheduled time when the machine is idle.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="How do I enable kiosk mode on an HP Chromebase?">
    <Steps>
      <Step title="Install the Kiosk app">
        Open Google Chrome on your Chromebase and go to the [Kiosk app in the Chrome Web Store](https://chrome.google.com/webstore/detail/kiosk/afhcomalholahplbjhnmahkoekoijban/). Click **Launch App** to start the kiosk application.
      </Step>

      <Step title="Enter your Avatar URL">
        In the Kiosk app, find the **Content URL** section and paste the link to your Avatar.
      </Step>

      <Step title="Set an admin password">
        Scroll down to the **Administration** section and enter a username and password of your choice. Write these down somewhere safe — you will need them to exit kiosk mode.
      </Step>

      <Step title="Save and restart">
        Scroll to the bottom of the page and click **Save & Restart**. The Chromebase will relaunch directly into your Avatar.
      </Step>
    </Steps>

    **To exit kiosk mode:**

    1. Connect a keyboard to the Chromebase.
    2. Press **Ctrl + A**.
    3. Enter your admin username and password.
    4. Scroll to the bottom and click **Exit**.

    <Warning>Keep your admin credentials stored securely. Without them, you cannot exit the kiosk application.</Warning>
  </Accordion>

  <Accordion title="How do I switch between Avatar personas at runtime?">
    You can switch the Avatar character mid-flow by appending a `PluralAvatarID` parameter to the Avatar URL.

    **Step 1 — Find the Avatar ID**

    In the Plural platform, go to the avatar selection screen and hover over the avatar you want to switch to. Its ID will appear in a tooltip.

    **Step 2 — Construct the URL**

    Append `?PluralAvatarID=<id>` to your Avatar's base URL. For example:

    ```
    https://go.plural.io/s/0172c7ad4e?PluralAvatarID=11
    ```

    **Step 3 — Use a Script element to switch personas**

    In your flow, add a Script element and call:

    ```javascript theme={null}
    openLink('https://go.plural.io/s/0172c7ad4e?PluralAvatarID=11', '_blank');
    ```

    This reloads the Avatar tab with the new character. Add a second Script element to switch back to the original persona.

    <Tip>To skip the Play button when the reloaded Avatar starts, configure Chrome to allow auto-play audio (see "Setup Chrome to play Avatar speech without Play button overlay" above).</Tip>
  </Accordion>

  <Accordion title="Avatar speech recognition does not work — what should I check?">
    Work through the following checks in order:

    **1. Verify that speech recognition is enabled in your Avatar settings**

    Open your Avatar in the Plural editor and confirm the speech recognition toggle is switched on. When enabled and the **Plural Dialogs** switch is also on, the Avatar answers questions from the standard dialog automatically.

    Each button label in Menu and Question elements automatically becomes a voice trigger, so users can speak the button text to select it.

    **2. Check browser microphone permissions**

    Chrome shows two indicators when it is accessing your microphone (a microphone icon in the address bar and in the browser tab). If neither is visible:

    * Open Chrome **Settings → Privacy and security → Site settings → Microphone**.
    * Find your Avatar's URL and change its microphone permission to **Allow**.

    **3. Confirm the correct microphone is selected**

    Follow [Google's Chrome microphone setup guide](https://support.google.com/chrome/answer/2693767?hl=en\&co=GENIE.Platform%3DDesktop) to verify that the right input device is selected and that it is working correctly.
  </Accordion>

  <Accordion title="How do I add a YouTube video with automatic playback to my project?">
    Use the **Show Website** element in Plural to embed a YouTube video that starts playing as soon as it is displayed.

    <Steps>
      <Step title="Get the YouTube embed URL">
        Open the YouTube video, click **Share → Embed**, and copy only the URL from the `src` attribute of the `<iframe>` code (e.g. `https://www.youtube.com/embed/h6I5UOsQNEI`). Ignore any `?controls=0` suffix.
      </Step>

      <Step title="Add a Show Website element">
        In your Plural flow, drag a connection from the previous element and select **Show Website** from the menu.
      </Step>

      <Step title="Paste the URL with autoplay parameters">
        In the sidebar, paste the embed URL and append the autoplay parameters:

        * **Autoplay muted (recommended):**
          ```
          https://www.youtube.com/embed/h6I5UOsQNEI?autoplay=1&mute=1&enablejsapi=1
          ```
        * **Autoplay with sound** (blocked by most browsers):
          ```
          https://www.youtube.com/embed/h6I5UOsQNEI?autoplay=1&mute=0&enablejsapi=1
          ```
      </Step>

      <Step title="Complete the element configuration">
        Adjust the display duration and any other Show Website settings to match your flow.
      </Step>
    </Steps>

    <Note>Most modern browsers — including Chrome, Firefox, and Safari — block autoplay with sound. Use `mute=1` to ensure the video starts reliably.</Note>
  </Accordion>

  <Accordion title="I can't display my website inside a Website element — why?">
    Your website is most likely blocking itself from being embedded in an `<iframe>` for security reasons. This is controlled by two HTTP headers:

    * **`X-Frame-Options`** — can be set to `DENY`, `SAMEORIGIN`, or `ALLOW-FROM`.
    * **Content Security Policy (CSP)** — the `frame-ancestors` directive controls which domains may embed the page.

    **Ask your web admin to make one of the following changes:**

    | Header                | Change required                                                                  |
    | --------------------- | -------------------------------------------------------------------------------- |
    | `X-Frame-Options`     | Set to `ALLOW-FROM https://go.plural.io`                                         |
    | CSP `frame-ancestors` | Add `https://go.plural.io` — e.g. `frame-ancestors 'self' https://go.plural.io;` |

    These changes are made in the web server configuration (Apache, Nginx) or in the application code (PHP, Node.js).

    <Warning>Allowing a website to be embedded in an iframe has security implications. Only allow embedding when necessary and after reviewing the risks with your web admin.</Warning>
  </Accordion>

  <Accordion title="How do I set up the Humanizing printing service?">
    The Humanizing printing service allows your Avatar flow to trigger badge or label printing via an API call. This is a **paid service** — contact your Humanizing representative to obtain the necessary files.

    **Prerequisites**

    <Steps>
      <Step title="Install Python">
        Download the latest Python installer from [python.org/downloads](https://www.python.org/downloads/). Run the installer and make sure to check **Add python.exe to PATH**. Verify the installation by running `python --version` in a terminal.
      </Step>
    </Steps>

    **Install the printing service**

    <Steps>
      <Step title="Unpack the service files">
        Extract the `.zip` file you received from Humanizing to `C:\printing_service`.
      </Step>

      <Step title="Install Python dependencies">
        Open a terminal in that folder and run:

        ```bash theme={null}
        pip install -r requirements.txt
        ```
      </Step>

      <Step title="Create a self-signed certificate">
        In the same terminal, run:

        ```bash theme={null}
        openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -keyout key.pem -days 365
        ```

        Press **Enter** at each prompt to accept the defaults.
      </Step>

      <Step title="Add the service to Windows startup">
        Create a file called `start_service.bat` with the following content and place it in your Windows Startup folder (`shell:startup`):

        ```batch theme={null}
        @echo off
        start "" pythonw "C:\printing_service\printingServer.py"
        exit
        ```
      </Step>

      <Step title="Test the service">
        Restart your PC, then open Chrome and navigate to `https://127.0.0.1/`. Accept the security warning if prompted. You should see a confirmation message that the service is running.
      </Step>
    </Steps>

    **Use the printing service in a Plural flow**

    Add an **API Call** element to your flow and configure it as follows:

    * **Endpoint URL:** `http://127.0.0.1/print`
    * **Method:** `POST`
    * **Body (Raw JSON):**

    ```json theme={null}
    {
      "htmlContent": "<html><body><h1>Hello, World!</h1></body></html>",
      "printerName": "HP Printer 1",
      "width_mm": 50,
      "height_mm": 72
    }
    ```

    Replace `printerName` with the exact name of your printer as it appears in Windows.

    A `200 OK` response means the badge printed successfully. A `500` response indicates an error.
  </Accordion>
</AccordionGroup>
