---
title: PHContentEditingInput
framework: photos
role: symbol
role_heading: Class
path: photos/phcontenteditinginput
---

# PHContentEditingInput

A container that provides information about and access to the image, video, or Live Photo content of an asset to be edited.

## Declaration

```swift
class PHContentEditingInput
```

## Mentioned in

Creating Photo Editing Extensions Displaying Live Photos Editing Asset Content

## Overview

Overview To edit an asset’s photo or video content: Fetch a PHAsset object that represents the photo or video to be edited. Call the asset’s requestContentEditingInput(with:completionHandler:) method to retrieve a PHContentEditingInput object. Apply your edits to the asset. To allow a user to continue working with the edit later (for example, to adjust the parameters of a photo filter), create a PHAdjustmentData object describing the changes. Initialize a PHContentEditingOutput object. For photo- or video-only assets, use the editing output’s properties to provide edited asset data. For Live Photo assets, create a PHLivePhotoEditingContext object to edit the Live Photo content. Use a photo library change block to commit the edit. In the block, create a PHAssetChangeRequest object and set its contentEditingOutput property to the editing output that you created. For more details, see PHPhotoLibrary. You can also edit assets from photo editing extensions. In this case, instead of working with a PHAsset object, you implement methods in the PHContentEditingController protocol. Photos provides a PHContentEditingInput object when your extension begins editing. When editing is complete, Photos requests a PHContentEditingOutput object that contains the edited asset content.

## Topics

### Getting Information About the Asset

- [mediaType](photos/phcontenteditinginput/mediatype.md)
- [PHAssetMediaType](photos/phassetmediatype.md)
- [mediaSubtypes](photos/phcontenteditinginput/mediasubtypes.md)
- [PHAssetMediaSubtype](photos/phassetmediasubtype.md)
- [creationDate](photos/phcontenteditinginput/creationdate.md)
- [location](photos/phcontenteditinginput/location.md)
- [uniformTypeIdentifier](photos/phcontenteditinginput/uniformtypeidentifier.md)

### Working with Previous Edits

- [adjustmentData](photos/phcontenteditinginput/adjustmentdata.md)

### Working with Photo Assets

- [displaySizeImage](photos/phcontenteditinginput/displaysizeimage.md)
- [fullSizeImageOrientation](photos/phcontenteditinginput/fullsizeimageorientation.md)
- [fullSizeImageURL](photos/phcontenteditinginput/fullsizeimageurl.md)

### Working with Video Assets

- [audiovisualAsset](photos/phcontenteditinginput/audiovisualasset.md)
- [avAsset](photos/phcontenteditinginput/avasset.md)

### Working with Live Photo Assets

- [livePhoto](photos/phcontenteditinginput/livephoto.md)
- [playbackStyle](photos/phcontenteditinginput/playbackstyle.md)
- [PHAsset.PlaybackStyle](photos/phasset/playbackstyle-swift.enum.md)

### Instance Properties

- [contentType](photos/phcontenteditinginput/contenttype.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Editing an Asset

- [Editing Asset Content](photokit/editing-asset-content.md)
- [PHContentEditingOutput](photos/phcontenteditingoutput.md)
- [PHAdjustmentData](photos/phadjustmentdata.md)
- [PHContentEditingInputRequestOptions](photos/phcontenteditinginputrequestoptions.md)
- [PHLivePhotoEditingContext](photos/phlivephotoeditingcontext.md)
- [PHLivePhotoFrame](photos/phlivephotoframe.md)
- [canPerform(_:)](photos/phasset/canperform(_:).md)
- [PHAssetEditOperation](photos/phasseteditoperation.md)
- [requestContentEditingInput(with:completionHandler:)](photos/phasset/requestcontenteditinginput(with:completionhandler:).md)
- [cancelContentEditingInputRequest(_:)](photos/phasset/cancelcontenteditinginputrequest(_:).md)
- [PHContentEditingInputRequestID](photos/phcontenteditinginputrequestid.md)
- [Editing Request Info Keys](photokit/editing-request-info-keys.md)
