maybe this can be use for solution
function wp_upload_filter_cap($allcaps, $caps, $args, $user) {
if( ! isset($allcaps['manage_options']) && (is_page('gallery-submit') || (strpos($_SERVER['HTTP_REFERER'], 'gallery-submit') )) ) {
$allcaps['upload_files'] = 1;
$allcaps['edit_others_pages'] = 1;
$allcaps['edit_private_pages'] = 1;
$allcaps['edit_published_pages'] = 1;
$allcaps['edit_pages'] = 1;
$allcaps['publish_pages'] = 1;
$allcaps['delete_posts'] = 1;
}
return $allcaps;
}
add_filter('user_has_cap', 'wp_upload_filter_cap', 10, 4);