<image source="image">
<caption source="caption"/>
</image>
Put that code in the (portable) infobox template.
It should look something like:
<infobox type="cosmeticbox">
<title source="title">
<default><div style="text-align: center;">{{PAGENAME}}</div></default>
<format><div style="text-align: center;">{{{title}}}</div></format>
</title>
<image source="image">
<caption source="caption"/>
</image>
<group>
<data source="cost">
<label>{{Label|Cost}}</label>
</data>
</group>
</infobox>
The image is set with "image" and its caption with "caption"