> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Face

> JSON Merge Patch on the face. Send `face_name`, `default_voice_id`, or both.

Use this to change which [Voice](/sections/conversational-video-interface/voices) a face speaks with after it has been created. `original_voice_id` is read-only, so setting `default_voice_id` back to it reverts the face to the voice it started with.

<Note>
`PATCH /v2/faces/{face_id}/name` is a legacy route that renames a face and nothing else. It still works, so existing integrations are unaffected, but this endpoint replaces it and can change the name and the default voice in one call.
</Note>


<Info>
  For AI agents, use `https://docs.tavus.io/openapi.yaml` for the full HTTP API contract.
</Info>


## OpenAPI

````yaml patch /v2/faces/{face_id}
openapi: 3.0.3
info:
  title: Tavus Developer API Collection
  version: 1.0.0
  contact: {}
servers:
  - url: https://tavusapi.com
security:
  - apiKey: []
tags:
  - name: Videos
  - name: Faces
  - name: Voices
  - name: Conversations
  - name: Deployments
  - name: PALs
  - name: Tools
  - name: PAL Tools
  - name: Pronunciation Dictionaries
  - name: Replacements
  - name: Transcriptions
  - name: Documents
paths:
  /v2/faces/{face_id}:
    patch:
      tags:
        - Faces
      summary: Update Face
      description: >
        JSON Merge Patch on the face. Send `face_name`, `default_voice_id`, or
        both.


        Use this to change which
        [Voice](/sections/conversational-video-interface/voices) a face speaks
        with after it has been created. `original_voice_id` is read-only, so
        setting `default_voice_id` back to it reverts the face to the voice it
        started with.


        <Note>

        `PATCH /v2/faces/{face_id}/name` is a legacy route that renames a face
        and nothing else. It still works, so existing integrations are
        unaffected, but this endpoint replaces it and can change the name and
        the default voice in one call.

        </Note>
      operationId: updateFace
      parameters:
        - name: face_id
          in: path
          required: true
          description: The face identifier, e.g. `r90bbd427f71`.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                face_name:
                  type: string
                  description: A new name for the face. Cannot be null or blank.
                  example: Ana
                default_voice_id:
                  type: string
                  description: >-
                    The [Voice](/sections/conversational-video-interface/voices)
                    this face speaks with when a PAL sets no voice of its own.
                    Cannot be null or blank; a face with no default simply
                    leaves nothing to resolve.
                  example: v0a1b2c3d4e5f
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  face_id:
                    type: string
                    example: r90bbd427f71
                  face_name:
                    type: string
                    example: Ana
                  default_voice_id:
                    type: string
                    nullable: true
                    example: v0a1b2c3d4e5f
                  original_voice_id:
                    type: string
                    nullable: true
                    description: The voice this face was created with, read-only.
                    example: v000000000001
        '400':
          description: BAD REQUEST
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: default_voice_id cannot be null or blank
        '401':
          description: UNAUTHORIZED
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````