Cloudinary Logo Cloudinary Docs Docs
  • Programmable Media
    • Get Started
    • Guides
    • References
    • SDKs
    • Release Notes
  • Digital Asset Management
    • Get Started
    • User Guides
    • Admin Guides
    • Release Notes
  • More Products
    • Integrations Add Cloudinary capabilities to your tech stack apps and platforms
    • MediaFlows Low-code workflow automation for images and videos
    • Dimensions (Beta) Create and deliver engaging 3D immersive experiences
    • FinalTouch (Early Access) AI-powered virtual photoshoot and image creation for eCommerce
  • Resources
    • Blog
    • Training
    • Support
    • Community
    • Podcasts
    • Demos
    • Roadmap
    • Additional Resources
  • Pricing
Light theme
Dark theme
Device default
Go to Console
sign up for free
  • Get Started
    • Programmable Media overview
    • Developer onboarding guide
      • 5-step walkthrough
      • Service introduction
      • Onboarding FAQ
      • Enterprise onboarding FAQ
      • Migration guide
      • Glossary
    • SDK quick starts
    • Try it!
      • Code explorers
      • Feature demos
      • Postman collections
    • Video tutorial library
      • Programmatic asset management
      • Optimization and delivery
      • Transformations
      • Dev Hints on YouTube
  • Guides
    • Upload
      • Uploading assets
      • Customizing uploads
      • Client-side uploading
      • Upload presets
      • Upload widget
    • Transform and customize
      • Image transformations
      • Video transformations
      • Eager and incoming transformations
      • Media Editor widget
      • How are transformations counted?
      • Add-ons
    • Optimize and deliver
      • Optimization overview
      • Image optimization
      • Video and audio optimization
      • Responsive images
      • Deliver remote media files
      • Paged and layered media
      • Media access methods
      • CDN delivery options
      • Product Gallery widget
      • Add-ons
    • Manage and analyze
      • Basic management
      • Search for assets
      • Custom metadata
      • Analyze assets
      • Moderate assets
      • Webhook notifications
      • Create assets
      • Advanced asset management
      • Add-ons
    • Video APIs
      • Video best practices
      • Video Player
      • Video transcription
      • Video analytics
      • Live streaming (Beta)
    • User-generated content
    • AI in action
    • Native mobile
    • Add-ons
      • Advanced Facial Attributes Detection
      • Amazon Rekognition AI Moderation
      • Amazon Rekognition Video Moderation
      • Amazon Rekognition Auto Tagging
      • Amazon Rekognition Celebrity Detection
      • Aspose Document Conversion
      • Cloudinary AI Background Removal
      • Cloudinary AI Content Analysis
      • Cloudinary AI Vision (Beta)
      • Cloudinary Duplicate Image Detection
      • Google AI Video Moderation
      • Google AI Video Transcription
      • Google Auto Tagging
      • Google Automatic Video Tagging
      • Google Translation
      • Imagga Auto Tagging
      • Imagga Crop and Scale
      • Perception Point Malware Detection
      • Microsoft Azure Video Indexer
      • OCR Text Detection and Extraction
      • Pixelz - Remove the Background
      • URL2PNG Website Screenshots
      • VIESUS™ Automatic Image Enhancement
      • WebPurify Image Moderation
  • References
    • Transformation URL API
    • Upload API
    • Admin API
    • Provisioning API
    • Analyze API (Beta)
    • Live streaming API (Beta)
    • Cloudinary CLI
    • SDK references
      • Transformation Builder reference
      • React SDK reference
      • Vue.js SDK reference
      • JavaScript SDK reference
      • Angular SDK reference
      • PHP SDK reference
      • Go SDK reference
      • Dart SDK reference
      • Flutter SDK reference
    • Postman collections
    • Upload Widget API
    • Product Gallery API
    • Media Editor API
    • Video Player API
  • SDKs
    • Backend SDKs
      • Node.js SDK
      • Python SDK
      • PHP SDK
      • Java SDK
      • Ruby/Rails SDK
      • .NET SDK
      • Go SDK
      • Dart SDK
      • PHP SDK (Legacy)
    • Frontend SDKs
      • React SDK
      • Vue.js SDK
      • Angular SDK
      • JavaScript SDK
      • jQuery SDK
      • React SDK (Legacy)
      • Vue.js SDK (Legacy)
      • Angular SDK (Legacy)
      • JavaScript SDK (Legacy)
    • Mobile SDKs
      • iOS SDK
      • Android SDK
      • Flutter SDK
      • React Native SDK
      • Kotlin SDK
    • Community-developed libraries
      • Next.js
      • Astro
      • Laravel
      • NuxtJS
      • Svelte
      • Gatsby
      • Netlify
      • Drupal
  • Release Notes
    • Latest: October 9, 2024
    • August 12, 2024
    • June 27, 2024
    • Previous releases
      • May 31, 2024
      • April 16, 2024
      • February 28, 2024
      • January 03, 2024
      • November 13, 2023
      • October 26, 2023
      • September 21, 2023
      • August 15, 2023
      • July 13, 2023
      • June 19, 2023
      • May 16, 2023
      • Apr 04, 2023
      • Feb 21, 2023
      • Dec 27, 2022
  • Get Started
    • Programmable Media overview
    • Developer onboarding guide
      • 5-step walkthrough
      • Service introduction
      • Onboarding FAQ
        • Enterprise onboarding FAQ
        • Migration guide
        • Glossary
      • SDK quick starts
      • Try it!
        • Code explorers
        • Feature demos
        • Postman collections
      • Video tutorial library
        • Programmatic asset management
          • Programmatic upload
            • Upload programmatically
            • Create upload presets
            • Auto upload
            • Auto-tag assets
            • Moderate images with AI
            • Upload images in Flutter
            • Upload images in Node.js
            • Upload multiple files in Node.js
            • Upload videos in Node.js
            • Upload images in Python
            • Upload videos in Python
            • Upload assets in a React app
            • Upload assets in a Next.js app
            • Upload assets with Server Actions
            • Upload assets in a SvelteKit app
            • Upload assets in a Remix app
            • Use webhooks to remove backgrounds
          • Interaction with Cloudinary APIs
            • Generate upload signature
            • Postman collections introduction
          • Cloudinary SDKs
            • Find your credentials
            • Configure the JavaScript SDK
            • Configure the React SDK
            • Configure the Flutter SDK
            • Configure Svelte Cloudinary
            • Configure the Javascript SDK in Svelte
            • Configure the Node.js SDK
            • Configure the Python SDK
            • Configure the Vue.js SDK
            • Configure the Next.js SDK
            • List images in Next.js
            • Captioning on upload with Node.js
            • Delete assets with Node.js
            • Manage images in a Django app
          • Cloudinary CLI
            • Get started with the CLI
            • Scripting with the CLI
            • Get creative with the CLI
            • Upload with the CLI
          • Widgets
            • Upload Widget
            • Product Gallery
            • Product Gallery in React
            • Product Gallery accessibility
          • Administration
            • Enable automatic backups
            • Restore asset versions
            • Restore deleted assets
        • Optimization and delivery
          • Programmatic optimization
            • Optimization tips
            • Optimize videos in React
            • Transform and optimize images in Svelte
            • Optimize videos in Next.js
            • Optimize Images with Nuxt Cloudinary
            • Optimize Images in SolidJS with Cloudinary
            • Optimize images in Flutter
          • Programmatic delivery
            • Deliver images with the Next.js Image component
            • Deliver images with the Nuxt Image component
            • Diagnosing error codes
          • Video Player
            • Video Player in React
            • Video Player in Next.js
            • Video Player in HTML
        • Transformations
          • Get started with transformations
            • Transformation basics
            • Transformation Builder
            • Gravity-based crops for images
            • Enhance and restore images
            • Transformation overlays
            • Content-aware image cropping
            • Content-aware video cropping
            • Convert videos to animated images
          • Advanced transformation features
            • Text overlay transformations
            • Complex transformations
            • Named transformations
            • Named transformations using TX Builder
            • Advanced image components
            • Trim videos in Node.js
            • Splice videos in Node.js
            • Zoompan effect
            • Video transformations
            • Crop and resize images in React
            • Crop and resize videos in React
            • Crop and resize images in Python
            • Remove backgrounds and add drop shadows
            • AI generative fill in Next.js
            • Color accessibility in JavaScript
          • Transformations for social media
            • Social media image cards in Next.js
            • Social media image cards in Svelte
        • Dev Hints on YouTube
    • Guides
      • Upload
        • Uploading assets
        • Customizing uploads
        • Client-side uploading
        • Upload presets
        • Upload widget
      • Transform and customize
        • Image transformations
          • Image transformations overview
          • Resizing and cropping
          • Placing layers on images
          • Effects and enhancements
          • Face-detection based transformations
          • Custom focus areas
          • Animated images
          • Transformations on 3D models
          • Conditional transformations
          • User-defined variables and arithmetic transformations
          • Custom functions
        • Video transformations
          • Video transformations overview
          • Resizing and cropping
          • Trimming and concatenating
          • Placing layers on videos
          • Effects and enhancements
          • Audio transformations
          • Advanced video transformations
            • Converting videos to animated images
            • Conditional transformations
            • User-defined variables and arithmetic transformations
        • Eager and incoming transformations
        • Media Editor widget
        • How are transformations counted?
        • Add-ons
      • Optimize and deliver
        • Optimization overview
        • Image optimization
        • Video and audio optimization
          • Video optimization
          • Adaptive bitrate streaming
          • Audio optimization
        • Responsive images
          • Using HTML and dynamic image transformations
          • Using JavaScript frontend frameworks
          • Using the cloudinary-core JS library
          • Using client hints
        • Deliver remote media files
          • Social media profile pictures
        • Paged and layered media
        • Media access methods
        • CDN delivery options
        • Product Gallery widget
        • Add-ons
      • Manage and analyze
        • Basic management
          • Media Explorer
          • List assets
          • Update assets
          • Delete assets
          • Rename assets
          • Relate assets
        • Search for assets
          • Search API method
          • Cacheable search URLs
          • Visual Search
          • Media Explorer search
          • Search expressions
        • Custom metadata
          • Tags
          • Contextual metadata
          • Structured metadata
            • Conditional metadata rules
        • Analyze assets
          • Image quality analysis
          • Accessibility analysis
          • Semantic data extraction
          • Media Inspector (Labs)
          • Analyze API (Beta)
        • Moderate assets
        • Webhook notifications
        • Create assets
          • Animated images
          • Videos
          • Archives
          • Sprites
          • Image collages
          • PDF files from images
          • Images from text
        • Advanced asset management
          • Signatures
            • Authentication signatures
            • Notification signatures
            • Delivery URL signatures
            • Response signatures
          • Provenance and authenticity
          • Backups and version management
          • Invalidate cached assets
          • Account usage data
          • Folder modes
        • Add-ons
      • Video APIs
        • Video best practices
          • Social media videos
        • Video Player
          • Video Player features
          • Installation and setup
          • How to embed the Video Player
          • Video Player customization
          • Playlists and recommendations
          • HLS and MPEG-DASH
          • Video Player advanced features
            • Events and analytics
            • Video ads and monetization
            • Shoppable Video
            • Interactive Video (Beta)
          • Video Player API reference
        • Video transcription
        • Video analytics
        • Live streaming (Beta)
          • Live streaming API reference
          • Simulated live streaming
      • User-generated content
      • AI in action
      • Native mobile
      • Add-ons
        • Advanced Facial Attributes Detection
        • Amazon Rekognition AI Moderation
        • Amazon Rekognition Video Moderation
        • Amazon Rekognition Auto Tagging
        • Amazon Rekognition Celebrity Detection
        • Aspose Document Conversion
        • Cloudinary AI Background Removal
        • Cloudinary AI Content Analysis
        • Cloudinary AI Vision (Beta)
        • Cloudinary Duplicate Image Detection
        • Google AI Video Moderation
        • Google AI Video Transcription
        • Google Auto Tagging
        • Google Automatic Video Tagging
        • Google Translation
        • Imagga Auto Tagging
        • Imagga Crop and Scale
        • Perception Point Malware Detection
        • Microsoft Azure Video Indexer
        • OCR Text Detection and Extraction
        • Pixelz - Remove the Background
        • URL2PNG Website Screenshots
        • VIESUS™ Automatic Image Enhancement
        • WebPurify Image Moderation
    • References
      • Transformation URL API
      • Upload API
      • Admin API
      • Provisioning API
      • Analyze API (Beta)
      • Live streaming API (Beta)
      • Cloudinary CLI
      • SDK references
        • Transformation Builder reference
        • React SDK reference
        • Vue.js SDK reference
        • JavaScript SDK reference
        • Angular SDK reference
        • PHP SDK reference
        • Go SDK reference
        • Dart SDK reference
        • Flutter SDK reference
      • Postman collections
      • Upload Widget API
      • Product Gallery API
      • Media Editor API
      • Video Player API
    • SDKs
      • Backend SDKs
        • Node.js SDK
          • Node.js introduction
          • Node.js quick start
          • Node.js image and video upload
          • Node.js image transformations
          • Node.js video transformations
          • Node.js asset management
          • Node.js video tutorials
        • Python SDK
          • Python introduction
          • Python quick start
          • Python image and video upload
          • Python image transformations
          • Python video transformations
          • Python asset management
          • Python sample projects
          • Python video tutorials
        • PHP SDK
          • PHP introduction
          • PHP quick start
          • PHP image and video upload
          • PHP image transformations
          • PHP video transformations
          • PHP asset management
          • PHP Management reference
          • PHP Transformation reference
        • Java SDK
          • Java introduction
          • Java quick start
          • Java image and video upload
          • Java image transformations
          • Java video transformations
          • Java asset management
        • Ruby/Rails SDK
          • Ruby/Rails introduction
          • Ruby/Rails quick start
          • Ruby/Rails image and video upload
          • Ruby/Rails image transformations
          • Ruby/Rails video transformations
          • Ruby/Rails asset management
          • CarrierWave integration
          • Attachinary integration
          • Active Storage integration
        • .NET SDK
          • .NET introduction
          • .NET quick start
          • .NET image and video upload
          • .NET image transformations
          • .NET video transformations
          • .NET asset management
        • Go SDK
          • Go introduction
          • Go quick start
          • Go image and video upload
          • Go media transformations
          • Go asset management
          • Go SDK reference
        • Dart SDK
          • Dart introduction
          • Dart quick start
          • Dart image and video upload
          • Dart media transformations
          • Dart SDK reference
        • PHP SDK (Legacy)
          • PHP introduction
          • PHP image and video upload
          • PHP image transformations
          • PHP video transformations
          • PHP asset management
          • PHP migration guide
      • Frontend SDKs
        • React SDK
          • React introduction
          • React quick start
          • React image and video upload
          • React image transformations
          • React video transformations
          • React sample projects
          • React video tutorials
          • React SDK reference
          • Transformation Builder reference
        • Vue.js SDK
          • Vue.js introduction
          • Vue.js quick start
          • Vue.js image and video upload
          • Vue.js image transformations
          • Vue.js video transformations
          • Vue.js sample projects
          • Vue.js video tutorials
          • Vue.js SDK reference
          • Transformation Builder reference
        • Angular SDK
          • Angular introduction
          • Angular quick start
          • Angular image and video upload
          • Angular image transformations
          • Angular video transformations
          • Angular sample projects
          • Angular SDK reference
          • Transformation Builder reference
        • JavaScript SDK
          • JavaScript introduction
          • JavaScript quick start
          • JavaScript image and video upload
          • JavaScript image transformations
          • JavaScript video transformations
          • JavaScript sample projects
          • JavaScript video tutorials
          • JavaScript SDK reference
          • Transformation Builder reference
        • jQuery SDK
          • jQuery introduction
          • jQuery image and video upload
          • jQuery image transformations
          • jQuery video transformations
        • React SDK (Legacy)
          • React introduction
          • React image and video upload
          • React image transformations
          • React video transformations
          • React migration guide
        • Vue.js SDK (Legacy)
          • Vue.js introduction
          • Vue.js image and video upload
          • Vue.js image transformations
          • Vue.js video transformations
          • Vue.js migration guide
        • Angular SDK (Legacy)
          • Angular introduction
          • Angular image and video upload
          • Angular image transformations
          • Angular video transformations
          • Angular migration guide
        • JavaScript SDK (Legacy)
          • JavaScript introduction
          • JavaScript image and video upload
          • JavaScript image transformations
          • JavaScript video transformations
          • JavaScript migration guide
      • Mobile SDKs
        • iOS SDK
          • iOS introduction
          • iOS quick start
          • iOS image and video upload
          • iOS image transformations
          • iOS video transformations
          • iOS video player
          • iOS sample projects
        • Android SDK
          • Android introduction
          • Android image and video upload
          • Android image transformations
          • Android video transformations
          • Android video player
          • Android sample projects
        • Flutter SDK
          • Flutter introduction
          • Flutter quick start
          • Flutter image and video upload
          • Flutter media transformations
          • Flutter video player
          • Flutter video tutorials
          • Dart-based cloudinary_url_gen package reference
          • Flutter SDK reference
        • React Native SDK
          • React Native introduction
          • React Native image and video upload
          • React Native image transformations
          • React Native video transformations
          • React Native video player
        • Kotlin SDK
          • Kotlin media transformations
      • Community-developed libraries
        • Next.js
        • Astro
        • Laravel
        • NuxtJS
        • Svelte
        • Gatsby
        • Netlify
        • Drupal
    • Release Notes
      • Latest: October 9, 2024
      • August 12, 2024
      • June 27, 2024
      • Previous releases
        • May 31, 2024
        • April 16, 2024
        • February 28, 2024
        • January 03, 2024
        • November 13, 2023
        • October 26, 2023
        • September 21, 2023
        • August 15, 2023
        • July 13, 2023
        • June 19, 2023
        • May 16, 2023
        • Apr 04, 2023
        • Feb 21, 2023
        • Dec 27, 2022
    Programmable Media
    • Get Started
    • Guides
    • References
    • SDKs
    • Release Notes
    Digital Asset Management
    • Get Started
    • User Guides
    • Admin Guides
    • Release Notes
  • More Products
      More Products
      Integrations
      Add Cloudinary capabilities to your tech stack apps and platforms
      MediaFlows
      Low-code workflow automation for images and videos
      Dimensions (Beta)
      Create and deliver engaging 3D immersive experiences
      FinalTouch (Early Access)
      AI-powered virtual photoshoot and image creation for eCommerce
  • Resources
      Resources
      Blog
      Training
      Support
      Community
      Podcasts
      Demos
      Roadmap
      Additional Resources
  • Pricing
    sign up for free
    Programmable Media
    Menu
    • Get Started
      • Programmable Media overview
      • Developer onboarding guide
        • 5-step walkthrough
        • Service introduction
        • Onboarding FAQ
          • Enterprise onboarding FAQ
          • Migration guide
          • Glossary
        • SDK quick starts
        • Try it!
          • Code explorers
          • Feature demos
          • Postman collections
        • Video tutorial library
          • Programmatic asset management
            • Programmatic upload
              • Upload programmatically
              • Create upload presets
              • Auto upload
              • Auto-tag assets
              • Moderate images with AI
              • Upload images in Flutter
              • Upload images in Node.js
              • Upload multiple files in Node.js
              • Upload videos in Node.js
              • Upload images in Python
              • Upload videos in Python
              • Upload assets in a React app
              • Upload assets in a Next.js app
              • Upload assets with Server Actions
              • Upload assets in a SvelteKit app
              • Upload assets in a Remix app
              • Use webhooks to remove backgrounds
            • Interaction with Cloudinary APIs
              • Generate upload signature
              • Postman collections introduction
            • Cloudinary SDKs
              • Find your credentials
              • Configure the JavaScript SDK
              • Configure the React SDK
              • Configure the Flutter SDK
              • Configure Svelte Cloudinary
              • Configure the Javascript SDK in Svelte
              • Configure the Node.js SDK
              • Configure the Python SDK
              • Configure the Vue.js SDK
              • Configure the Next.js SDK
              • List images in Next.js
              • Captioning on upload with Node.js
              • Delete assets with Node.js
              • Manage images in a Django app
            • Cloudinary CLI
              • Get started with the CLI
              • Scripting with the CLI
              • Get creative with the CLI
              • Upload with the CLI
            • Widgets
              • Upload Widget
              • Product Gallery
              • Product Gallery in React
              • Product Gallery accessibility
            • Administration
              • Enable automatic backups
              • Restore asset versions
              • Restore deleted assets
          • Optimization and delivery
            • Programmatic optimization
              • Optimization tips
              • Optimize videos in React
              • Transform and optimize images in Svelte
              • Optimize videos in Next.js
              • Optimize Images with Nuxt Cloudinary
              • Optimize Images in SolidJS with Cloudinary
              • Optimize images in Flutter
            • Programmatic delivery
              • Deliver images with the Next.js Image component
              • Deliver images with the Nuxt Image component
              • Diagnosing error codes
            • Video Player
              • Video Player in React
              • Video Player in Next.js
              • Video Player in HTML
          • Transformations
            • Get started with transformations
              • Transformation basics
              • Transformation Builder
              • Gravity-based crops for images
              • Enhance and restore images
              • Transformation overlays
              • Content-aware image cropping
              • Content-aware video cropping
              • Convert videos to animated images
            • Advanced transformation features
              • Text overlay transformations
              • Complex transformations
              • Named transformations
              • Named transformations using TX Builder
              • Advanced image components
              • Trim videos in Node.js
              • Splice videos in Node.js
              • Zoompan effect
              • Video transformations
              • Crop and resize images in React
              • Crop and resize videos in React
              • Crop and resize images in Python
              • Remove backgrounds and add drop shadows
              • AI generative fill in Next.js
              • Color accessibility in JavaScript
            • Transformations for social media
              • Social media image cards in Next.js
              • Social media image cards in Svelte
          • Dev Hints on YouTube
      • Guides
        • Upload
          • Uploading assets
          • Customizing uploads
          • Client-side uploading
          • Upload presets
          • Upload widget
        • Transform and customize
          • Image transformations
            • Image transformations overview
            • Resizing and cropping
            • Placing layers on images
            • Effects and enhancements
            • Face-detection based transformations
            • Custom focus areas
            • Animated images
            • Transformations on 3D models
            • Conditional transformations
            • User-defined variables and arithmetic transformations
            • Custom functions
          • Video transformations
            • Video transformations overview
            • Resizing and cropping
            • Trimming and concatenating
            • Placing layers on videos
            • Effects and enhancements
            • Audio transformations
            • Advanced video transformations
              • Converting videos to animated images
              • Conditional transformations
              • User-defined variables and arithmetic transformations
          • Eager and incoming transformations
          • Media Editor widget
          • How are transformations counted?
          • Add-ons
        • Optimize and deliver
          • Optimization overview
          • Image optimization
          • Video and audio optimization
            • Video optimization
            • Adaptive bitrate streaming
            • Audio optimization
          • Responsive images
            • Using HTML and dynamic image transformations
            • Using JavaScript frontend frameworks
            • Using the cloudinary-core JS library
            • Using client hints
          • Deliver remote media files
            • Social media profile pictures
          • Paged and layered media
          • Media access methods
          • CDN delivery options
          • Product Gallery widget
          • Add-ons
        • Manage and analyze
          • Basic management
            • Media Explorer
            • List assets
            • Update assets
            • Delete assets
            • Rename assets
            • Relate assets
          • Search for assets
            • Search API method
            • Cacheable search URLs
            • Visual Search
            • Media Explorer search
            • Search expressions
          • Custom metadata
            • Tags
            • Contextual metadata
            • Structured metadata
              • Conditional metadata rules
          • Analyze assets
            • Image quality analysis
            • Accessibility analysis
            • Semantic data extraction
            • Media Inspector (Labs)
            • Analyze API (Beta)
          • Moderate assets
          • Webhook notifications
          • Create assets
            • Animated images
            • Videos
            • Archives
            • Sprites
            • Image collages
            • PDF files from images
            • Images from text
          • Advanced asset management
            • Signatures
              • Authentication signatures
              • Notification signatures
              • Delivery URL signatures
              • Response signatures
            • Provenance and authenticity
            • Backups and version management
            • Invalidate cached assets
            • Account usage data
            • Folder modes
          • Add-ons
        • Video APIs
          • Video best practices
            • Social media videos
          • Video Player
            • Video Player features
            • Installation and setup
            • How to embed the Video Player
            • Video Player customization
            • Playlists and recommendations
            • HLS and MPEG-DASH
            • Video Player advanced features
              • Events and analytics
              • Video ads and monetization
              • Shoppable Video
              • Interactive Video (Beta)
            • Video Player API reference
          • Video transcription
          • Video analytics
          • Live streaming (Beta)
            • Live streaming API reference
            • Simulated live streaming
        • User-generated content
        • AI in action
        • Native mobile
        • Add-ons
          • Advanced Facial Attributes Detection
          • Amazon Rekognition AI Moderation
          • Amazon Rekognition Video Moderation
          • Amazon Rekognition Auto Tagging
          • Amazon Rekognition Celebrity Detection
          • Aspose Document Conversion
          • Cloudinary AI Background Removal
          • Cloudinary AI Content Analysis
          • Cloudinary AI Vision (Beta)
          • Cloudinary Duplicate Image Detection
          • Google AI Video Moderation
          • Google AI Video Transcription
          • Google Auto Tagging
          • Google Automatic Video Tagging
          • Google Translation
          • Imagga Auto Tagging
          • Imagga Crop and Scale
          • Perception Point Malware Detection
          • Microsoft Azure Video Indexer
          • OCR Text Detection and Extraction
          • Pixelz - Remove the Background
          • URL2PNG Website Screenshots
          • VIESUS™ Automatic Image Enhancement
          • WebPurify Image Moderation
      • References
        • Transformation URL API
        • Upload API
        • Admin API
        • Provisioning API
        • Analyze API (Beta)
        • Live streaming API (Beta)
        • Cloudinary CLI
        • SDK references
          • Transformation Builder reference
          • React SDK reference
          • Vue.js SDK reference
          • JavaScript SDK reference
          • Angular SDK reference
          • PHP SDK reference
          • Go SDK reference
          • Dart SDK reference
          • Flutter SDK reference
        • Postman collections
        • Upload Widget API
        • Product Gallery API
        • Media Editor API
        • Video Player API
      • SDKs
        • Backend SDKs
          • Node.js SDK
            • Node.js introduction
            • Node.js quick start
            • Node.js image and video upload
            • Node.js image transformations
            • Node.js video transformations
            • Node.js asset management
            • Node.js video tutorials
          • Python SDK
            • Python introduction
            • Python quick start
            • Python image and video upload
            • Python image transformations
            • Python video transformations
            • Python asset management
            • Python sample projects
            • Python video tutorials
          • PHP SDK
            • PHP introduction
            • PHP quick start
            • PHP image and video upload
            • PHP image transformations
            • PHP video transformations
            • PHP asset management
            • PHP Management reference
            • PHP Transformation reference
          • Java SDK
            • Java introduction
            • Java quick start
            • Java image and video upload
            • Java image transformations
            • Java video transformations
            • Java asset management
          • Ruby/Rails SDK
            • Ruby/Rails introduction
            • Ruby/Rails quick start
            • Ruby/Rails image and video upload
            • Ruby/Rails image transformations
            • Ruby/Rails video transformations
            • Ruby/Rails asset management
            • CarrierWave integration
            • Attachinary integration
            • Active Storage integration
          • .NET SDK
            • .NET introduction
            • .NET quick start
            • .NET image and video upload
            • .NET image transformations
            • .NET video transformations
            • .NET asset management
          • Go SDK
            • Go introduction
            • Go quick start
            • Go image and video upload
            • Go media transformations
            • Go asset management
            • Go SDK reference
          • Dart SDK
            • Dart introduction
            • Dart quick start
            • Dart image and video upload
            • Dart media transformations
            • Dart SDK reference
          • PHP SDK (Legacy)
            • PHP introduction
            • PHP image and video upload
            • PHP image transformations
            • PHP video transformations
            • PHP asset management
            • PHP migration guide
        • Frontend SDKs
          • React SDK
            • React introduction
            • React quick start
            • React image and video upload
            • React image transformations
            • React video transformations
            • React sample projects
            • React video tutorials
            • React SDK reference
            • Transformation Builder reference
          • Vue.js SDK
            • Vue.js introduction
            • Vue.js quick start
            • Vue.js image and video upload
            • Vue.js image transformations
            • Vue.js video transformations
            • Vue.js sample projects
            • Vue.js video tutorials
            • Vue.js SDK reference
            • Transformation Builder reference
          • Angular SDK
            • Angular introduction
            • Angular quick start
            • Angular image and video upload
            • Angular image transformations
            • Angular video transformations
            • Angular sample projects
            • Angular SDK reference
            • Transformation Builder reference
          • JavaScript SDK
            • JavaScript introduction
            • JavaScript quick start
            • JavaScript image and video upload
            • JavaScript image transformations
            • JavaScript video transformations
            • JavaScript sample projects
            • JavaScript video tutorials
            • JavaScript SDK reference
            • Transformation Builder reference
          • jQuery SDK
            • jQuery introduction
            • jQuery image and video upload
            • jQuery image transformations
            • jQuery video transformations
          • React SDK (Legacy)
            • React introduction
            • React image and video upload
            • React image transformations
            • React video transformations
            • React migration guide
          • Vue.js SDK (Legacy)
            • Vue.js introduction
            • Vue.js image and video upload
            • Vue.js image transformations
            • Vue.js video transformations
            • Vue.js migration guide
          • Angular SDK (Legacy)
            • Angular introduction
            • Angular image and video upload
            • Angular image transformations
            • Angular video transformations
            • Angular migration guide
          • JavaScript SDK (Legacy)
            • JavaScript introduction
            • JavaScript image and video upload
            • JavaScript image transformations
            • JavaScript video transformations
            • JavaScript migration guide
        • Mobile SDKs
          • iOS SDK
            • iOS introduction
            • iOS quick start
            • iOS image and video upload
            • iOS image transformations
            • iOS video transformations
            • iOS video player
            • iOS sample projects
          • Android SDK
            • Android introduction
            • Android image and video upload
            • Android image transformations
            • Android video transformations
            • Android video player
            • Android sample projects
          • Flutter SDK
            • Flutter introduction
            • Flutter quick start
            • Flutter image and video upload
            • Flutter media transformations
            • Flutter video player
            • Flutter video tutorials
            • Dart-based cloudinary_url_gen package reference
            • Flutter SDK reference
          • React Native SDK
            • React Native introduction
            • React Native image and video upload
            • React Native image transformations
            • React Native video transformations
            • React Native video player
          • Kotlin SDK
            • Kotlin media transformations
        • Community-developed libraries
          • Next.js
          • Astro
          • Laravel
          • NuxtJS
          • Svelte
          • Gatsby
          • Netlify
          • Drupal
      • Release Notes
        • Latest: October 9, 2024
        • August 12, 2024
        • June 27, 2024
        • Previous releases
          • May 31, 2024
          • April 16, 2024
          • February 28, 2024
          • January 03, 2024
          • November 13, 2023
          • October 26, 2023
          • September 21, 2023
          • August 15, 2023
          • July 13, 2023
          • June 19, 2023
          • May 16, 2023
          • Apr 04, 2023
          • Feb 21, 2023
          • Dec 27, 2022
      • Programmable Media
      • Guides
      • Manage and analyze
      • Custom metadata
      • Structured metadata

      Structured metadata

      Last updated: Mar-21-2024

      Overview

      Cloudinary structured metadata allows you to define typed fields for media assets, populate them with values programmatically, via the Media Library and/or the Media Explorer, and perform searches on them. You can also add validation rules, set default values, and define fields as mandatory.

      A metadata field is a custom, typed field (key) for storing user defined data (value) with a media asset.

      Note
      Cloudinary product environments are limited to a maximum of 100 structured metadata fields each. After reaching the maximum, you must disable one or more existing fields in order to add a new one.

      This page explains the Metadata methods for creating and managing structured metadata fields, as well as the Metadata field structure and how to structure field validation and list (datasource) values.

      Tip
      It's also possible to create and manage structured metadata fields in the Manage Structured Metadata page of the Cloudinary console. For details, see Structured metadata management in the Digital Asset Management Guide.

      Note
      You can set up dependencies and hierarchical relationships between structured metadata fields and field options using the Conditional metadata rules API.

      On this page:

      • Overview
      • Quick example
      • Metadata API methods
      • Metadata API field structure
      • Monitoring metadata changes using a notification URL

      Quick example

      Add a new mandatory metadata set (multi-select) field with an external_id of 'color_id', labeled 'Colors', and with 4 available colors: red, green, blue and yellow, where red and green are the default values:

      Note
      If running the CLI command on Windows, you need to escape the double quotes within the curly braces using either \ or ", for example, \"text\" or ""text"".

      Metadata API methods

      The Metadata methods enable you to manage the metadata fields available for your product environment.

      The table below provides a quick summary of the methods available for the Admin API metadata_fields endpoint. See the Metadata reference documentation for more information on the following Metadata methods, as well as detailed information on the Metadata field structure, including how to work with field validation and list (datasource) values.

      Note
      These methods are part of the rate-limited Admin API, and share the same usage limits. See that documentation for more information on pagination and error handling.
      Method Description
      GET/metadata_fields Lists all metadata field definitions.
      GET/metadata_fields/:external_id Returns a single metadata field definition by external ID.
      POST/metadata_fields Creates a new metadata field definition.
      POST/metadata_fields/:external_id/datasource_restore Restores entries in a metadata field datasource.
      POST/metadata_fields/:external_id/datasource/order Order a metadata field datasource.
      PUT/metadata_fields/:external_id Updates a metadata field definition by external ID.
      PUT/metadata_fields/:external_id/datasource Updates a metadata field datasource by external ID.
      DELETE/metadata_fields/:external_id Deletes a metadata field by external ID.
      DELETE/metadata_fields/:external_id/datasource Deletes entries in a metadata field datasource for a specified metadata field definition.

      Metadata API field structure

      Note
      For details on all the parameters, see the Metadata field structure reference.

      Validating data

      The validation parameter defines a validation object with the logic to apply when a value is entered for the field, via the metadata, upload, explicit or update resource methods, or via the Media Library or the Media Explorer. The boolean validations also allow for combinations of more than one rule.

      Note
      For details on all the parameters, see the Validating data reference.

      For example:

      Datasource values

      The datasource parameter is relevant for fields where the selected values must come from a predefined list of values (enum or set type fields). The parameter contains the values property, which defines the values for the enum or set list. Up to 3000 values can be defined for a list.

      Note
      For details on all the parameters, see the Datasource values reference.

      For example:

      Monitoring metadata changes using a notification URL

      You can use Cloudinary notifications to monitor for changes to the structured metadata on your media assets, including structured metadata that has been added or removed via API or the Cloudinary Console UI.

      To capture these changes, add a Notification URL triggered by the 'Resource metadata changed' Notification Type in the Webhook Notifications page of your Console Settings. The notification sent will specify resource_metadata_changed as the notification_type, and include information about which resource was changed, the source of the change (UI or API), and whether structured metadata was added, removed, or updated. For example:

      See the documentation on Notifications for more information.

      ✔️ Feedback sent!

      ✖️  
      How helpful was this doc page?

      Thanks for submitting your rating. We got it!
      We'd love to hear more. Tell us what you liked and how we can make this page even better:

      *


      Cloudinary is committed to protecting your information security. For details, see our privacy policy.

      For additional assistance, open a support request.

      Error

      Unfortunately there's been an error sending your feedback.

      Rate this page:

      • Contextual metadata
      • Conditional metadata rules
      Cloudinary Logo - White
      Products
      • Programmable Media
      • DAM
      • Demos
      • Pricing
      • Roadmap
      • FAQ
      Solutions
        • Why Cloudinary
        • Video API
        • E-commerce
        • Retail
        • Media & Entertainment
        • Travel & Hospitality
        • Non-Profits
        • Our Customers
        • Resource Library
        Developers
        • Getting Started
        • Documentation
        • Community
        • SDKs
        • Add-ons
        • Podcasts
        Company
        • About Us
        • Customers
        • Partners
        • Events
        • Careers
        • Newsroom
        • Blog
        • Brand Assets
        • Trust
        Contact Us
        • Technical Support
        • Contact Sales
        • Education & Training
        • Institute of Quality & Control
        • GDPR
        • SOC
        • Forbes Best Startup Employers 2020
        • MarTech Breakthrough Awards
        • Best Places to Work SVBJ 2018
        • 2020 The World's Best Cloud Companies
        • Terms of Use
        • Privacy Policy
        • DMCA Notice

        © 2024 Cloudinary. All rights reserved.