To migrate your existing images to Cloudinary, you can write a short script that traverses your images and upload them one-by-one using Cloudinary's upload API.
Cloudinary has client integration libraries for many development languages and frameworks which will simplify the calls to our upload API and allow you to integrate Cloudinary upload into your existing workflows.
If you are using Ruby, Cloudinary's Ruby GEM includes a Migrator tool for managing the migration process for you automatically: https://cloudinary.com/documentation/rails_image_and_video_upload#migrating_assets_to_cloudinary
To speed up the upload process, you can provide a file's existing HTTP/HTTPS, S3 or Google Cloud Storage URL as the file parameter to our upload API instead of sending the actual data. This allows for a much faster migration process because we can retrieve the images from the specified location instead of your code needing to download and upload the files to us.
To specify S3 or Google Cloud Storage URLs, please ensure that the bucket can be accessed by Cloudinary and that you've specified which Cloudinary accounts should be allowed to copy images from the bucket: https://cloudinary.com/documentation/upload_images#private_storage_url
Another option to help you migrate existing resources automatically is our auto-upload remote resources feature, which allows you to link a folder in your Cloudinary account with a corresponding folder on your existing server or in an existing Amazon S3 bucket or Google Cloud Storage bucket
Finally, using our Media Library UI you can also upload multiple files at once, including dragging and dropping folders onto the Media Library window: https://cloudinary.com/documentation/dam_upload_store_assets#upload_options