Skip to content

Conversation

@darshankparmar
Copy link
Contributor

Add a DeepL translation plugin to enable real-time, bidirectional multilingual support for LiveKit agents. The plugin integrates seamlessly into the agent pipeline, acting as a translation layer between STT/LLM and LLM/TTS components.

Supported Languages

DeepL API documentation

Dependencies

  • deepl>=1.27.0 : Python library for the DeepL API.

@darshankparmar
Copy link
Contributor Author

Hi @davidzhao 👋
This PR is ready for review.
Please let me know if you’d like any changes or additional tests.
Thanks!

# to avoid blocking the event loop.
try:
result = await asyncio.to_thread(
self._translator.translate_text,
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think it's worth to be a plugin if it's just a wrap to the deepl's SDK. users can call their SDK directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the feedback.

The main value of the plugin isn’t just wrapping the DeepL SDK, but adapting it to the LiveKit agent runtime:

  • DeepL’s SDK is synchronous, while agents require async, non-blocking execution
  • The plugin integrates translation directly into the agent lifecycle (e.g. user turns, LLM flow) without users wiring it themselves

That said, I’m open to reducing scope or repositioning it (e.g. example / optional integration) if that fits better with the project direction.

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.

2 participants