Group fields obtained after join as attributes of the main entity object
In PostgreSQL, it is possible to create an array containing tuples:

SELECT name,
       (SELECT array_agg((image, type))
        FROM image
        WHERE item_id = item.id
       ) AS images
FROM item;


Alternatively, use an array containing another array:

SELECT name,
       (SELECT array_agg(ARRAY[image, type])
        ...


(Whether your language's database driver supports any of these types in the result is another question&nbsp;…)