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

# Speak

> Make the bot say text out loud in the meeting, and stop it mid-utterance.

`POST /v2/meeting_sessions/{id}/actions/speak` makes the bot speak text into the meeting. The session's `voice` is the default; override it per request.

```bash theme={null}
curl -X POST https://api.telnyx.com/v2/meeting_sessions/mtgsess_9b2f.../actions/speak \
  -H "Authorization: Bearer $TELNYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Here are the three decisions from this call.",
    "interrupt": false
  }'
```

The full request schema is on [Speak in a meeting session](https://developers.telnyx.com/api-reference/meeting-session-actions/speak-in-a-meeting-session.md).

Speech is queued, so a long utterance is never cut short by the next `speak` call. If `barge_in` was enabled on the session, participants can interrupt the bot with their own speech.

> [!NOTE]
>
> With a [Telnyx AI Assistant](https://developers.telnyx.com/docs/meeting/ai-assistants.md) attached, the bot is a webpage-output bot: `speak` is accepted, but the audio routes through the assistant's output page instead of the bot mic and plays only once the assistant is `connected`. If that page is unreachable the call fails with a `502` (see [Errors](https://developers.telnyx.com/docs/meeting/control.md#errors)). The assistant is designed to own the conversation, so prefer letting it speak; to have the bot say a fixed line the moment it joins, see [Announce the Bot on Arrival](https://developers.telnyx.com/docs/meeting/join-meeting/introductions.md).
>
> With a [digital avatar](https://developers.telnyx.com/docs/meeting/digital-avatars.md) (`assistant.avatar: true`), the avatar renders only the assistant's own speech: `speak` and `stop_speaking` return `409 invalid_state`.

## Stop Speaking

`POST /v2/meeting_sessions/{id}/actions/stop_speaking` stops the current utterance and flushes the queue.

```bash theme={null}
curl -X POST https://api.telnyx.com/v2/meeting_sessions/mtgsess_9b2f.../actions/stop_speaking \
  -H "Authorization: Bearer $TELNYX_API_KEY"
```

## Related

* [Controlling the Bot](https://developers.telnyx.com/docs/meeting/control.md) -- the WebSocket alternative and the action error envelope
* [Chat](https://developers.telnyx.com/docs/meeting/control/chat.md) -- post to the meeting chat instead of speaking
* [Announce the Bot on Arrival](https://developers.telnyx.com/docs/meeting/join-meeting/introductions.md) -- `speak_on_enter`
* [Digital avatars](https://developers.telnyx.com/docs/meeting/digital-avatars.md) -- an assistant's avatar, which speaks only the assistant's words
