1. A computer-implemented method for transforming data to generate a layout, the computer-implemented method comprising performing computer-implemented operations for: executing a layout generator at a computing device to obtain the data, the data comprising an image and at least one of text or another element of content; analyzing the image, using the layout generator, to identify: a salient region of the image, the salient region comprising a subject of the image; and an invariant region of the image, at least one of color variation, luminance variation, sharpness variation, blur variation, or pattern variation of the invariant region being below a threshold to achieve a contrast between the text and the image; comparing the data to a plurality of designs; selecting a design of the plurality of designs to generate the layout, the design comprising a viewport frame, a salient region placement frame, and a text placement frame, and the selecting being based at least in part on: determining that the salient region corresponds to the salient region placement frame; and determining that the invariant region corresponds to the text placement frame; and generating the layout based at least in part on: placing the image such that at least a first portion of the salient region is located in a first position corresponding to the salient region placement frame; and placing at least one of the text or other element of content such that at least a second portion of the at least one of the text or other element of content is located in a second position corresponding to the text placement frame.