pvesh / API KWM commands

KVM is fully-virtualized, so without proper guest integration, this is not possible. For Linux this could be easily done, but if you integrate such a feature, it should work with every major os, which is not easy to do and not really the task of a hypervisor. Therefore it is not implemented in other virtualization tools like VMware, Hyper-V or others for all operating systems.
 
Make sense.

The goal here is to setup Proxmox such that VMs can be provisioned based on an existing image and then things like Hostname, IP, Root Password automatically customised on the VM.

What are the options to get this done?
 
I only use images for Windows-based systems, Linux I always install via PXE boot and customize via kickstart/preseed, so that all recent security updates are already included. You can also use ansible/chef/puppet for customising the image after installation. Hostname and IP are already taken care of via DHCP.