Update recipes to use generic uploadImage functions