---
title: VisionRequest
framework: vision
role: symbol
role_heading: Protocol
path: vision/visionrequest
---

# VisionRequest

A type for image-analysis requests.

## Declaration

```swift
protocol VisionRequest : CustomStringConvertible, Hashable, Sendable
```

## Topics

### Getting the compute device

- [computeDevice(for:)](vision/visionrequest/computedevice(for:).md)
- [supportedComputeStageDevices](vision/visionrequest/supportedcomputestagedevices.md)
- [ComputeStage](vision/computestage.md)

### Setting the compute device

- [setComputeDevice(_:for:)](vision/visionrequest/setcomputedevice(_:for:).md)

### Getting the descriptor

- [descriptor](vision/visionrequest/descriptor.md)

### Performing the request

- [Result](vision/visionrequest/result.md)
- [VisionResult](vision/visionresult.md)

### Default Implementations

- [CustomStringConvertible Implementations](vision/visionrequest/customstringconvertible-implementations.md)

## Relationships

### Inherits From

- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Inherited By

- [ImageProcessingRequest](vision/imageprocessingrequest.md)
- [StatefulRequest](vision/statefulrequest.md)
- [TargetedRequest](vision/targetedrequest.md)

### Conforming Types

- [CalculateImageAestheticsScoresRequest](vision/calculateimageaestheticsscoresrequest.md)
- [ClassifyImageRequest](vision/classifyimagerequest.md)
- [CoreMLRequest](vision/coremlrequest.md)
- [DetectAnimalBodyPoseRequest](vision/detectanimalbodyposerequest.md)
- [DetectBarcodesRequest](vision/detectbarcodesrequest.md)
- [DetectContoursRequest](vision/detectcontoursrequest.md)
- [DetectDocumentSegmentationRequest](vision/detectdocumentsegmentationrequest.md)
- [DetectFaceCaptureQualityRequest](vision/detectfacecapturequalityrequest.md)
- [DetectFaceLandmarksRequest](vision/detectfacelandmarksrequest.md)
- [DetectFaceRectanglesRequest](vision/detectfacerectanglesrequest.md)
- [DetectHorizonRequest](vision/detecthorizonrequest.md)
- [DetectHumanBodyPose3DRequest](vision/detecthumanbodypose3drequest.md)
- [DetectHumanBodyPoseRequest](vision/detecthumanbodyposerequest.md)
- [DetectHumanHandPoseRequest](vision/detecthumanhandposerequest.md)
- [DetectHumanRectanglesRequest](vision/detecthumanrectanglesrequest.md)
- [DetectLensSmudgeRequest](vision/detectlenssmudgerequest.md)
- [DetectRectanglesRequest](vision/detectrectanglesrequest.md)
- [DetectTextRectanglesRequest](vision/detecttextrectanglesrequest.md)
- [DetectTrajectoriesRequest](vision/detecttrajectoriesrequest.md)
- [GenerateAttentionBasedSaliencyImageRequest](vision/generateattentionbasedsaliencyimagerequest.md)
- [GenerateForegroundInstanceMaskRequest](vision/generateforegroundinstancemaskrequest.md)
- [GenerateImageFeaturePrintRequest](vision/generateimagefeatureprintrequest.md)
- [GenerateIterativeSegmentationRequest](vision/generateiterativesegmentationrequest.md)
- [GenerateObjectnessBasedSaliencyImageRequest](vision/generateobjectnessbasedsaliencyimagerequest.md)
- [GeneratePersonInstanceMaskRequest](vision/generatepersoninstancemaskrequest.md)
- [GeneratePersonSegmentationRequest](vision/generatepersonsegmentationrequest.md)
- [GenerateSelectedObjectSegmentationRequest](vision/generateselectedobjectsegmentationrequest.md)
- [RecognizeAnimalsRequest](vision/recognizeanimalsrequest.md)
- [RecognizeDocumentsRequest](vision/recognizedocumentsrequest.md)
- [RecognizeTextRequest](vision/recognizetextrequest.md)
- [TrackHomographicImageRegistrationRequest](vision/trackhomographicimageregistrationrequest.md)
- [TrackObjectRequest](vision/trackobjectrequest.md)
- [TrackOpticalFlowRequest](vision/trackopticalflowrequest.md)
- [TrackRectangleRequest](vision/trackrectanglerequest.md)
- [TrackTranslationalImageRegistrationRequest](vision/tracktranslationalimageregistrationrequest.md)

## See Also

### Protocols

- [ImageProcessingRequest](vision/imageprocessingrequest.md)
- [PoseProviding](vision/poseproviding.md)
- [StatefulRequest](vision/statefulrequest.md)
- [TargetedRequest](vision/targetedrequest.md)
- [VisionObservation](vision/visionobservation.md)
