This is also possible through layer styling by using a combination of a Geometry generator to create rectangular polygon placeholders for the image, and then Raster Image fill to insert the images. The raster location property can be data defined, but I haven't tested whether it will work with URL sources.
Example:
Geometry generator expression to convert a point into a rectangle 400 x 220 map units across (matching the photo aspect ratio):
bounds( make_line(
translate( $geometry , -200, -110),
translate( $geometry , 200, 110)
)
)
Now give the rectangle a raster fill of a photo:
(Using QGIS 2.18.15 x64 on Windows 10)