---
title: "Validate Face Image"
method: POST
path: "/v2/faces/image-validation"
tags: ["Faces"]
---

# Validate Face Image

`POST /v2/faces/image-validation`

## Request

- Base URL: `https://tavusapi.com`
- URL: `https://tavusapi.com/v2/faces/image-validation`
- Auth: API key in header `x-api-key`

Check an image before submitting it to [Create Face](/api-reference/faces/create-face). Returns an overall pass/fail result, structured checks, and diagnostic details without creating a face.

Send the image bytes as base64 in `imageBase64`, without a data URL prefix, and specify the image's `mimeType`. This endpoint takes image data, not a `train_image_url`.

Set `model` to the same Phoenix model you will use as `model_name` when creating the face. Validation defaults to `phoenix-4`; send `"model": "phoenix-4.5"` to use Phoenix-4.5 checks. See [Phoenix-4 Image Requirements](/sections/faces/phoenix-4-image-requirements) and [Phoenix-4.5 Image Requirements](/sections/faces/phoenix-45-image-requirements).

HTTP `200` means validation completed, not that the image passed. Read `passed` for the overall result. Each entry in `checks` has an `id`, a display `label`, and its own `passed` value. Entries with `passed: false` identify what the user should fix. The checks and `details` vary by model.

The JSON request body must not exceed 30 MiB. The base64 string is limited to 28 MiB of characters.

**Legacy:** `POST /v2/replicas/image-validation` remains supported. Its diagnostic details use `pose_suitable_for_replica` where this endpoint uses `pose_suitable_for_face`; check IDs are unchanged.

## Request body

- object
  - `imageBase64` string, required: Base64-encoded image bytes, without a `data:image/...;base64,` prefix. Leading and trailing whitespace is trimmed.
  - `mimeType` 'image/jpeg' | 'image/png' | 'image/webp' | 'image/heic' | 'image/heif': The image's MIME type. Defaults to `image/jpeg` when omitted.
  - `model` 'phoenix-4' | 'phoenix-4.5': Phoenix model to validate the image for. Match the `model_name` you will send to Create Face.

## Response `200`

Validation completed. An unsuitable image returns `passed: false` with structured checks.

- object
  - `passed` boolean, required: True when every check for the selected model passes.
  - `message` string, required: A human-readable summary of the validation result.
  - `checks` object[], required: Checks for the selected model. Use entries with `passed: false` to show rejection reasons.
    - `id` string, required: Identifier for the check, such as `image_quality_acceptable` or `chest_up_framing_acceptable`. The set of checks depends on the selected model.
    - `label` string, required: Human-readable description of the condition being checked.
    - `passed` boolean, required: True when the image satisfies this check.
  - `details` object, required: Model-specific observations, including booleans about image quality, pose, framing, and other requirements. Use `checks` for pass/fail decisions: some detail booleans describe problems, so `true` does not always mean acceptable.
    - `scene_description` string: Description of the image.
    - `issues` string[]: Human-readable issues identified in the image.

## Other responses

- `400`: Invalid JSON or request fields, including a missing image, unsupported MIME type or model, or unknown fields.
- `401`: Missing or invalid API key.
- `413`: The JSON request body exceeds the 30 MiB limit.
- `422`: The validation provider blocked the image under its safety policy. Returns `code: validation_policy_blocked` and a `message`, rather than a completed set of checks.
- `429`: The upstream AI request rate limit was reached.
- `502`: Validation failed because the upstream service or provider could not complete the request.
- `504`: The validation provider timed out. Returns `code: provider_timeout` and a `message`.

## Changes

- **2026-11-03** `932c24e63be2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/tavus/apis/tavus-developer-api-collection/changes/v2/faces/image-validation/post.md)

---

[API](https://skmtc.dev/tavus/apis/tavus-developer-api-collection.md) - [All operations](https://skmtc.dev/tavus/apis/tavus-developer-api-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/tavus/apis/tavus-developer-api-collection/revisions/932c24e63be2?raw)
