> ## 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 videos in Node.js (video tutorial)

[githublink]: https://github.com/cloudinary-community/cloudinary-examples/tree/main/examples/node-video-upload

## Overview

Learn how to upload videos in Node.js using the Cloudinary Node.js 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.

> **TIP**: :title=View the code

You can find the code from this tutorial in [GitHub][githublink].
## Tutorial contents
This tutorial presents the following topics. Click a timestamp to jump to that part of the video.
### Install and configure the Node.js SDK
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=20 :player=cld} | You need to [install and configure the Cloudinary Node.js SDK](node_integration) with your [product environment credentials](product_environment_settings#api_keys).

### Upload a video using the Node.js SDK
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=0 :sec=28 :player=cld} | Upload a video from a local folder using the `upload` method of the [Upload API](image_upload_api_reference#upload). Use the `await` keyword to get the result and print the delivery URL of the uploaded video. 

### Run the script from the terminal
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=1 :sec=02 :player=cld} | Run the script from the terminal and then paste the URL in a browser to see the video.

### Use the upload large method for big videos
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=1 :sec=18 :player=cld} | Use the `upload_large` method to upload big videos using chunks. The method does not return a promise, but you can wrap the code with your own promise and await the response.

### Run the script again from the terminal
{table:class=tutorial-bullets}|  | 
| --- | --- |
|{videotime:id=media :min=2 :sec=04 :player=cld} | Run the script from the terminal to upload the big video (the script takes a bit longer to run), and then paste the URL in a browser to see the video.

## Keep learning

> **READING**:
>
> * Learn more about [uploading images and videos using the Node.js SDK](node_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 Node.js SDK
    Install and configure the Cloudinary Node.js SDK 
  

  
  
  
    Upload Images in Node.js
    Upload images to Cloudinary using the Node.js SDK 
  

  
  
  
    Upload Widget
    Embed an Upload Widget in your site 
  

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