Skip to main content

Installing

Add avatar_kit to your package’s pubspec.yaml and run flutter pub get
dependencies:
  avatar_kit: ^1.0.0-beta.13
Platform Setup
Ensure your iOS deployment target is 16.0+ and run cd ios && pod install

Usage

Obtain app ID and temporary session token from Open Platform
1

Initialize SDK

import 'package:avatar_kit/avatar_kit.dart';

AvatarSDK.initialize(
  appID: 'your_app_id',
  configuration: Configuration(
    environment: Environment.intl,
    audioFormat: AudioFormat(sampleRate: 16000),
    drivingServiceMode: DrivingServiceMode.sdk,
    logLevel: LogLevel.off,
  ),
);
2

Provide Session Token

AvatarSDK.setSessionToken('your_session_token');
3

Load Avatar

try {
  final avatar = await AvatarManager.shared.load(id: 'your_avatar_id', onProgress: (progress) {});
} on AvatarError catch (e) {
  // handle AvatarError
} catch (e) {
  // handle error
}
4

Create Avatar Widget

AvatarWidget(
  avatar: avatar,
  onPlatformViewCreated: (controller) {
    // avatarController = controller;
  },
)
5

Register Callbacks

avatarController.onFirstRendering = () {};
avatarController.onConnectionState = (state, errorMessage) {};
avatarController.onConversationState = (state) {};
avatarController.onError = (error) {};
6

Drive Avatar

// Start avatar service connection
avatarController.start();

// Trigger new conversation by sending audio data stream
avatarController.send(audioData1, end: false);
avatarController.send(audioData2, end: true);

// Interrupt current conversation
avatarController.interrupt();

// Close avatar service connection
avatarController.close();

Next Steps