<!--
{
  "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/PHAsset/requestContentEditingInput(with:completionHandler:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Photos"
    ],
    "preciseIdentifier" : "c:objc(cs)PHAsset(im)requestContentEditingInputWithOptions:completionHandler:"
  },
  "title" : "requestContentEditingInput(with:completionHandler:)"
}
-->

# requestContentEditingInput(with:completionHandler:)

Requests asset information for beginning a content editing session.

```
func requestContentEditingInput(with options: PHContentEditingInputRequestOptions?, completionHandler: @escaping (PHContentEditingInput?, [AnyHashable : Any]) -> Void) -> PHContentEditingInputRequestID
```

## Parameters

`options`

Options affecting how Photos handles an edit session request.

`completionHandler`

A block that Photos calls when the requested asset editing information is ready.

    The block takes the following parameters:

- contentEditingInput: An object that describes the asset for editing and provides methods for loading the image or video content to be edited.
- info: A dictionary providing information about the status of the request. See <doc://com.apple.photokit/documentation/PhotoKit/editing-request-info-keys> for possible keys and values.

    In iOS 10.0, tvOS 10.0, and later, Photos always calls this block on the main queue. In earlier releases, Photos calls this block on an arbitrary serial queue—if your block needs to update the UI, dispatch that work to the main queue.

## Return Value

A numeric identifier for the request. Pass this identifier to the [`cancelContentEditingInputRequest(_:)`](/documentation/Photos/PHAsset/cancelContentEditingInputRequest(_:)) method if you need to cancel the request before it completes.

## Discussion

When you call this method, Photos downloads the asset’s image or video data (if necessary) and prepares it for editing, then calls your `completionHandler` block to provide a [`PHContentEditingInput`](/documentation/Photos/PHContentEditingInput) object you use for editing.

To complete the edit, create a [`PHContentEditingOutput`](/documentation/Photos/PHContentEditingOutput) object from the editing input to provide the edited asset data. Then, commit the edit by posting a change block to the shared [`PHPhotoLibrary`](/documentation/Photos/PHPhotoLibrary) object. In the block, create a [`PHAssetChangeRequest`](/documentation/Photos/PHAssetChangeRequest) object and set its [`contentEditingOutput`](/documentation/Photos/PHAssetChangeRequest/contentEditingOutput) property to the editing output you created.

---

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)