Skip to content

Conversation

niqodea
Copy link

@niqodea niqodea commented Sep 11, 2025

Add BeyVideoService class to generate avatars with Beyond Presence.

Setting this as draft as it is not fully ready yet but would like to receive some feedback by the maintainers. Thanks!

Comment on lines 50 to 52
# TODO: Is it possible to elegantly infer this from the pipeline's transport?
# NOTE: Unlike other providers, bey posts video directly to the room,
# likely resulting in lower latency
Copy link
Author

Choose a reason for hiding this comment

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

Is this ok? Or should we adhere to the pattern of streaming the video back to the bot, then have the bot post to the room?

Copy link
Author

Choose a reason for hiding this comment

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

If it's ok, what's a more elegant way to retrieve room_url that doesn't require the developer to specify it twice in the pipeline (once for transport, once for this component)?

Copy link

Choose a reason for hiding this comment

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

Decided to inject the transport client for now in e8d8543

Comment on lines 96 to 108
# TODO: Fix this hacky way of obtaining the DailyTransportClient
self._client = DailyTransport(
self._room_url,
token,
"Bey example Bot",
DailyParams(
audio_in_enabled=True,
video_out_enabled=False,
video_out_is_live=False,
microphone_out_enabled=False,
vad_analyzer=SileroVADAnalyzer(),
),
)._client
Copy link
Author

Choose a reason for hiding this comment

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

I guess this hacky retrieval of the client is also tied to the fact that we want to post directly to the room. Any suggestion here?

Choose a reason for hiding this comment

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

What about SmallWebRTCTransport users?

Copy link

Choose a reason for hiding this comment

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

Not sure, I see that other providers like tavus define their own TavusTransportClient, but it seems to be a simple wrapper around a DailyTransportClient anyway. Is it fine to only support this type of client for now?

Copy link

Choose a reason for hiding this comment

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

Hey @matrunchyk, our code leverages the register_audio_destination from DailyTransportClient to send audio from one agent to the other without having it play in the room. Is that also supported in the SmallWebRTCTransport? Doesn't seem like it by taking a quick look at the code.

Co-authored-by: Lucas Jacobson <[email protected]>
Co-authored-by: Nicola De Angeli <[email protected]>
@niqodea niqodea force-pushed the feat/add-bey-video-service branch from 88f7cc5 to 6910d09 Compare September 11, 2025 17:43
@nicodea
Copy link

nicodea commented Sep 17, 2025

@matrunchyk refactored stuff a bit and added an example

@niqodea niqodea marked this pull request as ready for review September 24, 2025 09:38
@niqodea
Copy link
Author

niqodea commented Sep 24, 2025

@matrunchyk marked as ready for review, let me know if there's anything to fix! We would like to merge this soon to properly document it in our docs too. Thank you!

@matrunchyk
Copy link

matrunchyk commented Sep 24, 2025

@nicodea Sorry I just saw this... There might be some confusion, I am not a member of Pipecat team or Daily team.. I'm just a humble developer 😀

@markbackman This is the person you need I believe 😁

P.S. I was emailing you using contact form a couple of weeks ago, nobody has responded yet, I wonder if the form is working?

@niqodea
Copy link
Author

niqodea commented Sep 24, 2025

Ah I see, sorry for the confusion, and thank you for pinging Mark for me 🙏

@nicodea
Copy link

nicodea commented Sep 30, 2025

Hey @aconchillo, do you have any suggested next step for this? Would be great to get this merged soon :)

@markbackman
Copy link
Contributor

Hello! Sorry for the delayed response. We've just rolled out Community Integrations and we'd like to invite you to submit your integration for listing.

While your integration won't be part of Pipecat's core code, it will be discoverable in the Pipecat docs and fully usable with Pipecat.

Please review the guidelines here and let me know if you have any questions:
https://github.com/pipecat-ai/pipecat/blob/main/COMMUNITY_INTEGRATIONS.md

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.

4 participants