<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 15.4.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/VTFrameProcessor/process(parameters:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:objc(cs)VTFrameProcessor(im)processWithParameters:completionHandler:"
  },
  "title" : "process(parameters:completionHandler:)"
}
-->

# process(parameters:completionHandler:)

Asynchronously performs the video effect specified in the start session.

```
func process(parameters: any VTFrameProcessorParameters, completionHandler: @escaping @Sendable (any VTFrameProcessorParameters, (any Error)?) -> Void)
```

## Parameters

`parameters`

A [`VTFrameProcessorParameters`](/documentation/VideoToolbox/VTFrameProcessorParameters) object to specify additional parameters to use during processing. It needs to match the configuration type used during start session.

`completionHandler`

This completion handler is called when the frame processing is completed.  The completion handler will receive the same parameters object that was provided to the original call, as well as an NSError which will contain an error code if processing was not successful.

---

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)