Integrations
This page provides a high-level overview of the external technologies and services integrated into the Zima project.
D-ID - Digital Human Platform
Integration: Core of the "deepfake" functionality.
Usage: We use the Streaming API to generate and stream video of an AI avatar in real-time based on text input. This requires a complex WebRTC handshake and session management, which is handled by our backend and the
DidApiservice.Website: https://www.d-id.com/
WebRTC (Web Real-Time Communication)
Integration: The protocol used to stream video and audio from D-ID's servers to the Flutter app.
Usage: The
flutter_webrtcpackage provides the client-side implementation. TheAgentControllermanages theRTCPeerConnection, ICE candidates, and session descriptions to establish a stable streaming connection.
Socket.IO - Real-time Engine
Integration: Used for real-time, bidirectional communication between the app and our backend for voice transcription.
Usage: The
socket_io_clientpackage is used in theTranscriptService. It allows us to stream audio data efficiently to the server without the overhead of repeated HTTP requests.
Provider - State Management
Integration: A first-party Flutter package for state management.
Usage: It is the primary tool for managing both UI and business logic state throughout the application, from tracking onboarding completion to handling the complex state of a live agent chat.
Last updated