Partner-Built Integrations | Cloudinary

Cloudinary Technology Partner Program:
Partner-Built Integrations

By joining Cloudinary’s Technology Partner Program, companies can independently develop integrations with Cloudinary products to enhance or expand their digital platform’s offering to customers.

To be listed as a partner-built integration on Cloudinary’s website, follow the “Five Steps to Success” procedure:

  1. Learn
  2. Build
  3. Review
  4. Share
  5. Launch

Other benefits of the program include:

  • Access to an allocated relationship manager
  • Listing of the integration on the Cloudinary Website
  • Overview and demo training session on Cloudinary’s technology for Partner sales team
  • Technical training session and roadmap overview for Partner technical team
  • Co-marketing collaboration (varies by Partner)
  • Cloudinary will recommend and introduce or co-sell with Partner to relevant companies


Sign up for a free Cloudinary account, understand our products, and reach out to us for an initial discovery call

Before you get started on any development work, we recommend you sign up for a free Cloudinary demo account to get familiar with the Cloudinary offering. Once your account is set up, you can also access our free training site, Cloudinary Academy as well as our Knowledgebase and Documentation sites.

Ready to go? Great! Request an initial discovery call by sending an email to After signing a tech partner agreement, the Cloudinary team can upgrade your Cloudinary account to help you get better visibility with our support team.

Cloudinary Product Offerings

This section describes Cloudinary’s products, what value they bring to users, and how they can be incorporated into Cloudinary integrations.

Cloudinary offers various products that your customers may be using:

  • DAM (Digital Asset Management)
  • Programmable Media
  • Media Optimizer

The integration you build should enable only features that are available for the products your customer is using.


Customers who use Cloudinary’s Digital Asset Management (DAM) solution use Cloudinary’s storage and are able to use Cloudinary’s fully-featured set DAM solution. DAM users do not benefit from Cloudinary’s optimized delivery of assets.

Integrations can make use of our Media Library Widget to embed our DAM capabilities in other platforms and our Upload Widget to allow your customers to upload assets into Cloudinary.

Programmable Media

Customers who use Cloudinary’s Programmable Media (PM) offering benefit from the full feature set of Cloudinary. This includes access to all of Cloudinary’s APIs, transformations, delivery through our CDNs, and basic DAM functionality. These customers utilize and are charged based on their usage of Cloudinary’s storage, bandwidth, and transformation.

Our APIs/SDKs, Media Library Widget, and our Upload Widget might be a good way to integrate to capture these capabilities. You can add common optimization transformations as default (such as ‘f_auto,q_auto’).

Media Optimizer

Customers who use Cloudinary’s Media Optimizer (MO) don’t use Cloudinary’s storage and benefit from optimized delivery of assets to their end-users without the need to modify the asset URLs in their code.

As Cloudinary is not used for storage, MO users are not able to use Cloudinary’s DAM to manage their assets.

MO customers can use optimization-related delivery transformations such as auto quality and format, cropping, sizing, breakpoint behavior, etc. Creative transformations such as effects, overlays, and borders are not available for MO customers.

Cloudinary capabilities

This section highlights the Cloudinary capabilities that your integration can take advantage of to maximize the benefits of using Cloudinary’s service.


Your integration can allow customers to sync all or part of their assets to Cloudinary.

Cloudinary recommends that the integration, by default, use Cloudinary as the media single-source-of-truth and deliver all assets from Cloudinary’s storage.

Synced assets can be stored in different ways. For example:

  • Only on Cloudinary.
  • On both Cloudinary and natively (identical copies or different versions).

Storing assets only on Cloudinary will free up space in the integrated service.

Storing assets on both services allows fallback mechanisms. For example, if the user chooses to deactivate the integration, assets can quickly be delivered natively.

See how our WordPress integration implements different storage options.

The integration can allow various ways to sync assets to Cloudinary. For example:

  • Auto – Automatically syncs each asset immediately upon native upload.
  • On-the-fly – Syncs assets the first time they are requested.
  • Bulk – Syncs all assets in a single click upon user request.
  • Manual – Syncs selected asset/s upon user request.

See how our WordPress plugin provides auto-sync, bulk sync, and manual sync methods.

Note that your integration may also need to handle restricted assets.

Media optimization and delivery

Assets can be delivered with optimized quality, format, and size, while maintaining a high visual quality experience.

Optimized delivery is achieved using optimization transformations such as f_auto, q_auto, and others. MO customers can use the MO configuration to optimize their media without affecting the asset URLs.

Cloudinary recommends that by default, the integration will allow a single-click automatic quality and format optimization for all delivered assets.

For advanced customers, the integration can allow additional settings to control the media quality and format. For example: Adjusting the aggressiveness of the auto-quality algorithm, or even manually selecting the quality or format for individual assets.

See our documentation for more details on image and video optimization.

Cloudinary’s responsive breakpoints feature is a smart algorithm that determines the ideal image dimensions for a particular end user’s device/browser. The integration can enable responsive breakpoints to all assets. This might not be relevant for integrations that don’t include frontend elements. If relevant, Cloudinary recommends enabling breakpoints by default.

For integrations that include frontend elements, the integration can also offer lazy loading and placeholders.

All assets stored in Cloudinary can be delivered using Cloudinary’s CDN.

See how our WordPress plugin enables responsive breakpoints, and quality and format optimization.

Automatic media transformations

Cloudinary’s transformations offer easy ways to transform, adapt, and optimize images.

  • Automatically create different variants of every image for different browsers, devices, channels, and campaigns.
  • Crop, resize, transcode, and filter images on the fly to fit your brand’s look and feel.
  • Automatically create all image variants to personalize and deliver the most appropriate version to every end user.

Cloudinary transformations include both optimization transformations such as f_auto and q_auto and creative transformations such as effects and watermarks.

Notice that different transformations may apply to images and videos. The integration can allow separate transformation configurations for images and videos.

Transformations can be applied at multiple levels. For example: In eCommerce systems, asset level, product level, catalog level, and global level are frequently used.

Cloudinary recommends using at least two levels: Asset and global. When multiple levels are allowed, the integration can allow the user to choose if each level overrides or concatenates the level below it.

See how our WordPress plugin implements the transformations hierarchy and examples of how different levels override or concatenate to one another.

Upload widget

Cloudinary’s Upload widget can be used whenever a customer wants to allow their end-users to upload assets from various sources to Cloudinary.

Media Editing widget

Cloudinary’s Media Editing widget can be used whenever a customer wants to allow their end-users to edit and transform an original asset.

Media Library widget

Cloudinary’s Media Library widget can be used whenever a customer wants to allow their end-users to select media from Cloudinary to be used in the platform.

The widget also enables the users to upload, search, manage, and edit assets and can be used whenever a full media library solution is needed.

See how our WordPress plugin makes use of the Media Library widget in different scenarios.

Product Gallery widget

Cloudinary’s Product Gallery widget can be used whenever there is a need to present product assets in a storefront or grouped together.

Video Player

Cloudinary’s Video Player can be used whenever there is a need to play videos on a website using a player that offers look & feel customization options, analytics, hotspots, and the most advanced delivery options.

SEO support

Cloudinary allows the concatenation of meaningful suffixes to asset URLs.

The integration can use this capability to improve the SEO of the user’s website.

Support multiple accounts, sub-accounts, and users

Cloudinary customers may work with more than one Cloudinary account. For example, agencies managing more than a single account, production/staging accounts, different sub-brands, etc.

A Cloudinary account may contain multiple sub-accounts and multiple users.

The integration can allow the user to switch between different accounts, sub-accounts, and users within the logged-in account, allowing easy “refresh” of the media belonging to the used account/sub-account/user.

back to top


Use our guidelines and requirements to build with our APIs or Widgets

Basic Requirements

This section defines integration requirements that must be followed in order to be listed on Cloudinary’s website.

Installation & update

  • Users of the integration must be able to install, update, and uninstall it in the same way as other integrations of the integrated platform.
  • Installation instructions and full usage documentation must be clearly presented to the user.
  • Known issues and limitations must be clearly presented to the user.
  • When the integration is uninstalled, it must remove all Cloudinary functionality added by the integration while not affecting any non-Cloudinary related functionality. The uninstall process must not harm the system, and must end with the system in a fully-functional state.

Login & logout

  • The integration must allow the user to use multiple Cloudinary accounts and sub-accounts (clouds). The user must be able to login & logout from multiple accounts and switch between different sub-accounts. Notice that different accounts may have different permission levels.

Contact and support information

  • The integration must present clear contact information for users to send questions and report issues. Common ways are in the integration’s UI or a README file.

Technical guidelines

Best practices:

The following aspects are recommendations to better align your integration with other Cloudinary integrations.

  • Ensure you have Cloudinary’s latest logos (Brand assets).
  • It’s recommended to implement the integration as an open-sourced library hosted on Github.
  • If the integration is open-sourced, make sure to follow industry standards, including providing license information, a README file, installation guide, contribution guidelines, and contact information for reporting problems or requesting support.
  • Make sure that the code is clean, organized, readable, and follows a consistent coding style.
  • The code must be thoroughly tested using automated or manual methods (see Testing guidelines).
  • Use the relevant Cloudinary SDK to communicate with Cloudinary’s API.
  • Versioning and releases:
    • Make sure the integration release versions comply with the SemVer specification.
    • Present a clear changelog in each new release.

Technical Requirements:

The following aspects must be followed in order for the integration to be certified.

  • If the integration uses API key and secret to authenticate with Cloudinary (or any other service), make sure never to expose the API secret in client-side code, your github library, or external communications (for example, video tutorials, training sessions, and screen captures).
  • Analytics
    • API calls to Cloudinary must set a user-agent header in the request in the following format:
      Cloudinary<platform>/<plugin ver> (<platform> <ver>) <used SDK>/<ver>
      For example:
      CloudinaryMagento/2.1.0 (Magento CloudinaryPHP/1.6.2
    • When configuring the Media Library widget, a parameter named ‘integration’ must be added as part of the widget’s configuration options.
    • The integration parameter’s data must be in the following format:
      type: //the integration identifier e.g. "adobe_connector",
      platform: //hosting app name + version e.g. "photoshop 8.6",
      version: //integration version e.g. "1.0",
      environment: //e.g "prod"/"stag"/"dev"

back to top


Prepare your integration for review and get initial feedback on your integration

Below is a list of common and important scenarios Cloudinary will review in your integration.

Storage and delivery:

  • Relevant assets are stored and delivered from Cloudinary
  • Relevant media types are supported (image/video/raw)
  • Various assets types are handled (restricted/private/authenticated)
  • Delivery methods (fetch/upload)
  • Supported sync options
  • Upload presets
  • Breakpoints
  • Upload/delivery of large files (>1GB)


  • Applied as expected
  • Multi-level transformations (see Automatic media transformations section)
  • Named transformations


  • Video player
  • Product gallery
  • Upload widget
  • Media Library Widget


  • Switching accounts and sub-accounts
  • Integration disabled/enabled

Integration specific

  • Scenarios, features, validations, and limitations specific to the integration product behavior (eg. a maximum of 50 assets presented in the Media Library Widget).
  • Scenarios specific to the integration’s implementation (eg. supported rate limits, max queue sizes, etc.)

During the development and testing, if you have any questions or need any consultant, feel free to reach out to our support team or the Cloudinary Integration Team

back to top



While planning your integration, please make sure to take into account best practices, requirements, and testing guidelines in the previous sections.

Once you’re done building and testing your integration, please share your integration by contacting us –

Integration Submission Requirements

Upon submission, you will be required to supply the following:

  • Signed technical partnership agreement for legal, privacy, and security purposes.
  • Clear installation guidelines.
  • Full integration usage documentation.
  • Contact person for continued follow-up.
  • Video tutorial (preferably) or screen captures of the integration to be posted on our website.
  • A description of the different features/options the integration offers and marketing information – a separate form will be sent to collect this information.

When ready, submit your integration here:

Follow up

As part of the process, the Cloudinary Integration Team will check that the integration follows all the guidelines and requirements mentioned.

In some cases, additional information and clarifications might be requested. In such cases, the Cloudinary Integration Team will reach out to the contact person specified during submission.

When complete, the Cloudinary Integration Team will reach out to the primary partner contact to communicate the results of the process.

back to top


Promote on your site and on Cloudinary’s webpage

Congratulations! You have successfully completed the review process. Please contact the Cloudinary Integration Team at for more information on how you can promote the joint solution.

back to top