> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetstream.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetstream.ai/_mcp/server.

# In-Meeting Chat & Visuals

> Interact inside live meetings with the MeetStream API: send chat messages, display images and GIFs as the bot's video frame, set a join message, and read the full chat log.

MeetStream bots are participants, not just recorders — they can post in the chat, show visuals, and hand you the full chat log afterwards.

## Send a chat message (live)

```bash
curl -X POST "https://api.meetstream.ai/api/v1/bots/<BOT_ID>/send_message" \
  -H "Authorization: Token <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{ "message": "The summary will be in #sales-notes after the call." }'
```

Response: `{ "status": "accepted", "bot_id": "...", "command": "sendmsg" }`. CLI: `meetstream bot send-message <id> <text>`.

## Show an image or GIF (live)

`send_image` displays a **publicly reachable** image as the bot's video frame — animated GIFs included. Great for QR codes, "recording in progress" cards, or a bit of personality:

```bash
curl -X POST "https://api.meetstream.ai/api/v1/bots/<BOT_ID>/send_image" \
  -H "Authorization: Token <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{ "img_url": "https://your-cdn.com/recording-notice.gif", "display_duration": 30 }'
```

`display_duration` (seconds) is optional. The URL must be public — raw base64 is rejected.

## Set the bot's presence at join time

Two `create_bot` fields shape how the bot shows up:

* `bot_message` — a chat message posted automatically when the bot joins ("Hi! I'm recording this call for notes.")
* `bot_image_url` — a public image used as the bot's avatar

## Read the chat afterwards

```bash
curl "https://api.meetstream.ai/api/v1/bots/<BOT_ID>/get_chats" \
  -H "Authorization: Token <YOUR_API_KEY>"
```

The response includes session metadata (total messages, unique speakers, meeting id) plus the per-speaker message log — ready for sentiment analysis, question extraction, or CRM notes.

## Going further

* Real-time two-way interaction (speak audio into the meeting, live commands): [Meeting Control & Command Patterns](/guides/websockets/meeting-control-patterns)
* Full conversational AI participants: [MIA voice agents](/guides/mia/create-mia)