במאמר הזה מוסבר איך להגדיר אווטרים במצב לייב ב-Gemini Live API. אווטארים בזמן אמת מאפשרים ליצור סרטון בזמן אמת של אווטאר מדבר, שמסונכרן עם תשובות של דיבור מסונתז ממודל gemini-3.8-live.
אתם יכולים לבחור מתוך מגוון אווטארים מובנים ולשייך להם קולות מוכנים מראש שנתמכים גם במסוף Cloud de Confiance וגם ב-Gemini Live API.
הגדרת אווטארים בשידור חי במסוף Cloud de Confiance
מבצעים את הפעולות הבאות:
במסוף Cloud de Confiance , נכנסים לדף Agent Platform > Studio > Stream realtime.
לוחצים על החלפת מודל.
ברשימת המודלים, בוחרים באפשרות
gemini-3.8-live.בחלונית הראשית, לוחצים על אווטאר בזמן אמת.
ברשימה אווטאר, בוחרים אווטאר.
ברשימה Voice, בוחרים קול.
אופציונלי: מוסיפים הוראות למערכת כדי להנחות את ההתנהגות והפלט.
אופציונלי: מפעילים את קלט המצלמה כדי לשתף וידאו עם Gemini Live API.
בחלונית הראשית, לוחצים על התחלת הסשן.
הגדרת אווטארים בשידור חי באמצעות ה-API
מבצעים את הפעולות הבאות:
ב
generation_configמגדירים את"response_modalities": ["VIDEO"].באובייקט
avatar_config, מציינים את השם של האווטאר המובנה.באובייקט
speech_config, מציינים את הקול המובנה.
הגדרת WebSocket
חיבורי WebSocket נוצרים באמצעות לחיצת יד רגילה של WebSocket. נקודת הקצה היא אזורית ומשתמשת בטוקנים מסוג Bearer של OAuth 2.0 לאימות. בדרך כלל, טוקן האימות מועבר בכותרות של WebSocket, כמו Authorization: Bearer [TOKEN].
הדוגמה הבאה מציגה הגדרת 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())
הגדרה של Python SDK
בדוגמה הבאה אפשר לראות איך מגדירים אווטרים בזמן אמת באמצעות 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
שימוש באווטאר בהתאמה אישית
במקום לבחור אווטאר מוכן מראש, אתם יכולים לספק תמונת הפניה של פנים, ו-Gemini Live API ייצור את סרטון האווטאר על סמך הדמיון לתמונה.
הגדרת סמלים מותאמים אישית מתבצעת לכל סשן בשדה customized_avatar של avatar_config.
דרישות לגבי תמונות רפרנס
תמונת ההפניה צריכה לעמוד במפרט הבא:
- פורמט התמונה: מומלץ PNG. PNG משתמש בדחיסה ללא אובדן נתונים, ושקיפות אלפא מונעת הצגה של תיבה גלויה מסביב לאווטאר במצבים בהירים וכהים.
- מצב צבע: RGB.
- גודל התמונה: מינימום 704 x 1280 פיקסלים (לאורך), מינימום 1280 x 704 פיקסלים (לרוחב).
- רזולוציה: 720p ומעלה.
- יחס גובה-רוחב: 9:16 (לאורך) ו-16:9 (לרוחב) הם יחסי הגובה-רוחב הסטנדרטיים.
- גודל הקובץ: פחות מ-5MB
- איכות: ללא טשטוש או תוצרי דחיסה.
כדי לקבל את התוצאות הטובות ביותר, כדאי לפעול גם לפי ההנחיות הבאות לגבי קומפוזיציה:
קומפוזיציה: השתמשו בצילום של פלג הגוף העליון, שבו הראש והכתפיים תופסים יותר מ-60% מהפריים. חיתוך של החלק התחתון של הגוף, הידיים, הזרועות וכל חפץ שמוחזק ביד, כמו מיקרופון או טלפון.
רקע: השתמשו ברקע פשוט ונקי, ללא אנשים אחרים או אובייקטים בולטים.
פרספקטיבה: מסתכלים ישירות אל המצלמה, כשהראש ישר והעיניים מופנות אל העדשה.
הבעה: ההבעה צריכה להיות ניטרלית ובמצב מנוחה, בלי חיוך, מצמוץ או שיניים גלויות.
בטיחות: אל תשתמשו בתמונות של קטינים, סלבריטאים או תוכן פוגעני.
הגדרת אווטאר בהתאמה אישית ב Cloud de Confiance מסוף
מבצעים את הפעולות הבאות:
במסוף Cloud de Confiance , נכנסים לדף Agent Platform > Studio > Stream realtime.
ברשימת המודלים, בוחרים באפשרות
gemini-3.8-live.בחלונית הראשית, לוחצים על אווטאר בזמן אמת.
בוחרים באפשרות 'העלאה' בקטע 'אפשרויות האווטאר' ומעלים תמונה של אווטאר.
לוחצים על התחלת סשן ואז על התחלת שיחה.
הגדרת אווטאר בהתאמה אישית באמצעות ה-API
מגדירים את האווטאר המותאם אישית במטען הייעודי (payload) הראשוני של setup ששולחים דרך חיבור ה-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": {},
}
}
בדוגמה שלמעלה נעשה שימוש בשדות הבאים:
| נתיב השדה | סוג | תיאור |
|---|---|---|
generation_config.response_modalities |
list[string] |
צריך להגדיר את הערך ["VIDEO"] כדי להפעיל את פלט הווידאו של האווטאר. |
avatar_config.customized_avatar.image_data |
string |
מחרוזת של תמונה בקידוד Base64. |
avatar_config.customized_avatar.image_mime_type |
string |
פורמט MIME של התמונה ("png"). |
אתם יכולים לשלב אווטאר בהתאמה אישית עם קול מוכן מראש או עם קול בהתאמה אישית.
קולות מוכנים מראש שזמינים לשימוש
אתם יכולים להתאים אווטארים מוכנים מראש לכל אחד מהקולות המוכנים מראש באיכות HD ב-Gemini Live API. מידע נוסף על קולות מוכנים מראש זמין במאמר בנושא קולות מוכנים מראש.