> ## Documentation Index
> Fetch the complete documentation index at: https://cloudinary.com/documentation/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload images in Python (video tutorial)

## Overview

Learn how to upload images in Python using the Cloudinary Python SDK.

## 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
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=00 :player=cld} | In this tutorial, you'll learn how to upload one or more images to Cloudinary using the Python SDK, a crucial part of your workflow.

### Upload a single image from your local file system
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=14 :player=cld} | This tutorial assumes that you've already installed, imported and configured Cloudinary. If you need help with that, see [Configure the Python SDK](python_configuration_tutorial). To upload, use the `cloudinary.uploader.upload` endpoint. Provide the full path of the image to upload as a parameter and store the response. Here's an example using a file named `images/blue-sweater.jpg`.

```python
response = cloudinary.uploader.upload("images/blue-sweater.jpg")
print(response)
```

### Upload response
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=38 :player=cld} | Execute your script to upload the image and display the response. You can access the image via the `secure_url` provided in the response.

### Upload a single image from a remote URL
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=48 :player=cld} | Utilize the `cloudinary.uploader.upload` endpoint to upload an image from any web location by providing its URL as a parameter. The response will include a `secure_url` similar to the one obtained when uploading from the file system.

### Upload multiple images from your local file system
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=1 :sec=07 :player=cld} | You can upload multiple images from your local file system by creating an array containing the paths of all the images you want to upload. Iterate through the array, calling `cloudinary.uploader.upload` for each image and passing its path as a parameter. Save the response. Although each image receives a full upload response, for simplicity, only print the `secure_url`. Execute the script to upload the images and retrieve their delivery URLs. You can also view all uploaded images in the [Media Library](https://console.cloudinary.com/console/media_library/search).

```python
# List of file names to upload
# ==============================
files_to_upload = [
   "blue-sweater.jpg",
   "clothing.jpg",
   "dining-room-furniture.jpeg",
   "green-wool-sweater-mens.jpg",
   "mens-grey-sweater.jpg",
   "menswear-casual.jpg",
   "model-handbag.jpg",
   "shoes-orig.jpg",
   "womens-pattern-sweater.jpg",
   "womens-white-sweater.jpg"
]


for file_name in files_to_upload:
   # Upload the image and print the response
   # ==============================
   file_path = f"images/{file_name}" 
   response = cloudinary.uploader.upload(file_path)
   print(response[‘secure_url’])
```
## Keep learning

> **READING**:
>
> * Learn more about [uploading images and videos using the Python SDK](django_image_and_video_upload).

> * Take a look at our [Upload guide](upload_images) to learn about uploading to Cloudinary in general.

> * Use the [Upload API reference](image_upload_api_reference) to find all the options and parameters available.

> * Watch more [Dev Hints videos](https://www.youtube.com/playlist?list=PL8dVGjLA2oMpaTbvoKCaRNBMQzBUIv7N8) on the [Cloudinary YouTube channel](https://www.youtube.com/cloudinary).

#### If you like this, you might also like...

  
  
  
    Configure the Python SDK
    Install and configure the Cloudinary Python SDK 
  

  
  
  
    Manage Images in a Django App
    Use Django helper methods to upload, transform, and display assets. 
  

  
  
  
    Delete Assets with Node.js
    Delete assets using various methods from the Node.js SDK 
  

&nbsp;

&nbsp;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.
&nbsp;
