<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 14.0.0 -",
    "macOS: 10.11.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PhotoKit",
  "identifier" : "/documentation/PhotosUI/PHContentEditingController/startContentEditing(with:placeholderImage:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "PhotosUI"
    ],
    "preciseIdentifier" : "c:objc(pl)PHContentEditingController(im)startContentEditingWithInput:placeholderImage:"
  },
  "title" : "startContentEditing(with:placeholderImage:)"
}
-->

# startContentEditing(with:placeholderImage:)

Tells your extension that asset data is available for editing.

```
func startContentEditing(with contentEditingInput: PHContentEditingInput, placeholderImage: NSImage)
```

## Parameters

`contentEditingInput`

An object that describes the asset to be edited.

`placeholderImage`

An image representing the current state of the asset suitable for temporarily displaying in your extension’s UI.

## Discussion

Photos calls this method before your extension view controller’s view appears.

For a photo asset, use the [`displaySizeImage`](/documentation/Photos/PHContentEditingInput/displaySizeImage) property of the provided [`PHContentEditingInput`](/documentation/Photos/PHContentEditingInput) object to perform editing in your extension’s UI. If your extension returned `true` from the [`canHandle(_:)`](/documentation/PhotosUI/PHContentEditingController/canHandle(_:)) method, this image represents the previous version of the asset—you need to use the [`adjustmentData`](/documentation/Photos/PHContentEditingInput/adjustmentData) object to reconstruct the last edit made to the asset. Because asynchronously rendering the results of the previous edit may take some time, you can display the `placeholderImage` until your extension is ready to begin editing.

You don’t need to use the content editing input’s [`fullSizeImageURL`](/documentation/Photos/PHContentEditingInput/fullSizeImageURL) property until the user has finished editing and you need to render final output.

For a video asset, use the [`PHContentEditingInput`](/documentation/Photos/PHContentEditingInput) object to retrieve AVFoundation objects for editing audio and video content.

---

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)