Skip to content

feat: Add D-ID avatar plugin#5232

Open
osimhi213 wants to merge 7 commits intolivekit:mainfrom
de-id:main
Open

feat: Add D-ID avatar plugin#5232
osimhi213 wants to merge 7 commits intolivekit:mainfrom
de-id:main

Conversation

@osimhi213
Copy link
Copy Markdown

@osimhi213 osimhi213 commented Mar 26, 2026

  • Adds livekit-plugins-did — a D-ID virtual avatar plugin for LiveKit Agents.
  • Plugin follows the same structure and conventions as the Tavus and Anam avatar plugins
  • Includes example agent at examples/avatar_agents/did/
  • Configurable audio sample rate via AudioConfig dataclass
  • example video

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Mar 26, 2026

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional findings.

Open in Devin Review

@tinalenguyen
Copy link
Copy Markdown
Member

hi, thank you for the PR! could you sign the CLA and add the plugin to livekit-agents/pyproject.toml and pyproject.toml

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 new potential issues.

View 13 additional findings in Devin Review.

Open in Devin Review

* D-ID avatar plugin (#1)

* D-ID avatar plugin

* ruff

* formatting

* updating uv.lock

* Add D-ID to pyproject.toml as vendor
@osimhi213 osimhi213 reopened this Mar 29, 2026
devin-ai-integration[bot]

This comment was marked as resolved.

osimhi213 and others added 2 commits March 29, 2026 10:12
* upstream/main:
  feat(soniox): expose max_endpoint_delay_ms option (livekit#5214)
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

* upstream/main:
  fix: only start session host when it's primary session (livekit#5241)
  fix: prevent TTS retry after partial audio and replay input on retry (livekit#5242)
* upstream/main:
  fix: prevent CancelledError from propagating to unrelated Tee peers (livekit#5273)
Copy link
Copy Markdown
Member

@tinalenguyen tinalenguyen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i left a few comments, also some feedback i have is that it's a bit tricky to find public avatar IDs to use with the plugin. i would recommend making it easier to find on the dashboard and also having a DEFAULT_AGENT_ID here as well so users can try it right away

self._agent_id = agent_id
self._audio_config = audio_config or AudioConfig()
self.session_id: str | None = None

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should throw an informative error if the agent_id isn't given here

"transport": transport,
"audio_config": audio_config,
}
response_data = await self._post(f"v2/agents/{agent_id}/sessions/join", payload)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are only v2 avatars supported for the plugin? it might be worth making a note in the readme

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants