The Daily transport implementation enables real-time audio and video communication in your Pipecat Android applications using Daily’s WebRTC infrastructure.

Installation

Add the Daily transport dependency to your build.gradle:

implementation "ai.pipecat:daily-transport:0.3.0"

Usage

Create a client using the Daily transport:

val callbacks = object : RTVIEventCallbacks() {
    override fun onBackendError(message: String) {
        Log.e(TAG, "Error from backend: $message")
    }
}

val options = RTVIClientOptions(
    services = listOf(ServiceRegistration("llm", "together"), ServiceRegistration("tts", "cartesia")),
    params = RTVIClientParams(baseUrl = "<your API url>", config = clientConfig)
)

val client = RTVIClient(DailyTransport.Factory(context), callbacks, options)
client.connect().await()

Configuration

Your server endpoint should return Daily-specific configuration:

{
  "url": "https://your-domain.daily.co/room-name",
  "token": "your-daily-token"
}

API Reference

Daily Transport Reference

Complete API documentation for the Daily transport implementation