varapiKey=Environment.GetEnvironmentVariable("SIMLI_API_KEY")is{Length:>0}key?key:thrownewAssertInconclusiveException("SIMLI_API_KEY environment variable is not found.");varfaceId=Environment.GetEnvironmentVariable("SIMLI_FACE_ID")is{Length:>0}id?id:"default";// Use default face if not specifiedvarclient=newSimliClient(apiKey);// Create and connect via the unified interfaceawaitusingvaravatar=awaitSimliRealtimeAvatarClient.ConnectAsync(client,faceId);// Verify the adapter implements IRealtimeAvatarClienttryAGI.RealtimeAvatar.IRealtimeAvatarClientrealtimeClient=avatar;// SendTextAsync should throw NotSupportedException (Simli is audio-only)Func<Task>sendText=()=>avatar.SendTextAsync("test");// ConnectAsync only returns after authenticated ICE/DTLS media establishment.// Bootstrap Simli output with a short PCM16 silence chunk.varsilentAudio=newbyte[6000];awaitavatar.SendAudioAsync(silentAudio);// Require actual authenticated media from the real provider.usingvarmediaTimeout=newCancellationTokenSource(TimeSpan.FromSeconds(15));varaudioFrame=awaitavatar.ReceiveAudioFramesAsync(mediaTimeout.Token).FirstAsync(mediaTimeout.Token);varvideoFrame=awaitavatar.ReceiveVideoFramesAsync(mediaTimeout.Token).FirstAsync(mediaTimeout.Token);