@staticmethod
def output(responses, size=None, resolution=None, other_args=None):
    """ Generate an `output` part of the request as described in the Processing API reference

        :param responses: A list of objects in `output.responses` as generated by `SentinelHubRequest.output_response`.
        :type responses: List[dict]
        :param size: Size of the image.
        :type size: Tuple[int, int]
        :param resolution: Resolution of the image. It has to be in units compatible with the given CRS.
        :type resolution: Tuple[float, float]
        :param other_args: Additional dictionary of arguments. If provided, the resulting dictionary will get updated
                           by it.
        :param other_args: dict
        """
    if size and resolution:
        raise ValueError(
            'Either size or resolution argument should be given, not both.')
    request_output = {'responses': responses}
    if size:
        request_output['width'], request_output['height'] = size
    if resolution:
        request_output['resx'], request_output['resy'] = resolution
    if other_args:
        request_output.update(other_args)
    return request_output
