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

# Voice widget (embed)

> What iawidget.js with mode=voice calls on cloud.lovi.ai. The host page does not call these itself.

Install guide: [Voice widget](/en/user-guide/Setting/ug_voicewidget_en).

You **do not call these from your site**. `https://widget.lovi.ai/iawidget.js` with `mode="voice"` loads an iframe that does.

`customer` on the `<script>` is the company **access key**. The loader sends it as `access_key`. Do not put it in repos or screenshots.

## Appearance config (first GET)

```
GET https://cloud.lovi.ai/functions/v1/voice-widget?id_widget={WIDGET_ID}&language={LANG}&access_key={ACCESS_KEY}
```

| Parameter | Who sets it | Description |
| - | - | - |
| `id_widget` | `widget` attribute | Widget UUID. |
| `language` | `language-lovi` or browser | `es`, `en`, … |
| `access_key` | `customer` attribute | Company key. Added by the script, not by you in a second HTML attribute. |

Response is **`Voice-config`** (colours, position, animation). It is **not** the live audio session.

CORS on this function allows `*` for GET/POST/OPTIONS.

## Audio session (iframe)

```
GET https://cloud.lovi.ai/functions/v1/voice-widget/signed-url
```

Signed ElevenLabs ConvAI URL + SDK (WebSocket and/or WebRTC). There is no public `start` / `stop` on `window`.

## Other iframe-only routes

Not a public embed API. Used by Lovi’s iframe:

* `POST /functions/v1/voice-widget/search`
* Feedback endpoints used after hang-up
* `POST /functions/v1/voice-widget/handoff` and `POST /functions/v1/voice-widget/handoff/end`
* `GET /functions/v1/voice-widget/chat-by-conversation`

Handoff can use LiveKit (`wss://livekit.rtc.elevenlabs.io`, `https://cloud-api.livekit.io`).

## Not this

* `GET /functions/v1/widget` — **text chat** config. See [Web widget](/en/user-guide/Setting/ug_webwidget_en).
* `GET /functions/v1/widgetWebView` — chat iframe helper. See [Widget WebView](./widget_webview).
* `POST /functions/v1/notify/voice` — outbound **phone** campaign. See [Voice notifications](./voice_notifications).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.