Bulk image imports get a defined workflow in Cloudflare Images
Since Cloudflare Images launched, customers have had several ways to get images into the product: drag-and-drop in the dashboard, direct API uploads, uploads by URL, and custom IDs to map their own paths and file names to delivered objects. For teams serving through a custom hostname, Cloudflare has also supported using their own domain for delivery.
What has been missing is a way to point Cloudflare at a large remote repository and let it handle the migration itself. Customers with millions of objects in external storage face a choice: script the transfer themselves or keep serving from the remote source and pay egress fees. Cloudflare is addressing that gap with the new Images Sourcing Kit.
A structured import workflow
The Sourcing Kit gives you a defined process for bulk imports instead of ad-hoc scripting. Its core capabilities:
- Define one or multiple image repositories for bulk import
- Reuse source definitions to import only new images added since the last run
- Filter the source so only valid images are imported, not unrelated object types
- Set the target path and filename for imported images
- Review logs from bulk operations
This covers two common situations. In the first, a customer has a bucket holding millions of images that need a one-time migration to Cloudflare Images, after which the external storage can be dropped. In the second, different departments within a larger organization run separate storage repositories and feed them at different times with uneven volumes; the Sourcing Kit lets them reuse source definitions to keep their Cloudflare catalog current without paying egress for direct delivery from multiple providers.
Setting up a source
In the Cloudflare Dashboard, the Sourcing Kit appears under Images. From there you can create a source definition, view existing ones, and check the status of recent operations. Creating a source launches a wizard that walks through the first import.

You start by giving the source a name and providing its URL. Once validations pass, you can set the import rules. The optional prefix path gives you a way to tag images with a unique identifier for the source—useful for telling apart images imported from different buckets, and for preventing path collisions.

The naming rule preserves the source image's path and filename. For example, an image stored at:
https://my-bucket.s3.us-west-2.amazonaws.com/folderA/puppy.png
When imported without a path prefix, will be available at:
https://imagedelivery.net/<AccountId>/folderA/puppy.png
Adding a prefix like techwriting to identify the source department changes the delivered path to:
https://imagedelivery.net/<AccountId>/techwriting/folderA/puppy.png
By default, the kit does not overwrite existing images, but you can opt to do so—useful when re-running a source to refresh the catalog.
Running and monitoring imports
After defining the rules, clicking Create and start migration begins the upload process. The final screen of the wizard shows the migration's progress, and an error log reports any failed uploads. That log is also downloadable.

Source definitions can be edited or deleted whenever no operation is running. From the kit's home page, you can check the status of an ongoing or most recent migration and return to its full report.
Beta scope and roadmap
The beta version of the Sourcing Kit supports AWS S3 buckets as image sources. Cloudflare plans to extend this to other common repositories, including Azure Storage Accounts and Google Cloud Storage, and to expose the full workflow through a CLI—from source definition to upload start and final report retrieval. The beta is rolling out in the coming weeks; access to the waitlist is available from the Cloudflare Images dashboard.



