1. A computer-implemented method to provide visual modification to an image, the method comprising: determining a set of characteristics of the image; applying one or more first visual modifications to the image based on one or more characteristics of the set of characteristics of the image, wherein the applying comprises changing pixel values of a first plurality of pixels of the image; receiving user input defining user text, wherein the user text has a semantic meaning that indicates image content that is not previously detected in the image; adding the user text into the image as a second visual modification to the image, wherein adding the user text includes changing pixel values of a second plurality of pixels of the image; and selecting and applying one or more third visual modifications to the image in response to receiving the user input defining the user text, wherein the one or more third visual modifications are selected based on a stored association with the image content indicated by the semantic meaning of the user text and based on a stored association with at least one characteristic of the set of characteristics of the image, wherein the one or more third visual modifications include changing pixel values of one or more particular pixels of the image, wherein the one or more particular pixels include pixels different from the second plurality of pixels and pixels that are excluded from all text in the image after the one or more third visual modifications are applied, wherein applying the one or more third visual modifications includes applying one or more edit operations to the image, wherein the one or more edit operations produce at least one of a vintage effect, a lens flare effect, a vignette effect, or a blur effect in the image.