Neste documento, descrevemos como configurar avatares dinâmicos na API Gemini Live. Com os avatares dinâmicos, você pode gerar vídeos em tempo real de um avatar falando sincronizado com respostas de fala sintetizadas do modelo gemini-3.8-live.
Você pode escolher entre vários avatares integrados e combiná-los com vozes pré-criadas compatíveis no Cloud de Confiance console e na API Gemini Live.
Configurar avatares em tempo real no console Cloud de Confiance
Faça o seguinte:
No console do Cloud de Confiance , acesse a página Agent Platform > Studio > Transmitir em tempo real.
Clique em Trocar modelo.
Na lista de modelos, selecione
gemini-3.8-live.No painel principal, selecione Avatar ao vivo.
Na lista Avatar, selecione um avatar.
Na lista Voz, selecione uma opção.
Opcional: adicione instruções do sistema para orientar o comportamento e a saída.
Opcional: ative a entrada de câmera para compartilhar vídeos com a API Gemini Live.
No painel principal, clique em Iniciar sessão.
Configurar avatares interativos usando a API
Faça o seguinte:
Em
generation_config, defina"response_modalities": ["VIDEO"].No objeto
avatar_config, especifique o nome do avatar predefinido.No objeto
speech_config, especifique a voz pré-criada.
Configuração do WebSocket
As conexões WebSocket são estabelecidas com um handshake padrão. O endpoint é regional e usa tokens de portador OAuth 2.0 para autenticação. O
token de autenticação normalmente é transmitido em cabeçalhos do WebSocket, como
Authorization: Bearer [TOKEN].
Confira a seguir um exemplo de configuração do 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())
Configuração do SDK do Python
O exemplo a seguir mostra como configurar avatares dinâmicos usando o SDK de IA Generativa do Google:
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
Usar um avatar personalizado
Em vez de escolher um avatar pré-criado, você pode fornecer uma imagem de referência de um rosto, e a API Gemini Live gera o vídeo do avatar com base nessa semelhança.
Os avatares personalizados são configurados por sessão no campo customized_avatar de
avatar_config.
Requisitos da imagem de referência
A imagem de referência precisa atender às seguintes especificações:
- Formato da imagem: PNG recomendado. O PNG usa compactação sem perda, e a transparência alfa evita uma caixa visível ao redor do avatar nos modos claro e escuro.
- Modo de cor: RGB.
- Tamanho da imagem: mínimo de 704 x 1280 pixels (retrato) e 1280 x 704 pixels (paisagem).
- Resolução: 720p ou superior.
- Proporção: 9:16 (retrato) e 16:9 (paisagem) são as proporções padrão.
- Tamanho do arquivo: menos de 5 MB
- Qualidade: sem borrões ou distorções de compactação.
Para melhores resultados, siga também estas diretrizes de composição:
Enquadramento:use um retrato em que a cabeça e os ombros ocupem mais de 60% do enquadramento. Corte a parte inferior do corpo, os braços, as mãos e qualquer objeto segurado, como microfones ou smartphones.
Plano de fundo:use um cenário simples e sem outros objetos ou pessoas.
Perspectiva:fique de frente para a câmera, com a cabeça na altura certa e os olhos olhando para a lente.
Expressão:mantenha uma expressão neutra e em repouso, sem sorrir, franzir os olhos ou mostrar os dentes.
Segurança:não use imagens de menores, celebridades ou conteúdo ofensivo.
Configurar um avatar personalizado no console Cloud de Confiance
Faça o seguinte:
No console do Cloud de Confiance , acesse a página Agent Platform > Studio > Transmitir em tempo real.
Na lista de modelos, selecione
gemini-3.8-live.No painel principal, clique em Avatar Live.
Selecione "Enviar" nas opções do avatar e faça upload de uma imagem.
Clique em Iniciar sessão e em Iniciar conversa.
Configurar um avatar personalizado usando a API
Configure o avatar personalizado no payload setup inicial que você envia pela
conexão 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": {},
}
}
A amostra anterior usa os seguintes campos:
| Caminho do campo | Tipo | Descrição |
|---|---|---|
generation_config.response_modalities |
list[string] |
Precisa ser definido como ["VIDEO"] para ativar a saída de vídeo do avatar. |
avatar_config.customized_avatar.image_data |
string |
String de imagem codificada em base64. |
avatar_config.customized_avatar.image_mime_type |
string |
Formato MIME da imagem ("png"). |
É possível combinar um avatar personalizado com uma voz pré-criada ou com uma voz personalizada.
Vozes predefinidas disponíveis
Você pode combinar avatares pré-criados com qualquer uma das vozes em HD pré-criadas na API Gemini Live. Para mais informações sobre vozes pré-criadas, consulte Vozes pré-criadas.