def analyze_image(url, visual_features:nil, details:nil, language:nil, custom_headers:nil)
      response = analyze_image_async(url, visual_features:visual_features, details:details, language:language, custom_headers:custom_headers).value!
      response.body unless response.nil?
    end
def analyze_image(url, visual_features:nil, details:nil, language:nil, custom_headers:nil)
      response = analyze_image_async(url, visual_features:visual_features, details:details, language:language, custom_headers:custom_headers).value!
      response.body unless response.nil?
    end
This operation extracts a rich set of visual features based on the image
 content.
 Two input methods are supported -- (1) Uploading an image or (2) specifying
 an image URL. Within your request, there is an optional parameter to allow
 you to choose which features to return. By default, image categories are
 returned in the response.
 A successful response will be returned in JSON. If the request failed, the
 response will contain an error code and a message to help understand what
 went wrong.

 @param url [String] Publicly reachable URL of an image.
 @param visual_features [Array<VisualFeatureTypes>] A string indicating what
 visual feature types to return. Multiple values should be comma-separated.
 Valid visual feature types include: Categories - categorizes image content
 according to a taxonomy defined in documentation. Tags - tags the image with
 a detailed list of words related to the image content. Description -
 describes the image content with a complete English sentence. Faces - detects
 if faces are present. If present, generate coordinates, gender and age.
 ImageType - detects if image is clipart or a line drawing. Color - determines
 the accent color, dominant color, and whether an image is black&white. Adult
 - detects if the image is pornographic in nature (depicts nudity or a sex
 act).  Sexually suggestive content is also detected. Objects - detects
 various objects within an image, including the approximate location. The
 Objects argument is only available in English. Brands - detects various
 brands within an image, including the approximate location. The Brands
 argument is only available in English.
 @param details [Array<Details>] A string indicating which domain-specific
 details to return. Multiple values should be comma-separated. Valid visual
 feature types include: Celebrities - identifies celebrities if detected in
 the image, Landmarks - identifies notable landmarks in the image.
 @param language [Enum] The desired language for output generation. If this
 parameter is not specified, the default value is &quot;en&quot;.Supported
 languages:en - English, Default. es - Spanish, ja - Japanese, pt -
 Portuguese, zh - Simplified Chinese. Possible values include: 'en', 'es',
 'ja', 'pt', 'zh'
 @param custom_headers [Hash{String => String}] A hash of custom headers that
 will be added to the HTTP request.

 @return [ImageAnalysis] operation results.