A computer implemented method for detecting space suitable for overlaying media content onto an image (100, 200), the method comprising: training a neural network using a plurality of images (408, 410), each of the plurality of images (408, 410) corresponding to one or more vectors, each vector comprising: a coordinate representing a point associated with a bounding box (202, 222) in a corresponding image, and a dimension of the bounding box (202, 222), wherein each bounding box (202, 222) is suitable for media content overlay; receiving by a media content insertion system (160, 1000) a candidate image for a media content overlay; inputting the candidate image into the neural network; outputting, by the neural network, one or more bounding boxes as one or more data structures, each of which comprises at least a coordinate representing a point associated with the bounding box (202, 222), a dimension of the bounding box (202, 222), and a probability that the bounding box (202, 222) is located in an area suitable for the media content overlay; for at least one of the one or more bounding boxes, determining whether the probability meets a threshold probability; responsive to determining that the probability meets the threshold probability, determining that the bounding box (202, 222) is a candidate bounding box of the candidate image; receiving, from the neural network, the data structure corresponding to the candidate bounding box of the candidate image; transmitting a request for a media content item to be displayed in the candidate bounding box, the request comprising the dimension of the candidate bounding box; receiving the media content item in response to the request; and causing a display of the candidate image and the media content item overlaid on top of the candidate image within the candidate bounding box. training a neural network using a plurality of images (408, 410), each of the plurality of images (408, 410) corresponding to one or more vectors, each vector comprising: a coordinate representing a point associated with a bounding box (202, 222) in a corresponding image, and a dimension of the bounding box (202, 222), wherein each bounding box (202, 222) is suitable for media content overlay; receiving by a media content insertion system (160, 1000) a candidate image for a media content overlay; inputting the candidate image into the neural network; outputting, by the neural network, one or more bounding boxes as one or more data structures, each of which comprises at least a coordinate representing a point associated with the bounding box (202, 222), a dimension of the bounding box (202, 222), and a probability that the bounding box (202, 222) is located in an area suitable for the media content overlay; for at least one of the one or more bounding boxes, determining whether the probability meets a threshold probability; responsive to determining that the probability meets the threshold probability, determining that the bounding box (202, 222) is a candidate bounding box of the candidate image; receiving, from the neural network, the data structure corresponding to the candidate bounding box of the candidate image; transmitting a request for a media content item to be displayed in the candidate bounding box, the request comprising the dimension of the candidate bounding box; receiving the media content item in response to the request; and causing a display of the candidate image and the media content item overlaid on top of the candidate image within the candidate bounding box.