<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.13.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Vision",
  "identifier" : "/documentation/Vision/VNImageRequestHandler",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Vision"
    ],
    "preciseIdentifier" : "c:objc(cs)VNImageRequestHandler"
  },
  "title" : "VNImageRequestHandler"
}
-->

# VNImageRequestHandler

An object that processes one or more image-analysis request pertaining to a single image.

```
class VNImageRequestHandler
```

## Overview

Instantiate this handler to perform Vision requests on a single image. You specify the image and, optionally, a completion handler at the time of creation, and call [`perform(_:)`](/documentation/Vision/VNImageRequestHandler/perform(_:)) to begin executing the request.

## Topics

### Creating a Request Handler

[`init(CGImage:options:)`](/documentation/Vision/VNImageRequestHandler/init(CGImage:options:)-5tp19)

[`init(cgImage:options:)`](/documentation/Vision/VNImageRequestHandler/init(cgImage:options:)-4qda6)

Creates a handler to be used for performing requests on Core Graphics images.

[`init(CGImage:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CGImage:orientation:options:)-8imhf)

[`init(cgImage:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(cgImage:orientation:options:)-63ojm)

Creates a handler to be used for performing requests on a Core Graphics image with known orientation.

[`init(CIImage:options:)`](/documentation/Vision/VNImageRequestHandler/init(CIImage:options:)-55zel)

[`init(ciImage:options:)`](/documentation/Vision/VNImageRequestHandler/init(ciImage:options:)-4wf33)

Creates a handler to use for performing requests on Core Image image data.

[`init(CIImage:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CIImage:orientation:options:)-8p8h1)

[`init(ciImage:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(ciImage:orientation:options:)-3svy6)

Creates a handler to be used for performing requests on Core Image image data of a known orientation.

[`init(CVPixelBuffer:options:)`](/documentation/Vision/VNImageRequestHandler/init(CVPixelBuffer:options:)-3pee9)

[`init(cvPixelBuffer:options:)`](/documentation/Vision/VNImageRequestHandler/init(cvPixelBuffer:options:)-bkd7)

Creates a handler for performing requests on a Core Video pixel buffer.

[`init(CVPixelBuffer:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CVPixelBuffer:orientation:options:)-160f)

[`init(cvPixelBuffer:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(cvPixelBuffer:orientation:options:)-9fxug)

Creates a handler for performing requests on a Core Video pixel buffer of a known orientation.

[`init(CVPixelBuffer:depthData:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CVPixelBuffer:depthData:orientation:options:)-3u960)

[`init(cvPixelBuffer:depthData:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(cvPixelBuffer:depthData:orientation:options:)-3mj2d)

[`init(CMSampleBuffer:options:)`](/documentation/Vision/VNImageRequestHandler/init(CMSampleBuffer:options:)-4mpwd)

[`init(cmSampleBuffer:options:)`](/documentation/Vision/VNImageRequestHandler/init(cmSampleBuffer:options:)-2yodn)

Creates a request handler that performs requests on an image contained within a sample buffer.

[`init(CMSampleBuffer:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CMSampleBuffer:orientation:options:)-6qeht)

[`init(cmSampleBuffer:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(cmSampleBuffer:orientation:options:)-335k4)

Creates a request handler that performs requests on an image of a specified orientation contained within a sample buffer.

[`init(CMSampleBuffer:depthData:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(CMSampleBuffer:depthData:orientation:options:)-yi6q)

[`init(cmSampleBuffer:depthData:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(cmSampleBuffer:depthData:orientation:options:)-8bjyh)

Creates a request handler that performs requests on an image in a sample buffer that contains depth data.

[`init(data:options:)`](/documentation/Vision/VNImageRequestHandler/init(data:options:))

Creates a handler to use for performing requests on an image in a data object.

[`init(data:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(data:orientation:options:))

Creates a handler to use for performing requests on an image of known orientation.

[`init(URL:options:)`](/documentation/Vision/VNImageRequestHandler/init(URL:options:)-19t0u)

[`init(url:options:)`](/documentation/Vision/VNImageRequestHandler/init(url:options:)-4k623)

Creates a handler to be used for performing requests on an image at the specified URL.

[`init(URL:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(URL:orientation:options:)-ou7m)

[`init(url:orientation:options:)`](/documentation/Vision/VNImageRequestHandler/init(url:orientation:options:)-70nta)

Creates a handler to be used for performing requests on an image with known orientation, at the specified URL.

### Executing a Request Handler

[`perform(_:)`](/documentation/Vision/VNImageRequestHandler/perform(_:))

Schedules Vision requests to perform.

### Setting Image Options

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

An option key passed into an image request handler that takes an auxiliary image.



---

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)