Hi,
Not sure if it can be done from backend as there is no API(I am not aware of any)
But the logic is at client side - http://localhost:4502/libs/cq/gui/components/common/wcm/clientlibs/wcm.js
function generate(component) {
var activator = component.find(".cq-wcm-pagethumbnail-activator").prop("disabled", true);
wait(component);
var path = component.data("cqWcmPagethumbnailPath");
var isTemplate = component.data("isTemplate") || false;
var dest = isTemplate ? "thumbnail.png.sftmp" : "file.sftmp";
var pgen = new CQ.Siteadmin.PagePreview();
pgen.generatePreview(path, dest, isTemplate, function(data) {
// use attr() instead of prop() for action, so that no domain is appended
if(isTemplate) {
setValue(component, "./thumbnail.png@MoveFrom", component.closest("form").attr("action") + "/" + dest);
} else {
setValue(component, "./image/file@MoveFrom", component.closest("form").attr("action") + "/image/" + dest);
}
clearWait(component, data);
activator.prop("disabled", false);
});
}