For upload from external url you should use media_sideload_image
function. I assume $posterurl
is url of external image, after wp_insert_post
add below code in if($movie_id){}
block. It will upload image from external url to this post and if you want to set this image as post feature image use set_post_thumbnail
otherwiase comment that line. and save a image url as post meta field in poster_path
meta key.
# $posterurl third party url
if(!empty($posterurl)) {
require_once(ABSPATH . 'wp-admin/includes/media.php');
require_once(ABSPATH . 'wp-admin/includes/file.php');
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_id = media_sideload_image($posterurl,$movie_id,'','id');
# set post thumbnail for post
set_post_thumbnail( $movie_id, $attach_id );
# save meta field for poster path
update_post_meta($movie_id, 'poster_path', esc_attr(strip_tags($posterurl)));
}