You can find the Photoshop frame tool in the toolbox.
You can create two types, rectangle and elliptical. You can also go to the properties panel (window menu) with the tool selected and change a variety of settings. You can set the width, height as well as origin via properties as well as what to insert into it such as find on Adobe stock but also what is in the library as well as place from a file. Weirdly, there is no clipboard option or from layer etc which is an oversight surely. There are also options from layer comps etc. Most of the time I get my material for the object from my library and simply drag the design from the library into the object but I guess if you have a large number of Adobe stock that maybe better.
You can also set a width for the design generated. With the object selected and the tool active you can go to the properties (window menu) and then set the width / stroke (outside or inside or center). You can set a gradient design as well as a pattern one but most of the stroke functionality is not there so you can't create a dashed object. You can then set the edge to a gradient of 20px or a pattern design of 40px
It is slightly odd in that if you have a rectangular design and an image, the object is created with nothing in it. Create an elliptical object and you have a layer, the image is added to that. If the image is locked, it just creates an elliptical object with nothing in it.
You can add an image to the object in four ways by placement, libraries and stock. Generally I use my libraries and simply select an image and then drag into the object and a little + will appear.
Once you have your image in the object (whatever the source) then you can also move it, you can move the contents, you can change the contents, you can re-size it as well as the contents etc. Go to the layers panel and you will see the object's entry and at the side, the content. Select the thumbnail and work with that, if it is the frame then select that one and if it is the content then select that. You can then re-size that item and move etc. Say, you want to re-size the content, select that in the layers and then re-size etc. You can also apply effects and other transforms such as perspective warp to the content, sadly not to the object itself.
You can also use the design as smart object. Layer menu and smart objects and convert to smart object. Note there seems to be an issue if you have a stroke added to your object using outside stroke it cuts it off, so perhaps use an inside stroke to avoid this. Convert to a smart object, select both entries, the object and content.
You can select the entry in the layers panel and go to the layer menu and layer mask and reveal and the mask will appear as the third box in the entry and you can then add brushes as well as pixel layers as well as gradients etc to the mask to limit the visibility / cover up imagery
You can use this as a template. The generated resources can be empty or they can be filled with placed files (or from other sources). You can draw out all the resources and have them nicely snap together and build a complex design of 10 or 20 items or a 100 items, all can be empty or filled as well. Save this to a PSD file or save it to the cloud server and re-use this later. Perhaps create 10 or 20 files with different layouts but all capable of accepting any number of images. Once you have your layout, you can go to to the layers panel and re-position the resources but you can also click on the second entry and then use the file menu and place (or other means) to bring in a file into that resource. You can then use the move tool to reszie that to fill the entire space or make it much bigger than than that placeholder or rotate the image or apply effects to the images and much more. They can be images of people or perhaps street scenes such as in London such as a set of pictures of the London Globe or the streets around there or St Pauls etc. You can add other visual effects such as adjustments etc