// Save output video import Photos func saveVideo(url: URL, completion: @escaping (Error?) -> Void) { PHPhotoLibrary.shared().performChanges({ let assetChangeRequest = PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url) let assetPlaceholder = assetChangeRequest?.placeholderForCreatedAsset guard let albumChangeRequest = PHAssetCollectionChangeRequest(for: PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: nil).firstObject!) else { return } albumChangeRequest.addAssets([assetPlaceholder] as NSArray) }, completionHandler: { success, error in if success { print("Video saved successfully") completion(nil) } else { print("Error: \(error?.localizedDescription ?? "")") completion(error) } }) }