         #endif
     }
 
+    /// Starts prefetching images for the given URL.
+    public func startPrefetching(with urls: [URL]) {
+        startPrefetching(with: urls.map { ImageRequest(url: $0) })
+    }
+
     /// Starts prefetching images for the given requests.
     ///
     /// When you need to display the same image later, use the ``ImagePipeline``

        }
    }

    /// Stops prefetching images for the given requests and cancels outstanding
    /// requests.
    ///
    /// You don't need to balance the number of `start` and `stop` requests.
    /// If you have multiple screens with prefetching, create multiple instances
    /// of ``ImagePrefetcher``.
    public func stopPrefetching(with requests: [any ImageRequestConvertible]) {
        pipeline.queue.async {
            for request in requests {
                self._stopPrefetching(with: request.asImageRequest())

    ///
    /// The priority of the requests is set to the priority of the prefetcher
    /// (`.low` by default).
    public func startPrefetching(with requests: [ImageRequest]) {
        pipeline.queue.async {
            for request in requests {
                var request = request.asImageRequest()
