1. An image processing apparatus comprising: a hardware resource that includes at least one of an image forming unit, a read unit, and a display unit; a first control program; a second control program; and an application program, wherein the hardware resource and the programs are arranged in such a hierarchical architecture that the first control program is superordinate to the hardware resource, and the application program and the second control program are superordinate to the first control program, the first control program includes a first API (application program interface) for receiving a first request relating to image processing from the second control program and a second request relating to image processing from the application program, and controls, on receiving either of the first and second requests, the hardware resource to perform image processing based on the received request, and the second control program includes a second API publicly released in advance for receiving a third request relating to image processing from an external source, converts the received third request to a command supported by the first API, and passes the command as the first request to the first control program.