<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.15.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PhotoKit",
  "identifier" : "/documentation/Photos/PHImageManager/requestAVAsset(forVideo:options:resultHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Photos"
    ],
    "preciseIdentifier" : "c:objc(cs)PHImageManager(im)requestAVAssetForVideo:options:resultHandler:"
  },
  "title" : "requestAVAsset(forVideo:options:resultHandler:)"
}
-->

# requestAVAsset(forVideo:options:resultHandler:)

Requests AVFoundation objects representing the video asset’s content and state, to be loaded asynchronously.

```
func requestAVAsset(forVideo asset: PHAsset, options: PHVideoRequestOptions?, resultHandler: @escaping (AVAsset?, AVAudioMix?, [AnyHashable : Any]?) -> Void) -> PHImageRequestID
```

## Parameters

`asset`

The video asset for which video objects are to be loaded.

`options`

Options specifying how Photos should handle the request and notify your app of progress or errors. For details, see [`PHVideoRequestOptions`](/documentation/Photos/PHVideoRequestOptions).

`resultHandler`

A block that Photos calls after loading the asset’s data.

    The block takes the following parameters:

- asset: An object that provides access to the video asset as a collection of tracks and metadata. For details on working with <doc://com.apple.documentation/documentation/AVFoundation/AVAsset> objects, see [AVFoundation Programming Guide](https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40010188).
- audioMix: Use this object to rearrange the asset’s audio tracks, edit additional audio into the mix, or configure an <doc://com.apple.documentation/documentation/AVFoundation/AVAssetReaderOutput> object for exporting the asset’s audio data. If `nil`, the asset uses a default audio mix.
- info: A dictionary providing information about the status of the request. See <doc://com.apple.photokit/documentation/PhotoKit/image-result-info-keys> for possible keys and values.

## Return Value

A numeric identifier for the request. If you need to cancel the request before it completes, pass this identifier to the [`cancelImageRequest(_:)`](/documentation/Photos/PHImageManager/cancelImageRequest(_:)) method.

## Discussion

When you call this method, Photos downloads the video data (if necessary) and creates AVFoundation objects. It then calls your `resultHandler` block to provide the requested video.

Use this method when you want to work with the arrangement of audio and video tracks that an asset contains. If you plan to use the asset only for playback, call the [`requestPlayerItem(forVideo:options:resultHandler:)`](/documentation/Photos/PHImageManager/requestPlayerItem(forVideo:options:resultHandler:)) method. If you plan to export the asset data, call the [`requestExportSession(forVideo:options:exportPreset:resultHandler:)`](/documentation/Photos/PHImageManager/requestExportSession(forVideo:options:exportPreset:resultHandler:)) method.

---

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)