# Elai

Elai AI avatar videos: list avatars, check videos, and render avatar videos.

- Repository: https://github.com/Anil-matcha/awesome-muse-connectors (1403 stars)
- Category: Media
- License: MIT
- Last updated: 2026-10-13
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add Anil-matcha/awesome-muse-connectors --skill elai -g -a claude-code -y`
Codex: `npx skills add Anil-matcha/awesome-muse-connectors --skill elai -g -a codex -y`
Cursor: `npx skills add Anil-matcha/awesome-muse-connectors --skill elai -g -a cursor -y`
Gemini CLI: `npx skills add Anil-matcha/awesome-muse-connectors --skill elai -g -a gemini-cli -y`

## Description

Elai AI avatar videos: list avatars, check videos, and render avatar videos. Trigger phrases: elai, avatar video, AI presenter, talking head video.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Elai

## Purpose
Build AI avatar presenter videos with Elai: list available avatars, inspect videos and their render status, submit renders, and poll until a render finishes. Reach for this when the user wants a talking-head video generated from a script or slide deck.

## Tooling
All commands go through `bin/elai.py`.

```bash
bin/elai.py auth
# {"ok": true, "avatars": 40} on success

bin/elai.py avatars
# list available avatars (code, name, gender)

bin/elai.py videos
# list your videos (id, name, status)

bin/elai.py video-get --id <VIDEO_ID>
# one video: name, status; rendered video URL when ready

bin/elai.py render --id <VIDEO_ID>
# submit a render for a drafted video; consumes render credits (confirmation-gated)

bin/elai.py render-status --id <VIDEO_ID>
# poll render status; prints status and the video URL when the render completes
```

Notes:
- Rendering is asynchronous: `render` submits the job, then poll `render-status` until `status` leaves `rendering`. Download the resulting video promptly; do not treat the URL as a permanent artifact.
- Custom-avatar footage submission (the PATCH-based workflow) and WebRTC real-time streaming are outside CLI scope.

## Auth
- Provider id: `elai` (credential is collected as `custom.elai`)
- Collection: Elai API token via the secure credential flow (`credentials.request_api_access`); only the account primary (admin) user can generate one, under Settings, then API Keys
- Allowed hosts: `apis.elai.io`
- Connect placement: `bearer_header` (the token goes in `Authorization: Bearer <token>`)
- Status check: `bin/elai.py auth`

The rest: https://github.com/Anil-matcha/awesome-muse-connectors/blob/HEAD/connectors/elai/SKILL.md
