---
title: "downloadConfigurationModel(completionHandler:)"
framework: videotoolbox
role: symbol
role_heading: Instance Method
path: "videotoolbox/vtsuperresolutionscalerconfiguration/downloadconfigurationmodel(completionhandler:)"
---

# downloadConfigurationModel(completionHandler:)

Downloads models that the system needs for the current configuration.

## Declaration

```swift
func downloadConfigurationModel(completionHandler: @escaping @Sendable ((any Error)?) -> Void)
```

```swift
func downloadConfigurationModel() async throws
```

## Discussion

Discussion This method downloads model assets required for the current configuration in background. You should call this method if configurationModelStatus is VTSuperResolutionScalerConfigurationModelStatusDownloadRequired. After this method is called, you can query configurationModelPercentageAvailable to determine progress of model asset download process. If the download fails, the completion handler is invoked with an NSError, and the configurationModelStatus goes back to VTSuperResolutionScalerConfigurationModelStatusDownloadRequired. If the download succeeds, the completion handler is invoked with nil NSError.

## See Also

### Managing the configuration model

- [configurationModelStatus](videotoolbox/vtsuperresolutionscalerconfiguration/configurationmodelstatus.md)
- [VTSuperResolutionScalerConfiguration.ModelStatus](videotoolbox/vtsuperresolutionscalerconfiguration/modelstatus.md)
- [configurationModelPercentageAvailable](videotoolbox/vtsuperresolutionscalerconfiguration/configurationmodelpercentageavailable.md)
