or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

admin-api.mdanalysis.mdconfiguration.mdhtml-generation.mdindex.mdprovisioning.mdsearch.mdupload.mdurl-generation.md
tile.json

analysis.mddocs/

Analysis API

AI-powered content analysis for automatic tagging, moderation, object detection, and content understanding using various machine learning models and analysis services.

Capabilities

Content Analysis

Analyze images and videos using AI models for automatic content understanding.

/**
 * Analyze content from URI using specified analysis type
 * @param uri - URI of the content to analyze (Cloudinary URL or external URL)
 * @param analysis_type - Type of analysis to perform
 * @param options - Analysis configuration options
 * @returns Promise with analysis results
 */
function analyze_uri(
  uri: string,
  analysis_type: AnalysisType,
  options?: AnalysisOptions
): Promise<AnalysisResponse>;

type AnalysisType = 
  | 'google_tagging'      // Google Vision API tagging
  | 'coco'               // COCO object detection
  | 'lvis'               // LVIS object detection
  | 'unidet'             // Universal object detection
  | 'human_anatomy'      // Human anatomy detection
  | 'cld_fashion'        // Cloudinary fashion detection
  | 'cld_text'           // Cloudinary text detection
  | 'shop_classifier'    // Shopping classification
  | 'captioning'         // Image captioning
  | 'custom';            // Custom model

interface AnalysisOptions {
  /** Custom model name (required for 'custom' analysis_type) */
  model_name?: string;
  /** Custom model version */
  model_version?: number;
  /** Additional analysis parameters */
  [key: string]: any;
}

interface AnalysisResponse {
  /** Analysis results data */
  data: {
    /** Asset identifier */
    entity: string;
    /** Analysis results by type */
    analysis: Record<string, AnalysisResult>;
  };
  /** Request identifier */
  request_id: string;
  [key: string]: any;
}

interface AnalysisResult {
  /** Detected objects/tags with confidence scores */
  tags?: Array<{
    tag: string;
    confidence: number;
  }>;
  /** Detected text content */
  text?: string[];
  /** Object bounding boxes */
  objects?: Array<{
    kind: string;
    confidence: number;
    box: [number, number, number, number]; // [x, y, width, height]
  }>;
  /** Generated captions */
  captions?: Array<{
    text: string;
    confidence: number;
  }>;
  /** Custom analysis results */
  [key: string]: any;
}

Usage Examples:

const cloudinary = require('cloudinary');

// Google Vision API tagging
const taggingResult = await cloudinary.v2.analysis.analyze_uri(
  'https://res.cloudinary.com/demo/image/upload/sample.jpg',
  'google_tagging'
);

console.log('Detected tags:', taggingResult.data.analysis.google_tagging.tags);

// COCO object detection
const cocoResult = await cloudinary.v2.analysis.analyze_uri(
  'https://res.cloudinary.com/demo/image/upload/sample.jpg',
  'coco'
);

console.log('Detected objects:', cocoResult.data.analysis.coco.objects);

// Image captioning
const captionResult = await cloudinary.v2.analysis.analyze_uri(
  'https://res.cloudinary.com/demo/image/upload/sample.jpg',
  'captioning'
);

console.log('Generated caption:', captionResult.data.analysis.captioning.captions[0].text);

// Custom model analysis
const customResult = await cloudinary.v2.analysis.analyze_uri(
  'https://res.cloudinary.com/demo/image/upload/product.jpg',
  'custom',
  {
    model_name: 'my_product_classifier',
    model_version: 2
  }
);

// Fashion detection
const fashionResult = await cloudinary.v2.analysis.analyze_uri(
  'https://res.cloudinary.com/demo/image/upload/fashion.jpg',
  'cld_fashion'
);

console.log('Fashion items:', fashionResult.data.analysis.cld_fashion.tags);

Analysis Integration

Integrate analysis results with upload and admin operations.

Upload with Analysis:

// Upload with automatic analysis
const uploadResult = await cloudinary.v2.uploader.upload('./image.jpg', {
  public_id: 'analyzed_image',
  // Enable various analysis features during upload
  auto_tagging: 0.7,        // Auto-tag with 70% confidence threshold
  categorization: 'google_tagging',
  detection: 'coco',
  ocr: 'adv_ocr'           // OCR text detection
});

// The analysis results will be included in the upload response
console.log('Auto tags:', uploadResult.tags);
console.log('Detected text:', uploadResult.info?.ocr?.adv_ocr?.data);

Admin API with Analysis:

// Get resource with analysis data
const resource = await cloudinary.v2.api.resource('my_image', {
  image_metadata: true,
  colors: true,
  faces: true,
  quality_analysis: true
});

console.log('Dominant colors:', resource.colors);
console.log('Face coordinates:', resource.faces);
console.log('Quality score:', resource.quality_analysis);

Types

type AnalysisType = 
  | 'google_tagging'
  | 'coco'
  | 'lvis' 
  | 'unidet'
  | 'human_anatomy'
  | 'cld_fashion'
  | 'cld_text'
  | 'shop_classifier'
  | 'captioning'
  | 'custom';

interface AnalysisOptions {
  model_name?: string;
  model_version?: number;
  [key: string]: any;
}

interface AnalysisResponse {
  data: {
    entity: string;
    analysis: Record<string, AnalysisResult>;
  };
  request_id: string;
  [key: string]: any;
}

interface AnalysisResult {
  tags?: Array<{
    tag: string;
    confidence: number;
  }>;
  text?: string[];
  objects?: Array<{
    kind: string;
    confidence: number;
    box: [number, number, number, number];
  }>;
  captions?: Array<{
    text: string;
    confidence: number;
  }>;
  [key: string]: any;
}