<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macOS: 15.0.0 -",
    "tvOS: 18.0.0 -",
    "visionOS: 2.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/DetectFaceLandmarksRequest",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "s:6Vision26DetectFaceLandmarksRequestV"
  },
  "title" : "DetectFaceLandmarksRequest"
}
-->

# DetectFaceLandmarksRequest

An image analysis request that finds facial features like eyes and mouth in an image.

```
struct DetectFaceLandmarksRequest
```

## Overview

By default, a face landmarks request first locates all faces in the input image, then analyzes each to detect facial features.
If you’ve already located all the faces in an image, or want to detect landmarks in only a subset of the faces in the image, set the inputFaceObservations property to an array of [`FaceObservation`](/documentation/Vision/FaceObservation) objects representing the faces you want to analyze. You can either use face observations output by a [`DetectFaceRectanglesRequest`](/documentation/Vision/DetectFaceRectanglesRequest) or manually create `FaceObservation` instances with the bounding boxes of the faces you want to analyze.

## Topics

### Creating a request

[`init(_:)`](/documentation/Vision/DetectFaceLandmarksRequest/init(_:))

Creates a face landmark detection request.

### Performing a request

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-80bya)

Performs the request on an image URL and produces observations.

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-3f3f1)

Performs the request on image data and produces observations.

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-qxxx)

Performs the request on a Core Graphics image and produces observations.

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-xspx)

Performs the request on a pixel buffer and produces observations.

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-3hddl)

Performs the request on a Core Media buffer and produces observations.

[`perform(on:orientation:)`](/documentation/Vision/ImageProcessingRequest/perform(on:orientation:)-85ex1)

Performs the request on a Core Image image and produces observations.

### Understanding the result

[`FaceObservation`](/documentation/Vision/FaceObservation)

An image-analysis request that identifies facial features in an image.

### Configuring a request

[`inputFaceObservations`](/documentation/Vision/DetectFaceLandmarksRequest/inputFaceObservations)

An array of face-observation objects to process as part of the request.

### Getting the revision

[`revision`](/documentation/Vision/DetectFaceLandmarksRequest/revision-swift.property)

The algorithm or implementation the request uses.

[`supportedRevisions`](/documentation/Vision/DetectFaceLandmarksRequest/supportedRevisions)

The collection of revisions the request supports.

[`Revision`](/documentation/Vision/DetectFaceLandmarksRequest/Revision-swift.enum)

A type that describes the algorithm or implementation that the request performs.

## Relationships

### Conforms To

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`ImageProcessingRequest`](/documentation/Vision/ImageProcessingRequest)

[`Sendable`](/documentation/Swift/Sendable)

[`Hashable`](/documentation/Swift/Hashable)

[`VisionRequest`](/documentation/Vision/VisionRequest)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Equatable`](/documentation/Swift/Equatable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)