A method implemented in a makeup application device utilized by a makeup professional, comprising: obtaining a makeup consultation request from a user of a client device (122a, 122b, 122c); obtaining at least one digital image of a facial region of the user from the client device (122a, 122b, 122c); generating a three-dimensional facial model based on the at least one digital image; obtaining user input from the makeup professional for applying virtual cosmetic effects to the 3D facial model; generating a command based on the user input from the makeup professional for applying a virtual cosmetic effect; and transmitting the command to the client device (122a, 122b, 122c), the command causing a virtual cosmetic effect to be applied to the at least one digital image of the facial region of the user and displaying the at least one digital image, wherein obtaining user input from the makeup professional for applying virtual cosmetic effects to the 3D facial model comprises: obtaining a zoom level from the makeup professional and displaying the 3D facial model according to the zoom level; obtaining an enable input from the makeup professional, the enable input specifying whether to allow the client device to display application of the virtual cosmetic effect at the zoom level; and obtaining a location on the 3D facial model and applying a cosmetic effect to the location on the 3D facial model, wherein the command causes the client device to display application of the virtual cosmetic effect to the at least one digital image of the facial region of the user at the zoom level obtained from the makeup professional according to the enable input. obtaining a makeup consultation request from a user of a client device (122a, 122b, 122c); obtaining at least one digital image of a facial region of the user from the client device (122a, 122b, 122c); generating a three-dimensional facial model based on the at least one digital image; obtaining user input from the makeup professional for applying virtual cosmetic effects to the 3D facial model; generating a command based on the user input from the makeup professional for applying a virtual cosmetic effect; and transmitting the command to the client device (122a, 122b, 122c), the command causing a virtual cosmetic effect to be applied to the at least one digital image of the facial region of the user and displaying the at least one digital image, wherein obtaining user input from the makeup professional for applying virtual cosmetic effects to the 3D facial model comprises: obtaining a zoom level from the makeup professional and displaying the 3D facial model according to the zoom level; obtaining an enable input from the makeup professional, the enable input specifying whether to allow the client device to display application of the virtual cosmetic effect at the zoom level; and obtaining a location on the 3D facial model and applying a cosmetic effect to the location on the 3D facial model, obtaining a zoom level from the makeup professional and displaying the 3D facial model according to the zoom level; obtaining an enable input from the makeup professional, the enable input specifying whether to allow the client device to display application of the virtual cosmetic effect at the zoom level; and obtaining a location on the 3D facial model and applying a cosmetic effect to the location on the 3D facial model, wherein the command causes the client device to display application of the virtual cosmetic effect to the at least one digital image of the facial region of the user at the zoom level obtained from the makeup professional according to the enable input.