A referência wp_insert_attachment() inclui
wp_insert_attachment( $attachment, $filename, $parent_post_id );
e você precisa especificar $parent_post_id. Em outras palavras, você precisa inserir algo na tabela de posts antes para especificar o post_id desse registro.
No entanto, se você quiser registrar novas informações sobre imagens, mas ainda não há um post vinculado, não há post_id, então pesquisei o que fazer.
Segui a fonte do WP e realmente testei,
wp_insert_attachment( $attachment, $filename, 0 );
$parent_post_id = 0 para inserir um novo.
Aliás, $attachment tem
$wp_filetype = wp_check_filetype(basename($filename), null );
$wp_upload_dir = wp_upload_dir();
$attachment = array(
'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
'post_mime_type' => $wp_filetype['type'],
'post_title' => preg_replace('/\.[ ^.] +$/', '', nome base($filename)),
'post_content' =>'',
'post_status' = > 'herdar'
);
Basta colocar as informações da imagem que você enviou com antecedência.
Agora, você pode registrar novas informações de imagem uma após a outra.