# Faces and expressions

> Expressions, when the agent uses each, and transitions between them.

Source: https://voxio.in/docs/avatar-setup-faces · voxioagent 2.0.0 · Index: https://voxio.in/docs/llms.txt

## Expressions

A flow's avatar is a set of expressions, each one of your faces with a name and a sentence saying when to use it. The agent picks the expression that fits the moment and lip-syncs whatever it says.

- `faces[].uuid` (string, required): The face, from Avatars.
- `faces[].label` (string, required): The expression's name, e.g. `neutral`, `happy`, `thinking`.
- `faces[].usage` (string): When to use it, in plain words.

## Transitions

A transition is a short clip played when moving from one expression to another. Without one, the switch is a quick cut.

- `transitions[].from` (string, required): The expression label it leaves.
- `transitions[].to` (string, required): The expression label it arrives at.
- `transitions[].uuid` (string, required): The clip, from Avatars.
- `transitions[].label` (string): A name for it.

## From code

```js
await voxio.flows.update(flowKey, {
  faces: [
    { uuid: "FACE_NEUTRAL", label: "neutral", usage: "Default while listening and explaining." },
    { uuid: "FACE_HAPPY",   label: "happy",   usage: "Greetings and good news." },
  ],
  transitions: [
    { from: "neutral", to: "happy", uuid: "CLIP_SMILE", label: "smile" },
  ],
});
```

If you update `faces` without `transitions` (or the other way round), the one you leave out is kept.

## Good source faces

Face the camera, mouth closed and relaxed, even light, plain background, no hands near the face. A few seconds of gentle movement looks more alive than a still photo.

## Next steps

- [Lip-sync](https://voxio.in/docs/avatar-setup-lipsync.md): make the mouth match.
