- Get Started
- Image & Video APIs overview
- Developer kickstart
- SDK quick starts
- Try it!
- MCP servers and LLM tools (Beta)
- VS Code Extension (Beta)
- Video tutorial library
- Programmatic asset management
- Programmatic upload
- Upload programmatically
- Create upload presets
- Auto upload
- Moderate images with AI
- Use AI to generate image captions
- Upload images in Flutter
- Upload images in Node.js
- Auto-tag images in Node.js
- Upload multiple files in Node.js
- Upload videos in Node.js
- Upload images in Python
- Auto-tag images in Python
- Upload videos in Python
- Upload images in PHP
- Upload images in Go
- Upload assets in a React app
- Upload assets in a Vue.js app
- Drag-and-drop uploads in React
- Upload assets in a Next.js app
- Upload assets with Server Actions
- Upload assets in Svelte
- Upload assets in a SvelteKit app
- Upload assets in a Remix app
- Upload images in Hono
- Use webhooks to remove backgrounds
- Upload images in Laravel
- Interaction with Cloudinary APIs
- Cloudinary SDKs
- Find your credentials
- Configure the JavaScript SDK
- Configure the React SDK
- Configure the Angular SDK
- Configure the Flutter SDK
- Configure Svelte Cloudinary
- Configure the Javascript SDK in Svelte
- Getting started with Cloudinary in Node.js
- Configure the Node.js SDK
- Configure the Python SDK
- Configure the PHP SDK
- Configure the Go SDK
- Configure the Vue.js SDK
- Configure the Next.js SDK
- List images in Next.js
- Lazy load images with Next.js
- Image fallbacks in JavaScript
- Captioning on upload with Node.js
- Delete assets with Node.js
- Manage images in a Django app
- Cloudinary CLI
- Widgets and tools
- Programmatic upload
- Optimization and delivery
- Transformations
- Get started with transformations
- 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
- Dev Hints on YouTube
- Dev Hints en Español
- Cloudinary Café Training Sessions
- Programmatic asset management
- Additional onboarding resources
- Guides
- Cloudinary Image
- Product overview
- Image transformations
- Image transformations overview
- Resizing and cropping
- Placing layers on images
- Effects and enhancements
- Background removal
- Generative AI transformations
- Face-detection based transformations
- Custom focus areas
- Transformation refiners
- Animated images
- Transformations on 3D models
- Conditional transformations
- User-defined variables and arithmetic transformations
- Custom functions
- Image optimization and delivery
- Programmatic image creation
- Product Gallery widget
- Media Editor widget
- Image add-ons
- Cloudinary Video
- Upload
- Asset management
- Account management
- Retail and e-commerce
- User-generated content
- Accessible media
- 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
- 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
- VIESUSTM Automatic Image Enhancement
- WebPurify Image Moderation
- Cloudinary Image
- References
- SDKs
- Release Notes
Configure the Python SDK (video tutorial)
Last updated: Nov-24-2025
Overview
Learn how to install and configure the Cloudinary Python SDK in your Python environment. This will enable you to utilize Cloudinary for uploading, managing, and displaying assets in your applications.
Video tutorial
This video is brought to you by Cloudinary's video player - embed your own!
Use the controls to set the playback speed, navigate to chapters of interest and select subtitles in your preferred language.
Tutorial contents
This tutorial presents the following topics. Click a timestamp to jump to that part of the video.
Introduction
| Jump to this spot in the video 0:00 | The Cloudinary Python SDK gives you a way to handle images and videos at scale, providing transformation, optimization and delivery capabilities that you can integrate seamlessly into your Python applications. |
Install the Python SDK
| Jump to this spot in the video 0:17 | To install the Cloudinary Python SDK in your virtual environment, in a terminal run pip install cloudinary. Once Cloudinary is installed, you should see it listed as a requirement in your requirements.txt file inside your Python project. |
Configure Cloudinary
| Jump to this spot in the video 0:28 | First, import the Cloudinary library. Then, add your Cloudinary credentials by creating a Cloudinary instance using cloudinary.config(). At minimum, you'll need to provide your cloud name to access your stored images. Find your cloud name in the Dashboard. As an additional tip, include the secure=True parameter to ensure that the URLs generated by Cloudinary are HTTPS. |
Retrieve an image tag from Cloudinary
| Jump to this spot in the video 1:11 | Now, you can start using Cloudinary. For instance, you can use the cloudinary.image method to fetch an image tag from Cloudinary and exhibit it in your application. Simply indicate the image you want to use by specifying its public ID, accessible from the Summary tab of the asset's Preview Pane in the Media Library. (Replace <public_ID> with a public ID of an image from your product environment.) |
Configuring for upload and management
| Jump to this spot in the video 1:28 | To upload to Cloudinary or manage your files, you'll need to import the Cloudinary cloudinary.uploader and cloudinary.api libraries. Additionally, ensure your API key and secret are added to the configuration. Save your Cloudinary API key and secret as environment variables in a .env file. Then, install and import the dotenv library to load them into your project. Use the load dotenv function to make these environment variables accessible and import the os library to handle them. Now, you can pass the API key and secret to the cloudinary.config function, creating a fully authenticated instance. (Replace the placeholders in the example below with your credentials.) |
- When writing your own applications, follow your organization's policy on storing secrets and don't expose your API secret.
- Don't store your
.envunder version control for maximum security.
Simplified method
| Jump to this spot in the video 2:14 | Alternatively, if you copy the Cloudinary environment variable into your .env file, simply loading its contents using the load.env function is sufficient. In this case, you won't need to manually create a Cloudinary instance using the cloudinary.config function. (Replace the placeholders in the example below with your credentials.) |
Using backend capabilities like upload and manage
| Jump to this spot in the video 2:33 | Once completed, you can leverage backend capabilities to upload and manage your Cloudinary media files from your Python app. For instance, you can utilize cloudinary.uploader.upload to upload an image either from a local file or a URL. Additionally, you can retrieve detailed information on an image by calling the Cloudinary API resource endpoint. Remember to specify the image you want by using its public ID. |
Keep learning
- Learn more about the Python SDK.
- Watch more Dev Hints videos on the Cloudinary YouTube channel.
If you like this, you might also like...
Check out the Cloudinary Academy for free self-paced Cloudinary courses on a variety of developer or DAM topics, or register for formal instructor-led courses, either virtual or on-site.