Get only one custom post from each category

You probably need to use a taxonomy query rather than the terms field (I don’t see terms as a valid parameter on WordPress’s WP_Query documentation page). This stackexchange question and answer should provide you with the necessary code to do what you are trying to do.

If, however, the categories are not custom taxonomies (or really are just categories), then you might be able to use one of the approaches here.