You can create a multiple-value field collection field.
In the "field collection item" entity type, you can create the fields for the image and body text.
Afaik, the built-in image field type does not really work with external images. This problem is discussed here: Linking image field to an external URL
And now for the output.
Under "manage display" of the field collection item, use Display suite, with ds_extras enabled. Choose "Reset" as the layout (which will disable all divs that wrap the field collection item). Then create a ds custom field using token, and use it to put the other fields into your custom html.
Or alternatively, override field-collection-item.tpl.php in your theme, or better, override field-collection-item--field-xyz.tpl.php. I am not sure which exact template suffix to use to target the specific field collection item type. You should play around a bit and then we can update the answer based on your findings.