There are several approaches to a solution, but this may be one of the simplest (depending upon your needs):
Select the feature using QgsVectorLayer
Assuming a reference to your vector layer (vlayer) and the feature's id (fid). See also
Zoom to selected feature using QgsInterface
Deselect feature using QgsVectorLayer
Save canvas as picture using QgsMapCanvas
This approach produces as large a photo as possible, if your window is expanded to full, because saving the canvas is at screen resolution. However, it does not ensure your pictures will be at the same map zoom scale, only relatively the same pixel size. There are other options like
QgisInterface::actionPanToSelected() if you need to keep the zoom scale consistent.