<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/VNRequestRevisionProviding",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "c:objc(pl)VNRequestRevisionProviding"
  },
  "title" : "VNRequestRevisionProviding"
}
-->

# VNRequestRevisionProviding

A protocol for specifying the revision number of Vision algorithms.

```
protocol VNRequestRevisionProviding
```

## Overview

Subclasses of [`VNRequest`](/documentation/Vision/VNRequest) should adopt this protocol to specify which revision of an algorithm the Vision framework uses to generate requests.

## Topics

### Specifying Revision Number

[`requestRevision`](/documentation/Vision/VNRequestRevisionProviding/requestRevision)

The revision of the [`VNRequest`](/documentation/Vision/VNRequest) subclass used to generate the implementing object.

### Determining Revision Type

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

A constant for specifying an unspecified request revision.

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

A constant for specifying revision 1 of the rectangle detection request.

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

A constant for specifying revision 1 of the rectangling tracking request.

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

A constant for specifying revision 1 of the object tracking request.

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

A constant for specifying revision 2 of the face rectangles detection request.

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

A constant for specifying revision 1 of the face rectangles detection request.

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

A constant for specifying revision 3 of the face landmarks detection request.

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

A constant for specifying revision 2 of the face landmarks detection request.

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

A constant for specifying revision 1 of the face landmarks detection request.

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

A constant for specifying revision 1 of the text recognition request.

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

A constant for specifying revision 1 of the text rectangles detection request.

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

A constant for specifying revision 1 of the barcode detection request.

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

A constant for specifying revision 1 of the horizon detection request.

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

A constant for specifying revision 1 of the translational image registration request.

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

A constant for specifying revision 1 of the homographic image registration request.

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

A constant for specifying revision 1 of a Core ML request.

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

A constant for specifying revision 1 of the image saliency request.

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

A constant for specifying revision 1 of the image saliency request.

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

A constant for specifying the first revision of the image-classification request.

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

A constant for specifying the first revision of the feature-print request.

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

A constant for specifying revision 1 of the face capture detection request.

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

A constant for specifying revision 1 of the human rectangles detection request.



---

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)