Mengonfigurasi avatar live

Dokumen ini menjelaskan cara mengonfigurasi avatar live di Gemini Live API. Avatar live memungkinkan Anda membuat video real-time avatar yang berbicara dan disinkronkan dengan respons ucapan yang disintesis dari model gemini-3.8-live. Anda dapat memilih dari berbagai avatar bawaan dan memasangkannya dengan suara bawaan yang didukung di Cloud de Confiance konsol dan Gemini Live API.

Mengonfigurasi avatar live di konsol Cloud de Confiance

Lakukan tindakan berikut:

  1. Di konsol Cloud de Confiance , buka halaman Agent Platform > Studio > Stream realtime.

    Buka Stream real-time

  2. Klik Ganti model.

  3. Dari daftar model, pilih gemini-3.8-live.

  4. Di panel utama, pilih Avatar Live.

  5. Dari daftar Avatar, pilih avatar.

  6. Dari daftar Voice, pilih suara.

  7. Opsional: Tambahkan petunjuk sistem untuk memandu perilaku dan output.

  8. Opsional: Aktifkan input kamera untuk membagikan video dengan Gemini Live API.

  9. Di panel utama, klik Mulai Sesi.

Mengonfigurasi avatar live menggunakan API

Lakukan tindakan berikut:

  1. Di generation_config, tetapkan "response_modalities": ["VIDEO"].

  2. Di objek avatar_config, tentukan nama avatar bawaan.

  3. Dalam objek speech_config, tentukan suara bawaan.

Konfigurasi WebSocket

Koneksi WebSocket dibuat dengan handshake WebSocket standar. Endpoint bersifat regional dan menggunakan token pembawa OAuth 2.0 untuk autentikasi. Token autentikasi biasanya diteruskan di header WebSocket, seperti Authorization: Bearer [TOKEN].

Berikut adalah contoh konfigurasi WebSocket:

import asyncio
import json
import websockets

# Replace PROJECT_ID and LOCATION with your Project ID and location.
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION"

# Authentication
token_list = !gcloud auth application-default print-access-token
ACCESS_TOKEN = token_list[0]

# Configuration
MODEL_ID = "gemini-3.8-live"
MODEL = f"projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"

config = {
    "response_modalities": ["VIDEO"],
    "speech_config": {
        "voice_config": {
            "prebuilt_voice_config": {
                "voice_name": "Puck",
            }
        }
    },
}

avatar_config = {
    "avatar_name": "Ben",
}

# Construct the WSS URL
HOST = f"{LOCATION}-aiplatform.googleapis.com"
URI = f"wss://{HOST}/ws/google.cloud.aiplatform.v1.LlmBidiService/BidiGenerateContent"

async def main():
    headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}

    async with websockets.connect(URI, additional_headers=headers) as ws:
        print("Session established.")

        # Send Setup (Handshake)
        await ws.send(json.dumps({
            "setup": {
                "model": MODEL,
                "generation_config": config,
                "avatar_config": avatar_config,
            }
        }))
        # Send and receive audio/video streams...

if __name__ == "__main__":
    asyncio.run(main())

Konfigurasi Python SDK

Contoh berikut menunjukkan cara mengonfigurasi avatar live menggunakan Google Gen AI SDK:

from google import genai
from google.genai import types

client = genai.Client()

config = types.LiveConnectConfig(
    response_modalities=["VIDEO"],
    speech_config=types.SpeechConfig(
        voice_config=types.VoiceConfig(
            prebuilt_voice_config=types.PrebuiltVoiceConfig(
                voice_name="Puck",
            )
        )
    ),
    avatar_config=types.AvatarConfig(
        avatar_name="Ben",
    ),
    system_instruction=types.Content(
        parts=[types.Part.from_text(text="You are a helpful customer service assistant.")]
    ),
)

async with client.aio.live.connect(model="gemini-3.8-live", config=config) as session:
    # Interact with the live session...
    pass

Menggunakan avatar kustom

Daripada memilih avatar bawaan, Anda dapat memberikan gambar referensi wajah, dan Gemini Live API akan membuat video avatar dari kemiripan tersebut. Avatar kustom dikonfigurasi per sesi di kolom customized_avatar dari avatar_config.

Persyaratan gambar referensi

Gambar referensi harus memenuhi spesifikasi berikut:

  • Format gambar: Direkomendasikan PNG. PNG menggunakan kompresi lossless, dan transparansi alfa mencegah kotak yang terlihat di sekitar avatar dalam mode terang dan gelap.
  • Mode warna: RGB.
  • Ukuran gambar: Minimum 704 x 1.280 piksel (potret), minimum 1.280 x 704 piksel (lanskap).
  • Resolusi: 720p atau lebih tinggi.
  • Rasio aspek: 9:16 (potret) dan 16:9 (lanskap) adalah standar.
  • Ukuran file: Kurang dari 5 MB
  • Kualitas: Tidak buram atau memiliki artefak kompresi.

Untuk mendapatkan hasil terbaik, ikuti juga panduan komposisi berikut:

  • Framing: Gunakan foto setengah badan, dengan kepala dan bahu menempati lebih dari 60% bingkai. Pangkas bagian tubuh bawah, lengan, tangan, dan objek yang dipegang seperti mikrofon atau ponsel.

  • Latar belakang: Gunakan latar belakang yang sederhana dan tidak berantakan tanpa orang lain atau objek yang berbeda.

  • Perspektif: Menghadap langsung ke kamera, dengan kepala sejajar dan mata melihat ke lensa.

  • Ekspresi: Pertahankan ekspresi netral dan rileks, tanpa tersenyum, menyipitkan mata, atau memperlihatkan gigi.

  • Keamanan: Jangan gunakan gambar anak di bawah umur, selebritas, atau konten yang menyinggung.

Mengonfigurasi avatar kustom di Cloud de Confiance console

Lakukan tindakan berikut:

  1. Di konsol Cloud de Confiance , buka halaman Agent Platform > Studio > Stream realtime.

    Streaming real-time

  2. Dari daftar model, pilih gemini-3.8-live.

  3. Di panel utama, klik Avatar Live.

  4. Pilih Upload di bagian opsi Avatar, lalu upload gambar avatar.

  5. Klik Mulai Sesi, lalu klik Mulai percakapan.

Mengonfigurasi avatar kustom menggunakan API

Konfigurasi avatar kustom di payload setup awal yang Anda kirim melalui koneksi WebSocket:

import base64
import json
import websockets

# Load custom avatar image (PNG format, 704x1280 min)
with open("/path/to/your/sample_avatar.png", "rb") as f:
    avatar_b64 = base64.b64encode(f.read()).decode("utf-8")

GENERATION_CONFIG = {
    "response_modalities": ["VIDEO"],
}

# Setup avatar config with custom face image
AVATAR_CONFIG = {
    "customized_avatar": {
        "image_data": avatar_b64,
        "image_mime_type": "png",
    }
}

# Session setup message
SETUP_MESSAGE = {
    "setup": {
        "model": "gemini-3.8-live",
        "generation_config": GENERATION_CONFIG,
        "avatar_config": AVATAR_CONFIG,
        "system_instruction": {
            "parts": [{"text": "Your system instruction here"}]
        },
        "input_audio_transcription": {},
        "output_audio_transcription": {},
    }
}

Contoh sebelumnya menggunakan kolom berikut:

Jalur kolom Jenis Deskripsi
generation_config.response_modalities list[string] Harus disetel ke ["VIDEO"] untuk mengaktifkan output video avatar.
avatar_config.customized_avatar.image_data string String gambar berenkode base64.
avatar_config.customized_avatar.image_mime_type string Format MIME gambar ("png").

Anda dapat menyandingkan avatar kustom dengan suara bawaan atau dengan suara kustom.

Suara bawaan yang tersedia

Anda dapat menyandingkan avatar bawaan dengan salah satu suara HD bawaan di Gemini Live API. Untuk mengetahui informasi selengkapnya tentang suara bawaan, lihat Suara bawaan.

Langkah berikutnya