Configuration#
The UMIM Action Server for Tokkio is pre-configured to work with Tokkio microservices out of the box. If you’re starting with one of the Tokkio reference workflows, no additional configuration is needed. We strongly recommend to only attempt to do configuration changes of the microservice if you have a running Tokkio/ACE setup (for example based on the mentioned Tokkio reference workflows) and you want to fine-tune certain aspects.
Adding support for additional animations? The most likely situation in which you need to change the default configuration is when you have configured a 3D avatar scene in the Omniverse Renderer MS and Animation Graph MS with different or additional animations. The default configuration supports all gestures, postures, and facial expressions in the default animation graph, used by avatars in the Tokkio reference workflows. You can configure the additional animations following the steps in section Update Available Animations.
Building a custom UCS app and need to integrate the action server? If you want to create a UCS app based on ACE components from scratch we explain how you can add the UMIM Action Server for Tokkio to the app specification in the section Integration into Custom UCS Apps below.
Creating your own service to interact with UMIM? For building a UMIM-compatible microservice or web service, refer to the UMIM API documentation. Any component supporting the UMIM API can be controlled from the ACE Agent Chat Engine.
Looking for even more configuration options? If you are looking for even more configuration options, section Microservice Parameters lists all the microservice parameters exposed as UCS parameters and section Full Default Service Configuration outlines the complete default configuration of the microservice.
Update Available Animations#
If you update the default animation graph with additional animations you can follow the steps in this section to make these animations available from UMIM. The UMIM Action Server for Tokkio currently supports four different types of animations related to the corresponding UMIM Actions: gestures, postures, facial gestures, and positions. For each of these types you can specify the list of available animations using the following format.
- animation_id: Goodbye
description: "Waving goodbye: Waves with left hand extended high."
duration: 2
meaning: Taking leave of someone from a further distance, or getting someone's attention.
Note
It is important that you provide accurate descriptions and the meaning of each animation clip because this information is used to map UMIM Action parameters to the respective animation clips. For example if you are starting a StartGestureBotAction(gesture="wave with your hand")
action the UMIM Action Server for Tokkio will map this (using sentence embeddings) to the animation_id Goodbye
. In addition you need to provide the duration in seconds for each animation clip. Use a duration of -1
if you configured the animation clip in the scene to be a looping animation.
You can change the configured animations in the app-xy-params.yaml
UCS parameters file of your UCS app specification. Make sure to list all animations that are available for a particular type of action including the ones you did not change or add. See the full default configuration for a list of all animation clips that are shipped with the default animation graph.
[...]
tokkio-umim-action-server:
configs:
service_config.yaml:
services:
gesture:
available_gestures:
- animation_id: Alternative_Goodbye
description: "Waving goodbye: Waves with right hand extended low."
duration: 4
meaning: Taking leave of someone from a further distance, or getting someone's attention.
[...] # List all available gestures here
posture:
available_postures:
- animation_id: Talking
description: "Small gestures with hand and upper body: Avatar is talking"
duration: -1
meaning: Emphasizing that Avatar is talking
[...] # List all available postures here
facial_gesture:
available_facial_gestures:
- animation_id: Angry
description: "Angry: Furrowed brow, short glare at the user with an angry frown."
duration: 1.7
meaning: Expression of anger, being displeased, insulted or bitter.
[...] # List all available facial gestures here
position:
available_positions:
- animation_id: left
description: "Bot positions itself to the left of the scene"
duration: -1
meaning: move to the left
[...] # List all available positions here
Integration into Custom UCS Apps#
Tokkio reference workflows are already setup with the UMIM Action Server for Tokkio as well as the correct configurations for ACE Agent Chat Controller and ACE Agent Chat Engine. So the best way to get started is to use these reference workflows and sample UCS apps.
If you want to create a UCS app based on ACE components from scratch, here are the important settings for ACE Agent Chat Controller and ACE Agent that you need to change in the app-xy-params.yaml
UCS parameters file of your UCS app specification, choose the rest of the parameters according to the documentation of those components.
chat-controller:
pipeline: avatar_umim # Set to "avatar_umim" for chat controller to support UMIM events related to user and bot utterances
pipelineParams:
speech_pipeline_manager:
SpeechPipelineManager:
initial_state: "INIT" # set to "INIT" state when used together with the UMIM action server
always_on: true # Set to true to make sure chat controller is processing all events
[...] # Other parameters as normal
chat-engine:
interface: "event" # Set to "event" such that the Chat Engine is sending out UMIM events to control avatar actions (speech, gestures, postures, ...)
[...] # Other parameters as normal
After setting these parameters to enable UMIM mode for the ACE Agent components, you can then simply add the microservice to the dependencies
and components
sections in the app-xy.yaml
UCS app specification as you would do with any UCS based microservice. See the UCS documentation if you are unclear on how to add a microservice to you app specification.
[...]
dependencies:
- ucf.svc.tokkio.umim-action-server:1.0.3 # Choose the latest available version (at the time of writing this is 1.0.3)
[...]
components:
[...]
- name: tokkio-umim-action-server
type: ucf.svc.tokkio.umim-action-server
parameters:
imagePullSecrets:
- name: ngc-docker-reg-secret
The new component then needs to be connected to Redis, Animation Graph MS and the Tokkio UI Server MS in the connections section in the app-xy.yaml
UCS app specification.
connections:
[...]
tokkio-umim-action-server/redis: redis-timeseries/redis
tokkio-umim-action-server/anim-graph: animation-graph/http-api
tokkio-umim-action-server/ui-server: tokkio-ui-server/ui-server-http
Microservice Parameters#
The UMIM Action Server for Tokkio microservice provides only few explicit parameters, since most of the UMIM action events provide parameters that control how specific actions are executed. To configure additional animations follow the steps above.
Parameter Name |
Description |
Type |
UCF Default Value |
---|---|---|---|
umimSystemEventStream |
Name of the UMIM system event stream where Pipeline information is published (PipelineAcquired, PipelineReleased) |
string |
“ace_agent_system_events” |
animgraphApiVersion |
Animation Graph API version. Only currently supported value is “1.0” |
string |
“1.0” |
Secret Name |
Description |
Format / How to setup secret |
---|---|---|
pexels-api-key |
Optional and experimental feature. You only need to set this if you want to use image retrieval using the Pexels API for VisualInformation and VisualChoice actions |
kubectl create secret generic pexels-api-key –from-literal=PEXELS_API_KEY=<PEXELS_API_KEY> |
Full Default Service Configuration#
The UMIM Action Server for Tokkio contains multiple services that provide support for various UMIM actions and events (see the overview for more details). Below we list the default configuration for each service. You can overwrite any of these settings using the method describe in the section Update Available Animations.
version: "0.1.0"
event_provider:
name: "redis"
host: $egress.redis.address
port: $egress.redis.port
umim_system_event_stream: $params.umimSystemEventStream
services:
vision:
enabled: True
event_provider:
name: "redis"
host: $egress.redis.address
port: $egress.redis.port
timer:
enabled: True
gesture:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
available_gestures:
- animation_id: Goodbye
description: "Waving goodbye: Waves with left hand extended high."
duration: 2
meaning: Taking leave of someone from a further distance, or getting someone's attention.
- animation_id: Welcome
description: "Waving hello: Spreads arms slightly, then raises right hand next to face and waves with an open hand."
duration: 2.5
meaning: Greeting someone in a shy or cute manner, showing a positive and non-threatening attitude.
- animation_id: Personal_Statement_2
description: "Personal statement: Leans forward and points to self with relaxed right hand, then leans back and opens arms wide with palms facing upwards."
duration: 3
meaning: Revealing something about themselves in a grandiose gesture, or making a little joke about their appearance or personality.
- animation_id: Pointing_To_Self_1
description: "Pointing to self: Leans forward slightly and with a relaxed right index finger points to self."
duration: 2.5
meaning: Saying something about themselves.
- animation_id: Stupid_1
description: "Stupid: Raising right hand next to head and twirling the index finger in circles."
duration: 3.5
meaning: Indicated someone or something is stupid crazy or dumb.
- animation_id: No_1
description: "Shaking head: Avatar shakes head slowly."
duration: 3
meaning: Expressing strong disagreement or disappointment.
- animation_id: Bowing_1
description:
"Bowing: Slightly bows to the front making invitation gesture with
both arms."
duration: 2.5
meaning: Formal greeting, sign of respect or congratulations or pride.
- animation_id: Bowing_2
description:
"Bowing: Slightly bows with both arms and invitational gesture with
right arm."
duration: 2.5
meaning: Overly formal greeting, sign of respect or grand introduction.
- animation_id: Pointing_To_User_1
description: "Pointing to user: Pointing with both arms towards the user."
duration: 2.5
meaning:
Encouragement for the user to make a move, approach or say something, or
pointing out the user is being addressed. This is also an encouraging and reassuring gesture.
- animation_id: Pointing_To_User_2
description: "Pointing to user: Insistingly pointing to user with the right arm."
duration: 2.5
meaning: Accusation or strong signal that the user is concerned.
- animation_id: Pointing_Down_1
description: "Pointing down: Lifting the right arm to shoulders and pointing."
duration: 3
meaning: Drawing attention to something below the screen or in front of the avatar.
- animation_id: Pointing_Down_2
description: "Pointing down: Lifting both arms and slightly point downwards."
duration: 2
meaning:
Drawing attention to the desk, to something below the screen or in front
of the avatar. Or informing about the location.
- animation_id: Pointing_Left_1
description:
"Pointing left: Pointing with both arms to the left hand side of the
avatar."
duration: 4
meaning:
Pointing out something to the left of the avatar in a demanding way, or
signaling frustration.
- animation_id: Pointing_Left_2
description: "Pointing left: Pointing with left arm to the back left of the avatar."
duration: 4
meaning:
Calmly pointing out or presenting something to the left of the avatar.
Or giving information about something behind the avatar.
- animation_id: Pointing_Backward_1
description: "Pointing to back: Pointing to the back with the extended right arm."
duration: 3.5
meaning:
Informing about something in the direction towards the back or giving directions
to something behind the avatar.
- animation_id: Fistbump_Offer
description:
"Fistbump: Extend the right arm with right hand twisting slightly for 3 seconds, then
bumping fist towards the user for 7 seconds."
duration: 10
meaning: Invitation to a fistbump followed by doing that fistbump.
- animation_id: Pulling_Mime
description: "Pulling rope: Avatar grabs invisible rope and imitates pulling behavior."
duration: 3.5
meaning: Suggesting being tethered or chained, or pulling something.
- animation_id: Raise_Both_Arms
description:
"Raising both arms: Raising both arms above avatar's head and swaying
slightly."
duration: 3.5
meaning:
Implying in a crowd celebrating, or on a roller coaster or demonstrating
not having anything on them.
- animation_id: The_Robot
description:
"Robot dance: Imitating a dancing robot with arms moved in mechanical
motion."
duration: 3
meaning: Jokingly playing a robot or dancing to celebrate or acting goofy.
- animation_id: Phone_Dialing
description:
"Phone dialing: Raising left hand and imitating to dial a phone with
right arm."
duration: 3.5
meaning: Asking for or mentioning a phone number, or talking about calling someone.
- animation_id: Attraction_2
description:
"Having fun: Questioningly opening both arms and then raising them
above the head mimicking being in a roller coaster ride."
duration: 10
meaning: Being silly, suggesting having fun.
- animation_id: Please_Repeat_1
description:
"Please repeat: Moving head slightly to the user and making circular
motion with right arm, then shrugging slightly."
duration: 5.5
meaning:
Implying not having understood something, asking to repeat or rephrase,
or needing more information.
- animation_id: Please_Repeat_2
description:
"Presentation: Twirling both hands and making invitational pose with
body."
duration: 3.5
meaning:
Asking to repeat or rephrase something, or needing more information, or
asking if something was understood.
- animation_id: Trying_To_See
description:
"Trying to see: Lifting left hand above eyes and making gestures to
see better, then shrug."
duration: 4
meaning: Implying looking for but not seeing something.
- animation_id: Driving_Mime
description:
"Driving: Grabbing an invisible steering wheel with both hands, turning
it and switching gears."
duration: 4.5
meaning: Sharing a story about driving or getting excited about cars.
- animation_id: Exhausted
description: "Exhausted: Letting head hang in a tired pose, slightly leaning."
duration: 4.5
meaning:
Dramatically signaling exhaustion or running out of power, slowly shutting
down.
- animation_id: Presenting_Options_1
description:
"Presenting options: Showing open palms of both hands and making presenting
motion with right hand, slight shrug."
duration: 3.5
meaning: Giving an overview or multiple options to choose from.
- animation_id: Presenting_Options_2
description:
"Presenting options: Raising and opening one hand after the other and
a subtle shrug."
duration: 3
meaning: Suggesting a choice between two options.
- animation_id: Open_Question_1
description: "Open question: Opening both hands and showing palms to user."
duration: 3
meaning:
"Making a questioning gesture. Waiting for the user to make a choice, answer a question or say something.
Indicates questioning the user caring about the user's answer maybe even showing concerns"
- animation_id: Personal_Statement_1
description:
"Personal statement: Raising right hand to chest, extending and gesturing
with left hand."
duration: 3.5
meaning:
Making a personal statement, explaining something about themselves or making
a suggestion relating to something on the left.
- animation_id: Success_1
description:
"Success: Making a fist and raising the arm excitedly in a successful swinging
motion."
duration: 2
meaning:
Comically celebrating something going well, showing pride in a personal
accomplishment. Demonstrating excitement. This is a confirming gesture like nodding.
- animation_id: Dont_Understand_1
description: "Not understanding: Raising both hands next head in a circular motion."
duration: 3
meaning: Implying being confused, overwhelmed or stupid.
- animation_id: Toss
description: "Tossing: Miming forming a ball with both hands and tossing it forward."
duration: 4
meaning:
Implying crumpling something up and throwing it away, giving something
up or forgetting about it.
- animation_id: Come_Here_1
description: "Come here: Extending both arms and curling index finger."
duration: 2
meaning: Asking to come closer.
- animation_id: Tell_Secret
description:
"Telling secret: Coming closer to user and whispering with hand next
to mouth."
duration: 2.5
meaning: Sharing something intimate, secret or inflammatory, or giving a tip.
- animation_id: Pointing_Right_1
description: "Pointing right: Pointing with both arms to the right hand side of the avatar."
duration: 4
meaning: Pointing out something to the right of the avatar in a demanding way, or signaling frustration.
- animation_id: Pointing_Right_2
description: "Pointing right: Pointing with right arm to the back right of the avatar."
duration: 4
meaning: Calmly pointing out or presenting something to the right of the avatar. Or giving information about something behind the avatar.
- animation_id: Chefs_Kiss
description: "Chef's Kiss: Avatar makes a kissing gesture and holding up the right hand with index finger and thumb touching."
duration: 1.7
meaning: Implying something is just perfect. Something turned out better than expected. Approval from someone in a teaching or judging position.
- animation_id: Finger_Guns
description: "Finger Guns: Leaning back pointing both index fingers to the user mimicking two guns like a cowboy."
duration: 3
meaning: Playfully taunting. Humorously punctuating a bad joke. Clumsy flirting.
- animation_id: Finger_Wag
description: "Finger Wag: Pulling back, shaking had and holding up a wagging right index finger"
duration: 1.7
meaning: Correcting after being misunderstood. Showing the other they have misinterpreted what was said. Implying something is forbidden or inappropriate in a paternal or playful way.
- animation_id: Little
description: "Little: Leaning in, squinting at a raised right hand, holding index and thumb close together."
duration: 1.8
meaning: Describing something as very small or miniscule. Something is physically tiny or an issue is so insignificant as to be negligible.
- animation_id: Money
description: "Money: Raising right hand, rubbing thumb and index finger together."
duration: 2
meaning: Implying something is expensive. Someone is rich. Doing something requires payment.
- animation_id: Number_1a
description: "Number 1: Raising right hand and extending the index finger."
duration: 1.4
meaning: Showing the number 1
- animation_id: Number_2a
description: "Number 2: Raising right hand and extending index and middle finger."
duration: 1.4
meaning: Showing the number 2
- animation_id: Number_3a
description: "Number 3: Raising right hand and extending index, middle and ring finger."
duration: 1.4
meaning: Showing the number 3
- animation_id: Number_4a
description: "Number 4: Raising right hand and extending all fingers except the thumb."
duration: 1.4
meaning: Showing the number 4
- animation_id: Number_5a
description: "Number 5: Raising right hand with all fingers extended."
duration: 1.4
meaning: Showing the number 5
- animation_id: Number_1b
description: "Number 1 (German style): Raising right hand and extending the thumb upwards."
duration: 1.4
meaning: Showing the number 1 for a Germanic audience
- animation_id: Number_2b
description: "Number 2 (German style): Raising right hand and extending the thumb and index finger."
duration: 1.4
meaning: Showing the number 2 for a Germanic audience
- animation_id: Number_3b
description: "Number 3 (German style): Raising right hand and extending the thumb, index and middle finger."
duration: 1.4
meaning: Showing the number 3 for a Germanic audience
- animation_id: Number_6c
description: "Number 6 (Chinese style): Raising right hand and extending the thumb and pinky."
duration: 1.4
meaning: Showing the number 6 for a Chinese audience
- animation_id: Number_7c
description: "Number 7 (Chinese style): Raising right hand and making claw shape touching the thumb to the fingers."
duration: 1.4
meaning: Showing the number 7 for a Chinese audience
- animation_id: Number_8c
description: "Number 8 (Chinese style): Raising right hand and extending index finger and thumb pointing slightly to the side."
duration: 1.4
meaning: Showing the number 8 for a Chinese audience
- animation_id: Number_9c
description: "Number 9 (Chinese style): Raising right hand and holding up a curled index finger."
duration: 1.4
meaning: Showing the number 9 for a Chinese audience
- animation_id: Ouch
description: "Ouch: Jump and cringe while turning head away, then recover quickly shaking out right hand and exhaling."
duration: 2
meaning: Narrowly avoiding a close call with danger. Feeling intense fear for a moment followed by exhaustion or relief. Can also be as a reacion to someone else's predicament. Or a response to well placed insult.
- animation_id: Angry_Shaking_Fist
description: "Angry Shaking Fist: Coming closer, lowering head and shaking right fist forward."
duration: 1.6
meaning: Being angrily frustrated. Swearing vengeance or threatening violence.
- animation_id: Pointing_To_Self_Questioningly
description: "Pointing To Self Questioningly: Rasing right finger hesitantly, turning head and pointing at self with while leaning back a little."
duration: 2.8
meaning: Asking if something refers to them, being unsure if they're being addressed. Asking if something might fit them or if they could do something.
- animation_id: Pointing_To_User_Questioningly
description: "Pointing To User Questioningly: Lifting right finger pointing at user with initial hesitation while leaning back slightly."
duration: 2.4
meaning: Asking if something might be about the user, or if the user is interested in an offer. Suggesting the user could be the right person for something. Uncertain about the users involvement.
- animation_id: Raise_Finger_Big
description: "Raise Finger Big: Raising right index finger in a big sweeping motion, then gesturing with it briefly."
duration: 2.5
meaning: Making a big surprise announcement. Being very pompous or a pedantic, gleefully correcting someone.
- animation_id: More_Or_Less
description: "More Or Less: Leaning in and holding out a flat hand with palms facing down, wiggling the hand back and forth."
duration: 1.8
meaning: Explaining something is not quite accurate, is unknown, or just a guess. Relativizing a previous statement. Being indecisive, not taking a clear stance. Pointing out the complexity of something.
- animation_id: Thumbs_Up
description: "Thumbs Up: Lifting the right hand with a thumb extending upwards."
duration: 1.4
meaning: Sign of approval. Something is correct. Enthusiastically agreeing with what's being said and showing support. Things are okay, there's no harm done. Encouragement to go ahead.
- animation_id: Thumbs_Down
description: "Thumbs Down: Lifting the right hand with a thumb pointing downwards."
duration: 1.4
meaning: Sign of disapproval. Something is wrong. Rudely disagreeing with what's being said showing rejection.
posture:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
default_animation_id: "Attentive"
available_postures:
- animation_id: Talking
description: "Small gestures with hand and upper body: Avatar is talking"
duration: -1
meaning: Emphasizing that Avatar is talking
- animation_id: Listening
description: "Small gestures with hand and upper body: Avatar is listening"
duration: -1
meaning: Emphasizing that one is listening
- animation_id: Idle
description: "Small gestures with hand and upper body: Avatar is idle"
duration: -1
meaning: Show the user that the avatar is waiting for something to happen
- animation_id: Thinking
description: "Gestures with hand and upper body: Avatar is thinking"
duration: -1
meaning: Show the user that the avatar thinking about his next answer or is trying to remember something
- animation_id: Attentive
description: "Small gestures with hand and upper body: Avatar is attentive"
duration: -1
meaning: Show the user that the avatar is paying attention to the user
facial_gesture:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
available_facial_gestures:
- animation_id: Angry
description: "Angry: Furrowed brow, short glare at the user with an angry frown."
duration: 1.7
meaning: Expression of anger, being displeased, insulted or bitter.
- animation_id: Angry_Intense
description: "Very Angry: Furrowed brow, lowering head, angrily showing teeth."
duration: 2.3
meaning: Expression of rage or hatred, being spiteful or adversarial.
- animation_id: Astonishment
description: "Astonishment: Lowering head forward and dropping jaw."
duration: 2.7
meaning: Expression of astonishment, being extremely impressed and speechless.
- animation_id: Confused
description: "Confused: Slight squinting and opening of mouth."
duration: 1.8
meaning: Expression of confusion. Can't follow of comprehend what's been said.
- animation_id: Confused_Intense
description: "Very Confused: Tilting head forward, skewing mouth and slightly sneering."
duration: 2
meaning: Expression of total confusion. Something made no sense at all.
- animation_id: Disgust
description: "Disgusted: Sneering nose, curling lips pulling head back."
duration: 1.5
meaning: Expression of disgust. Finding something off-putting or being very negatively surprised.
- animation_id: Disgust_Intense
description: "Very Disgusted: Sneering, pulling back, shaking head, curling lips, showing teeth."
duration: 2.5
meaning: Expression of repulsion. Finding something extremely gross or offensive.
- animation_id: Doubtful
description: "Doubtful: Squinting and sneering slightly more with one eye."
duration: 1.7
meaning: Expression of doubt. Not sure if something can be true. Possible misunderstanding.
- animation_id: Doubtful_Intense
description: "Very Doubtful: Tilting head, strongly skewing mouth and squinting hard."
duration: 1.7
meaning: Expression of disbelief. Something can't possibly be correct. There must be a mistake.
- animation_id: Excited
description: "Excited: Leaning head forward widely smiling with an open mouth."
duration: 3
meaning: Expression of speechless excitement, being very positively surprised or happy.
- animation_id: Eye_Roll
description: "Eye Roll: Looking upwards and to the side slightly turning head away."
duration: 2.5
meaning: Expression of being annoyed by something stupid or tedious.
- animation_id: Eye_Roll_Intense
description: "Big Eye Roll: Rolling eyes and head upwards and to the side, mouth slightly open."
duration: 2.5
meaning: Expression of being very annoyed or frustrated by something.
- animation_id: Pensive
description: "Pensive: Looking slightly down and to the side, furrowing brow."
duration: 2
meaning: Expression of having to think about something. Being unsure or wondering.
- animation_id: Pensive_Intense
description: "Very Pensive: Looking to the side and tilting head with furrowed brow and tense lips."
duration: 2.5
meaning: Expression of strained thinking or indecisiveness.
- animation_id: Sad
description: "Sad: Lowering head, frowning and looking at the ground."
duration: 4
meaning: Expression of sadness. Being emotionally hurt or disappointed.
- animation_id: Sad_Intense
description: "Very Sad: Hanging head, looking to the ground, frowinging deeply, lips trembling."
duration: 4
meaning: Expression of extreme sadness. Being on the verge of tears. Deeply hurt and overwhelmed.
- animation_id: Shrug
description: "Shrug: Breaking eye contact, tilting head and raising lips in a slight frown."
duration: 1.4
meaning: Expression of uncertainty or disinterest. Not knowing something without being bothered.
- animation_id: Shrug_Intense
description: "Big Shrug: Looking away, raising and tilting head, skewing mouth and frowning."
duration: 1.3
meaning: Expression of having no idea. Being glib.
- animation_id: Smile
description: "Smile: Smiling with closed lips."
duration: 2
meaning: Expression of happiness, being pleased or just polite.
- animation_id: Smile_Intense
description: "Big Smile: Grinning."
duration: 2.8
meaning: Expression of being very pleased and happy. Polite greeting. Can also be sarcastic.
- animation_id: Surprised
description: "Surprised: Wide eyes, narrow open lips, raising head."
duration: 2
meaning: Expression of surprise. Being caught off guard by something.
- animation_id: Surprised_Intense
description: "Very Surprised: Open mouth, slightly trembling head, eyes wide open with raised brows."
duration: 2
meaning: Expression of shock. Being surprised to the point of fear.
- animation_id: Taunt
description: "Taunt: Raising an eyebrow, turning head to the side with a one-sided smile."
duration: 1.2
meaning: Expression of jovial provocation. Being cheeky, hinting at something or flirting.
- animation_id: Taunt_Intense
description: "Excessive Taunt: Smiling, turning head to side making eye contact and bouncing eyebrows."
duration: 2
meaning: Expression for a strong hint. Taunting and suggesting something in a playful way.
- animation_id: Tired
description: "Tired: Slow blinking, lowering jaw, half open eyes."
duration: 4
meaning: Expression of being tired. Something is very exhausting or boring.
- animation_id: Tired_Intense
description: "Very Tired: Head sinking, eyes briefly closing, then waking suddenly and recovering."
duration: 2.5
meaning: Expression of being extremely tired. Falling asleep for a second.
- animation_id: Wink
description: "Wink: Slight smile and head tilt, winking with left eye briefly."
duration: 0.8
meaning: Expression for a hint. Suggesting something isn't meant to be taken seriously. Just kidding.
- animation_id: Wink_Intense
description: "Big Wink: Turning head, winking with left eye and slightly grinning."
duration: 1
meaning: Expression for being playful. Making an obvious hint, offering a deal, or being sleazy.
- animation_id: Yawn
description: "Yawn: Closing eyes, opening mouth and straining face pulling back chin."
duration: 1.8
meaning: Expression of boredom. Being generally tired, unoccupied or inactive. happens involuntarily.
- animation_id: Sneaky
description: "Sneaky: Turning head slightly, and smirking."
duration: 1.5
meaning: Expression of cunning or smugness. Posing a challenge, projecting pride and confidence or mischief.
- animation_id: Sneaky_Intense
description: "Very Sneaky: Lowering head smiling with cold eyes and eyes darting around the room."
duration: 2.1
meaning: Expression of deviousness. Planning something sinister, being manipulative or enjoying someone else's peril. Being creepy or spooky, trying to instil fear.
- animation_id: Head_Shake_Big
description: "Big Head Shake: Strongly shaking head two times."
duration: 1.6
meaning: Showing clear, decisive disagreement
- animation_id: Head_Shake_Frantic
description: "Frantic Head Shake: Closing eyes and shaking head three times quickly."
duration: 1.8
meaning: Showing emphatic disagreement. Implying something was misunderstood.
- animation_id: Head_Shake_Slowly
description: "Slow Head Shake: Shaking head two times slowly"
duration: 1.9
meaning: Showing hesitant disagreement. Something is probably wrong.
- animation_id: Nodding_Big
description: "Big Nod: Strongly nodding head once with wide eyes."
duration: 2
meaning: Showing clear, decisive agreement
- animation_id: Nodding_Frantic
description: "Frantic Nod: Nodding head four times quickly."
duration: 1.6
meaning: Showing emphatic, supportive agreement.
- animation_id: Nodding_Slowly
description: "Slow Nod: Nodding head three times slowly."
duration: 3
meaning: Showing compassionate, patient agreement.
- animation_id: Nodding_Upward
description: "Up Nod: Nodding upwards with chin and raising eyebrows."
duration: 0.8
meaning: Subtle greeting or sign of recognition. Addressing someone.
position:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
default_animation_id: "Center"
available_positions:
- animation_id: Left
description: "Bot positions itself to the left of the scene"
duration: -1
meaning: move to the left
- animation_id: Right
description: "Bot positions itself to the right of the scene"
duration: -1
meaning: move to the right
- animation_id: Center
description: "Bot positions itself at the center of the scene"
duration: -1
meaning: move to the center
camera_motion_effect:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
default_animation_id: none
available_effects:
- animation_id: shake
description: camera shakes briefly
duration: 2
meaning: camera shakes briefly
- animation_id: hand_held
description: cameras sways very slightly for a short while
duration: 2
meaning: cameras sways very slightly for a short while
- animation_id: jump_cut_out
description: Temporary cut to a slightly wider frame
duration: 2
meaning: Temporary cut to a slightly wider frame
- animation_id: jump_cut_in
description: Temporary cut to a slightly tighter frame
duration: 2
meaning: Temporary cut to a slightly tighter frame
camera_shot:
enabled: True
animation_graph_host: $egress.anim-graph.address
animation_graph_port: $egress.anim-graph.port
api_version: $params.animgraphApiVersion
default_animation_id: Full
available_shots:
- animation_id: Full
description: "Full body visible."
duration: -1
meaning: Full body visible.
- animation_id: medium_full
description: "Visible from knees upwards. Default camera position."
duration: -1
meaning: Visible from knees upwards. Default camera position.
- animation_id: medium
description: "Visible from waist upwards."
duration: -1
meaning: Visible from waist upwards.
- animation_id: close_up
description: "Visible from neck upwards"
duration: -1
meaning: Visible from neck upwards
available_transitions:
- animation_id: cut
description: transition instantly
duration: 0
meaning: transition instantly
- animation_id: fast
description: transition in 1 second
duration: 1
meaning: transition in 1 second
- animation_id: slow
description: transition in 3 seconds
duration: 3
meaning: transition in 3 seconds
- animation_id: very_slow
description: transition in 6 seconds
duration: 6
meaning: transition in 6 seconds
ui:
enabled: True
ui_host: $egress.ui-server.address
ui_port: $egress.ui-server.port
event_provider_name: "redis"
event_provider_host: $egress.redis.address
event_provider_port: $egress.redis.port
image_search:
enabled: True
provider_name: "pexels"
key_path: "/secrets/pexels_api_key.txt"