1. An image processing apparatus comprising: a storage configured to store an additional program having an interface configured to switch processing using first-choice hardware to processing using an alternative to the first-choice hardware depending on usage of the first-choice hardware; and a controller that, in response to processing related to the additional program being executed, is configured to execute the processing related to the additional program on image data by using the first-choice hardware or the alternative depending on the usage of the first-choice hardware, wherein the addition, program is a program configured to transfer the image data to an external apparatus, wherein the first-choice hardware is a first storage, and the alternative is a second storage having a data transfer rate that is lower than a data transfer rate of the first storage, and wherein in response to the first storage having a sufficient available data capacity to transfer the image data, the controller is configured to store the image data in the first storage, and execute the additional program so as to transfer the image data stored in the first storage to the external apparatus, and wherein, in response to the first storage not having the sufficient available data capacity to transfer the image data, the controller is configured to store the image data in the second storage, and execute the additional program so as to transfer the image data stored in the second storage to the external apparatus.