In WP, media that could be available for download is typically kept in /wp-content/uploads/. While you could simply move the files there, in doing so, WP would not know anything about the files. For WP to know about them, they’d each need an attachment post type created for them. I don’t know if there is a bulk uploads plugin or not, it’s worth doing a search. Such a plugin likely assumes you want to upload from a local computer. It’d be a shame to need to download them only to upload back again, but if that’s what it takes to get things working, then it may be necessary. Obviously WP has its own multi-file upload capability, but there’s a practical limit on how many files it can do at once. I don’t know what the limit is, it’s likely not that large.
Failing that, the key to creating an attachment for a media file is wp_handle_sideload() (when the file is already online and doesn’t need to be uploaded from a local computer). You could create a bulk sideload script around this function that moves the media files to /uploads/ while creating an attachment post for each. This would be best done in smaller batches to avoid time-out issues. You could schedule (via wp-cron) a recurring script to periodically run until there are no more files to move.