Cloudinary's SDK libraries wrap Cloudinary's REST APIs and additionally include a variety of useful helper methods, enabling you to implement comprehensive image and video upload, manipulation, optimization, and delivery capabilities in your application, using code that integrates seamlessly with your existing application code.
SDKs are available for most popular programming languages include server-side, client-side, and mobile.
The Cloudinary SDK Guides available from the links below, provide information on installing, setting up, and getting started with Cloudinary using your selected SDK.
|Server-side SDKs||Client-side SDKs||Mobile SDKs|
|Ruby on Rails||React||iOS (Swift/ObjectiveC)|
|PHP v2 ❘ PHP v1||Angular||Android|
We invite you to use and contribute to these community-developed framework integrations for Cloudinary:
|Gatsby||Offers two Gatsby plugins that enable you to to fetch media assets from Cloudinary (
|Gridsome||Offers plugins that enable you to fetch image assets from Cloudinary into Gridsome (
|NuxtJS||Enables you to upload, optimize and transform images and videos in a Nuxt application with the
- These libraries are developed, tested and maintained by the community. Bug fixes and feature requests should be submitted in the relevant repository.
- Throughout the Cloudinary documentation, unless otherwise specified, the term "SDKs" refers to official Cloudinary SDKs. That information may or may not be accurate for these community-developed framework integration libraries. For information on setup, configuration and usage of these libraries, refer to the relevant community documentation.
The first step in setting up any Cloudinary SDK is to set the global configuration parameters in the relevant configuration file (see the relevant SDK guide above for details on where and how to configure them for your SDK).
cloud_nameaccount identifier must be set for every SDK.
- Your account
api_secretare mandatory settings for all server-side SDKs.
api_secretshould never be exposed in client-side code.)
- There are also a number of optional configuration parameters you may want to define at a global level.
You can additionally set any of these configuration parameters in individual operations, which then overrides the globally set or default configuration values for that command.
The table below details all available Cloudinary SDK configuration parameters.
For details and examples of where and how to define these configuration parameters, see the relevant Cloudinary SDK framework guide.
- Keep in mind that in some SDK languages, you may need to adjust the case of the parameters shown below (for example to camelCase or kebab-case) to match the conventions of the language you are using.
- All Boolean options are false by default.
|cloud_name||string||Mandatory. The name of your Cloudinary account. Used to build the public URL for all your media assets.|
|api_key||string||Mandatory for server-side operations. Used together with the API secret to communicate with the Cloudinary API and sign requests.|
|api_secret||string||Mandatory for server-side operations. Used together with the API key to communicate with the Cloudinary API and sign requests.|
|secure||Boolean||Optional. Force HTTPS URLs for asset delivery even if they are embedded in non-secure HTTP pages. When using this option with a custom domain name (CNAME), specify your CNAME using the
|private_cdn||Boolean||Optional. Set this parameter to
|secure_distribution||string||Optional. The custom domain name to use for building HTTPS URLs. Use this option in conjunction with the
|cname||string||Optional. The custom domain name to use for building HTTP URLs. Use this option only if you do not set
|cdn_subdomain||Boolean||Optional. Whether to automatically build URLs with multiple CDN sub-domains. In most cases, this is no longer necessary. For details, see Multiple sub-domains.|
(ApiBaseAddress in .NET)
|string||Optional. Replaces the
Relevant only for Custom plan users that are using an alternative data center, for example
Note that if you have developed proprietary functionality that relies on asset delivery URL values (CDN-based functionality, other query parameters, local storage of asset delivery URLs, etc), the appended query param could impact that functionality.
Relevant only for new major SDK versions released January 2021 or later.
|upload_preset||string||Optional. The name of a defined upload preset. You can create upload presets in Upload Settings in the console or using the upload_preset method of the Admin API. If you are planning to offer unsigned uploads, you can define an unsigned upload preset to use with all uploads. This is especially useful for client-side SDKs.|
|provisioning_api_key||string||Mandatory for Provisioning API operations. Used together with the Provisioning API secret to communicate with the Cloudinary API and authenticate provisioning requests.|
|provisioning_api_secret||string||Mandatory for Provisioning API operations. Used together with the Provisioning API key to communicate with the Cloudinary API and authenticate provisioning requests.|
|account_id||string||Mandatory for Provisioning API operations. The ID of the Cloudinary account for provisioning.|
|Rails SDK only|
|static_image_support||Boolean||Relevant for Ruby on Rails SDK only. Optional. Whether to deliver uploaded static images through Cloudinary. For details, see Rails Static images.|
|enhance_image_tag||Boolean||Relevant for Ruby on Rails SDK only. Optional. Whether to wrap the standard
The most recent 5 versions of the following browsers are regularly tested with Cloudinary's SDKs and are officially supported:
- Google Chrome
- Internet Explorer 11
- Microsoft Edge
- Mozilla Firefox
- Mobile Chrome
- Mobile Firefox
- Mobile Safari
If there is another popular browser that you think we should add to our browser support matrix, please submit a support request and we will evaluate it.