---
title: "vision.face.library · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/vision.face.library"
updated: null
---

# vision.face.library · OpenVibe.Services

HTML: [vision.face.library · OpenVibe.Services](https://openvibe.services/docs/capabilities/vision.face.library)

# `vision.face.library`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Not grantable to apps (active, first-party).

Group faces in your own Vision library: POST /api/v1/faces/library/cluster (region-gated), GET /api/v1/faces/library/groups and POST /api/v1/faces/library/correct (exclude, merge, split). Requires library consent; unknown faces stay unlabelled and nothing leaves that person's library.

- Owner: vision (token audience `openvibe.vision`)
- Version: 1.0
- Status: active
- Visibility: first-party
- Resource constraints: owner
- Quota class: vision-face
- Permissions: vision:face:library
- Input: [vision.face-library-request@1](/docs/contracts/vision.face-library-request)
- Output: vision.face-library-result@1
- Events: vision.result.ready
- Implemented by: - `POST /api/v1/faces/library/cluster`
- `GET /api/v1/faces/library/groups`
- `POST /api/v1/faces/library/correct`

[These routes in the API explorer](/docs/api/vision#cap-vision.face.library)
