For the base class API reference, see Processors Class.
Building a Custom Processor
Here’s a minimal video processor that logs frames:- Inherit from
VideoProcessor(orAudioProcessorfor audio) - Implement the
nameproperty andclose()method - Use
VideoForwarder.add_frame_handler()to subscribe to frames
Publishing Transformed Video
To publish transformed video back to the call, useVideoProcessorPublisher with the built-in QueuedVideoTrack and VideoForwarder utilities:
QueuedVideoTrack— Base track class that handles frame queuing. Calladd_frame()to publish.VideoForwarder— Distributes incoming frames to handlers. Useadd_frame_handler()to subscribe.
YOLO Pose Detection
The Ultralytics plugin providesYOLOPoseProcessor for real-time pose detection. It annotates video frames with skeleton overlays that the LLM can analyze for feedback.
HeyGen Avatar Publisher
The HeyGen plugin providesAvatarPublisher to display a lip-syncing AI avatar that speaks the agent’s responses. The avatar automatically syncs lip movements with your agent’s voice output.
Use cases: Virtual presenters, customer service avatars, interactive tutors.
See HeyGen Avatars for setup, parameters, and examples.
