"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Analyze = void 0;
const analyzeAiVisionGeneral_js_1 = require("../funcs/analyzeAiVisionGeneral.js");
const analyzeAiVisionModeration_js_1 = require("../funcs/analyzeAiVisionModeration.js");
const analyzeAiVisionTagging_js_1 = require("../funcs/analyzeAiVisionTagging.js");
const analyzeCaptioning_js_1 = require("../funcs/analyzeCaptioning.js");
const analyzeCldFashion_js_1 = require("../funcs/analyzeCldFashion.js");
const analyzeCldText_js_1 = require("../funcs/analyzeCldText.js");
const analyzeCoco_js_1 = require("../funcs/analyzeCoco.js");
const analyzeGoogleLogoDetection_js_1 = require("../funcs/analyzeGoogleLogoDetection.js");
const analyzeGoogleTagging_js_1 = require("../funcs/analyzeGoogleTagging.js");
const analyzeHumanAnatomy_js_1 = require("../funcs/analyzeHumanAnatomy.js");
const analyzeImageQuality_js_1 = require("../funcs/analyzeImageQuality.js");
const analyzeLvis_js_1 = require("../funcs/analyzeLvis.js");
const analyzeShopClassifier_js_1 = require("../funcs/analyzeShopClassifier.js");
const analyzeUnidet_js_1 = require("../funcs/analyzeUnidet.js");
const analyzeWatermarkDetection_js_1 = require("../funcs/analyzeWatermarkDetection.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
class Analyze extends sdks_js_1.ClientSDK {
    /**
     * Analyze - AI Vision General
     *
     * @remarks
     * The General mode serves a wide array of applications by providing detailed answers to diverse questions about an image. Users can inquire about any aspect of an image, such as identifying objects, understanding scenes, or interpreting text within the image.
     */
    async aiVisionGeneral(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeAiVisionGeneral_js_1.analyzeAiVisionGeneral)(this, request, options));
    }
    /**
     * Analyze - AI Vision Moderation
     *
     * @remarks
     * The Moderation mode accepts multiple questions about an image, to which the response provides concise answers of "yes," "no," or "unknown." This functionality allows for a nuanced evaluation of whether the image adheres to specific content policies, creative specs, or aesthetic criteria.
     */
    async aiVisionModeration(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeAiVisionModeration_js_1.analyzeAiVisionModeration)(this, request, options));
    }
    /**
     * Analyze - AI Vision Tagging
     *
     * @remarks
     * The Tagging mode accepts a list of tag names along with their corresponding descriptions. If the image matches the description, which may encompass various elements, it will be appropriately tagged. This approach enables customers to align with their own brand taxonomy, offering a dynamic, flexible, and open method for image classification.
     */
    async aiVisionTagging(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeAiVisionTagging_js_1.analyzeAiVisionTagging)(this, request, options));
    }
    /**
     * Analyze - Captioning
     *
     * @remarks
     * Provides a caption for an image.
     */
    async captioning(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeCaptioning_js_1.analyzeCaptioning)(this, request, options));
    }
    /**
     * Analyze - Cld-Fashion
     *
     * @remarks
     * Analyze an image using the [Cld-Fashion](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's fashion model is specifically dedicated to items of clothing. The response includes attributes of the clothing identified, for example whether the garment contains pockets, its material and the fastenings used.
     */
    async cldFashion(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeCldFashion_js_1.analyzeCldFashion)(this, request, options));
    }
    /**
     * Analyze - Cld-Text
     *
     * @remarks
     * Analyze an image using the [Cld-Text](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's text model tells you if your image includes text, and where it's located. Used with image tagging, you can then search for images that contain blocks of text. Used with object-aware cropping, you can choose to keep only the text part, or specify a crop that avoids the text.
     */
    async cldText(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeCldText_js_1.analyzeCldText)(this, request, options));
    }
    /**
     * Analyze - Coco
     *
     * @remarks
     * Analyze an image using the [Coco](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [Common Objects in Context](https://cocodataset.org/) model contains just 80 common objects.
     */
    async coco(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeCoco_js_1.analyzeCoco)(this, request, options));
    }
    /**
     * Analyze - Google Logo Detection
     *
     * @remarks
     * Detects popular product logos within an image.
     */
    async googleLogoDetection(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeGoogleLogoDetection_js_1.analyzeGoogleLogoDetection)(this, request, options));
    }
    /**
     * Analyze - Google Tagging
     *
     * @remarks
     * Provides tags for an image using Google's tagging service.
     */
    async googleTagging(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeGoogleTagging_js_1.analyzeGoogleTagging)(this, request, options));
    }
    /**
     * Analyze - Human Anatomy
     *
     * @remarks
     * Analyze an image using the [Human Anatomy](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's human anatomy model identifies parts of the human body in an image. It works best when the majority of a human body is detected in the image.
     */
    async humanAnatomy(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeHumanAnatomy_js_1.analyzeHumanAnatomy)(this, request, options));
    }
    /**
     * Analyze - Image Quality Analysis
     *
     * @remarks
     * Analyze an image using the [Image Quality Analysis](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#image_quality_analysis) model.
     */
    async imageQuality(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeImageQuality_js_1.analyzeImageQuality)(this, request, options));
    }
    /**
     * Analyze - Lvis
     *
     * @remarks
     * Analyze an image using the [Lvis](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [Large Vocabulary Instance Segmentation](https://www.lvisdataset.org/) model contains thousands of general objects.
     */
    async lvis(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeLvis_js_1.analyzeLvis)(this, request, options));
    }
    /**
     * Analyze - Shop Classifier
     *
     * @remarks
     * Analyze an image using the [Shop Classifier](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. Cloudinary's shop classifier model detects if the image is a product image taken in a studio, or if it's a natural image.
     */
    async shopClassifier(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeShopClassifier_js_1.analyzeShopClassifier)(this, request, options));
    }
    /**
     * Analyze - Unidet
     *
     * @remarks
     * Analyze an image using the [Unidet](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#ai_based_image_captioning) content-aware detection model. The [UniDet](https://github.com/xingyizhou/UniDet) model is a unified model, combining a number of object models, including [Objects365](https://www.objects365.org/overview.html), which focuses on diverse objects in the wild.
     */
    async unidet(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeUnidet_js_1.analyzeUnidet)(this, request, options));
    }
    /**
     * Analyze - Watermark Detection
     *
     * @remarks
     * Analyze an image using the [Watermark Detection](https://cloudinary.com/documentation/cloudinary_ai_content_analysis_addon#watermark_detection) detection model.
     */
    async watermarkDetection(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, analyzeWatermarkDetection_js_1.analyzeWatermarkDetection)(this, request, options));
    }
}
exports.Analyze = Analyze;
//# sourceMappingURL=analyze.js.map