{"id":22340,"date":"2021-05-03T14:36:46","date_gmt":"2021-05-03T14:36:46","guid":{"rendered":"http:\/\/video_uploads_with_cloudinary"},"modified":"2025-10-16T10:18:50","modified_gmt":"2025-10-16T17:18:50","slug":"video_uploads_with_cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary","title":{"rendered":"Video Uploads With Cloudinary"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Cloudinary makes the video upload simple, helping you get your videos up to your web property faster. Without Cloudinary, setting up the infrastructure for video uploads can go from straightforward to complex real fast. Why? Because many challenges are involved in building a foolproof service for an efficient and smooth process. The <a href=\"https:\/\/cloudinary.com\/products\/video\">Cloudinary Video<\/a> Upload API overcomes these speedbumps, making it easy to work with video upload and presentment.<\/p>\n<p>This article shows you how to set up the Cloudinary video widgets, the API, and the Media Library UI and get your video on your site quickly and easily. There\u2019s much more to explore with video tools in Cloudinary, so check out our full series of articles about <a href=\"https:\/\/cloudinary.com\/guides\/marketing-videos\/22-types-of-marketing-videos-and-10-ways-to-make-them-great\">marketing videos<\/a> when you\u2019re finished here.<\/p>\n<h2>Platform Test for Video Uploads<\/h2>\n<p>Just as Stack Overflow cofounder Joel Spolsky did when he wrote the <a href=\"https:\/\/www.joelonsoftware.com\/2000\/08\/09\/the-joel-test-12-steps-to-better-code\/\">Joel Test for writing better software<\/a> over two decades ago, I\u2019ll share with you the seven questions that need robust answers for efficient video uploads on a web or mobile platform:<\/p>\n<ol>\n<li>Can your video upload platform accept multiple video uploads at the same time?<\/li>\n<li>Can your video upload platform gracefully restrict the size and formats of user-generated uploads?<\/li>\n<li>Can your video upload platform crop, manipulate, and transform video uploads on the fly before storage?<\/li>\n<li>Can your video upload platform chunk videos, especially large ones, during upload?<\/li>\n<li>Can your video upload platform compress and optimize videos on or after upload, e.g., optimize a 50-MB video to one that weighs 15 MB only without any noticeable quality changes?<\/li>\n<li>Can your video upload platform convert videos from one encoding format to another, e.g., from <code>.mov<\/code> to <code>.mp4<\/code>?<\/li>\n<li>Can your video upload platform store and accept as many videos as possible while your audience exponentially grows? For example, the storage capacity of YouTube is, incredibly, around 1 exabyte (1 trillion GB). Even if your platform is not on this scale, it should at least be scalable to approximately 1 petabyte (1 million GB).<\/li>\n<\/ol>\n<p>Cloudinary as a media-management service offers numerous capabilities, including video uploads, and can answer the above questions with a resounding yes. As you ponder on those questions, I\u2019ll show you the four ways in which you can <a href=\"https:\/\/cloudinary.com\/guides\/wordpress-plugin\/how-to-upload-videos-to-wordpress\">upload video to Cloudinary<\/a>.<\/p>\n<h2>Video Uploads With the Upload Widget<\/h2>\n<p>Every app has a user interface called the front end. A snappy and intuitive interface is a must for video uploads. Cloudinary offers a slick, easy-to-use upload widget you can integrate into your app with only a few lines of code.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto\/Web_Assets\/blog\/upload_widget2_big.png\" alt=\"Image showing screenshot of Cloudinary upload video interface\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"700\" height=\"556\"\/><\/p>\n<h3>Cloudinary Upload Widget<\/h3>\n<p>To quickly set up the upload widget:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">button<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"upload_widget\"<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"cloudinary-button\"<\/span>&gt;<\/span>Upload Video Files<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">button<\/span>&gt;<\/span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\"https:\/\/widget.cloudinary.com\/v2.0\/global\/all.js\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/javascript\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>  \n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/javascript\"<\/span>&gt;<\/span><span class=\"javascript\">  \n<span class=\"hljs-keyword\">var<\/span> myWidget = cloudinary.createUploadWidget({\n  <span class=\"hljs-attr\">cloudName<\/span>: <span class=\"hljs-string\">'my_cloud_name'<\/span>, \n  <span class=\"hljs-attr\">uploadPreset<\/span>: <span class=\"hljs-string\">'my_preset'<\/span>}, (error, result) =&gt; { \n    <span class=\"hljs-keyword\">if<\/span> (!error &amp;&amp; result &amp;&amp; result.event === <span class=\"hljs-string\">\"success\"<\/span>) { \n      <span class=\"hljs-built_in\">console<\/span>.log(<span class=\"hljs-string\">'Done! Here is the image info: '<\/span>, result.info); \n    }\n  }\n)\n\n<span class=\"hljs-built_in\">document<\/span>.getElementById(<span class=\"hljs-string\">\"upload_widget\"<\/span>).addEventListener(<span class=\"hljs-string\">\"click\"<\/span>, <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span>(<span class=\"hljs-params\"><\/span>)<\/span>{\n    myWidget.open();\n  }, <span class=\"hljs-literal\">false<\/span>);\n<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>The upload widget supports the following out of the box:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/upload_widget_image_search_select2.png\" alt=\"Image showing Cloudinary upload video widget where you can select a video to upload\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"1082\"\/><\/p>\n<ul>\n<li>\n<strong>Multiple third-party sources,<\/strong> i.e., you can upload videos from Google Drive, Dropbox, Facebook, Instagram, or a web address with the widget.<\/li>\n<li>\n<strong>Multiple video uploads<\/strong> that run concurrently.<\/li>\n<li>\n<strong>On-the-fly tagging of videos<\/strong>.<\/li>\n<li>\n<strong>Skin customization of the widget<\/strong> to fit the theme of your app.<\/li>\n<li>\n<strong>Localization<\/strong> to accommodate non-English-speaking users.<\/li>\n<\/ul>\n<h2>Using the Cloudinary Video Upload API<\/h2>\n<p>Cloudinary\u2019s REST <a href=\"https:\/\/cloudinary.com\/glossary\/video-editing-api\">API<\/a> for uploads can perform all the tasks of the upload widget and many others with an extensive set of features for uploads, manipulation, transformation, and delivery.<\/p>\n<p>With a direct call to the API\u2019s URL through an HTTPS <code>POST<\/code> request, your app can upload videos directly to Cloudinary. For example:<\/p>\n<p>URL: <code>https:\/\/api.cloudinary.com\/v1_1\/&lt;cloud name&gt;\/&lt;resource_type&gt;\/upload<\/code>\n<strong><em>cloud_name<\/em><\/strong>  refers to your account\u2019s cloud name, which is shown on your console.\n<strong><em>resource_type<\/em><\/strong> refers to the type of file to upload. You can specify a value, such as <code>image<\/code>, <code>raw<\/code>, <code>video<\/code>, or <code>auto<\/code> to have Cloudinary automatically detect the file type.\nHowever, you don\u2019t have to manually make direct HTTP calls. Cloudinary offers <a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_sdks\">SDKs for PHP, Node.js, Ruby, Go, .NET, iOS, Android, Kotlin, and other popular frameworks, such as Laravel, Django, and Rails<\/a>, complete with fluent and expressive methods.<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.video(\\&quot;dog\\&quot;, {quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;dog\\&quot;, {quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Video publicId=\\&quot;dog\\&quot; &gt; &lt;Transformation quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Video publicId=\\&quot;dog\\&quot; &gt;\\n\\t&lt;Transformation quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Video&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-video public-id=\\&quot;dog\\&quot; &gt; &lt;cld-transformation quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-video public-id=\\&quot;dog\\&quot; &gt;\\n\\t&lt;cld-transformation quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-video&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-video public-id=\\&quot;dog\\&quot; &gt; &lt;cl-transformation quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-video public-id=\\&quot;dog\\&quot; &gt;\\n\\t&lt;cl-transformation quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-video&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.videoTag(&#039;dog&#039;, {quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.videoTag(&#039;dog&#039;, {quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryVideo(\\&quot;dog\\&quot;).video(quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryVideo(\\&quot;dog\\&quot;).video(quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new VideoTag(&#039;dog.mp4&#039;))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;codeSnippet&quot;:&quot;(new VideoTag(&#039;dog.mp4&#039;))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_video_tag(\\&quot;dog\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;dog\\&quot;, array(\\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;)).videoTag(\\&quot;dog\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;)).videoTag(\\&quot;dog\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_video_tag(\\&quot;dog\\&quot;, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;dog\\&quot;, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlVideoUp.Transform(new Transformation().Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;)).BuildVideoTag(\\&quot;dog\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlVideoUp.Transform(new Transformation().Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;)).BuildVideoTag(\\&quot;dog\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.video(&#039;dog.mp4&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;dog.mp4&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.createUrl().setResourceType(\\&quot;video\\&quot;).setTransformation(CLDTransformation().setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;)).generate(\\&quot;dog.mp4\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.createUrl().setResourceType(\\&quot;video\\&quot;).setTransformation(CLDTransformation().setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;)).generate(\\&quot;dog.mp4\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;dog.mp4\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;dog.mp4\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.video(&#039;dog.mp4&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;dog.mp4&#039;).transformation(Transformation()\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.video {\\n\\tpublicId(\\&quot;dog.mp4\\&quot;)\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video {\\n\\tpublicId(\\&quot;dog.mp4\\&quot;)\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.video(\\&quot;dog\\&quot;, {quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.video(\\&quot;dog\\&quot;, {quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;dog.mp4\\&quot;)\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/f_auto,q_auto\\\/dog.mp4&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;video&quot;,&quot;transformation&quot;:[{&quot;format&quot;:&quot;auto&quot;,&quot;quality&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;f_auto,q_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;dog.mp4&quot;,&quot;extension&quot;:&quot;mp4&quot;,&quot;format&quot;:&quot;mp4&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;video&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><video\n      controls\n      muted\n      preload=\"none\"\n      class=\"c-transformed-asset c-transformed-asset--video\"\n      poster=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto,q_auto\/dog.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto,q_auto\/vc_h265\/dog.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto,q_auto\/vc_vp9\/dog.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto,q_auto\/vc_auto\/dog.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto,q_auto\/vc_auto\/dog.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<h2>Video Uploads With the Media Library UI<\/h2>\n<p>Uploading videos through the Cloudinary Media Library UI is the simplest and most straightforward way. No setup or integration is required. All you need to do is log in to your Cloudinary account, click the <strong>Media Library<\/strong> tab on the Cloudinary dashboard, and drag and drop videos to the library.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/media-library.jpg\" alt=\"Image showing Cloudinary upload video Media Library UI where you can select a video to upload\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"890\"\/><\/p>\n<p>Alternatively, click the <strong>Upload<\/strong> button on the upper-right corner to invoke the widget for uploads.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/image\/upload\/w_700,c_fill,f_auto,q_auto,dpr_2.0\/Web_Assets\/blog\/click-upload.jpg\" alt=\"Image showing screenshot of Cloudinary upload video drag and drop feature\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"890\"\/><\/p>\n<h2>Cloudinary Upload Video With the Media Library UI Widget<\/h2>\n<p>With its features for rich search and optimized media-asset delivery, Cloudinary\u2019s Media Library UI widget gives you all the capabilities of the Media Library UI. You can Integrate that widget into any CMS or web app with only a few lines of code. Afterwards, all users can access videos directly from your Cloudinary account and use them as they wish in the app.<\/p>\n<div class='c-callout  c-callout--inline-title c-callout--tip'><strong class='c-callout__title'>Tip:<\/strong> <p>Try out some of the configuration options in this <a href=\"https:\/\/media-library-widget-demo.cloudinary.com\/\">Media Library interactive demo<\/a>. Although it does not cover every possible option, the demo generates the code required for implementing the options you select, making for an ideal sandbox for getting started with the widget. For a personalized experience, specify your cloud name and API key. (To obtain those two credentials, <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">sign up<\/a> for a free account).<\/p>\n<p><a href=\"https:\/\/media-library-widget-demo.cloudinary.com\/\"><img decoding=\"async\" src=\"https:\/\/cloudinary-res.cloudinary.com\/image\/upload\/bo_1px_solid_black,a_0\/f_auto,q_auto,dpr_auto\/docs\/media_library_widget\/media_library_widget_demo.png\" alt=\"Image showing screenshot of Cloudinary upload video Media Library interactive demo\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"2736\" height=\"1516\"\/><\/a><\/p><\/div>\n<p>The following code performs the integration:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">button<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"open-btn\"<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"open-btn\"<\/span>&gt;<\/span>Upload Video Files<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">button<\/span>&gt;<\/span>\n \n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\"https:\/\/media-library.cloudinary.com\/global\/all.js\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\u201dtext\/javascript\u201d<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">script<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/javascript\"<\/span>&gt;<\/span><span class=\"javascript\">  \n\t<span class=\"hljs-built_in\">window<\/span>.ml = cloudinary.createMediaLibrary({\n   <span class=\"hljs-attr\">cloud_name<\/span>: <span class=\"hljs-string\">'xxxxx'<\/span>,\n   <span class=\"hljs-attr\">api_key<\/span>: <span class=\"hljs-string\">'xxxxx'<\/span>,\n   <span class=\"hljs-attr\">username<\/span>: <span class=\"hljs-string\">'xxxxx'<\/span>,\n   <span class=\"hljs-attr\">button_class<\/span>: <span class=\"hljs-string\">'myBtn'<\/span>,\n   <span class=\"hljs-attr\">button_caption<\/span>: <span class=\"hljs-string\">'Select Video'<\/span>,\n }, {\n     <span class=\"hljs-attr\">insertHandler<\/span>: <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> (<span class=\"hljs-params\">data<\/span>) <\/span>{\n       data.assets.forEach(<span class=\"hljs-function\"><span class=\"hljs-params\">asset<\/span> =&gt;<\/span> { <span class=\"hljs-built_in\">console<\/span>.log(<span class=\"hljs-string\">\"Inserted asset:\"<\/span>,\n       <span class=\"hljs-built_in\">JSON<\/span>.stringify(asset, <span class=\"hljs-literal\">null<\/span>, <span class=\"hljs-number\">2<\/span>)) })\n       }\n    },\n    <span class=\"hljs-built_in\">document<\/span>.getElementById(<span class=\"hljs-string\">\"open-btn\"<\/span>)\n)\n<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">script<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>For more details on integrating the Cloudinary Media Library UI widget, check out this <a href=\"https:\/\/cloudinary.com\/documentation\/media_library_widget\">comprehensive guide<\/a>.<\/p>\n<h2>Next Steps<\/h2>\n<p>Video upload is only one of the many functions of the entire spectrum of Cloudinary\u2019s media-management pipeline. Cloudinary also transforms, optimizes, and delivers videos. Transformations can occur just before or after upload, or on the fly. For details, see the <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery\">related documentation<\/a>.<\/p>\n<p>In addition, Cloudinary\u2019s JavaScript-based HTML5 video player delivers uploaded videos in an optimal way. Besides being bundled with many valuable customization and integration capabilities, the video player is monetization and analytics ready, fully responsive for use in any device or screen size, and is integrated with Cloudinary\u2019s video-delivery and manipulation capabilities.<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml shcb-wrap-lines\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">div<\/span> <span class=\"hljs-attr\">style<\/span>=<span class=\"hljs-string\">\"max-width: px\"<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">video<\/span> <span class=\"hljs-attr\">id<\/span>=<span class=\"hljs-string\">\"doc-player\"<\/span> <span class=\"hljs-attr\">controls<\/span> <span class=\"hljs-attr\">muted<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"cld-video-player cld-fluid\"<\/span>&gt;<\/span><span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">video<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">div<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php shcb-wrap-lines\"><span class=\"hljs-keyword\">var<\/span> cld = cloudinary.Cloudinary.<span class=\"hljs-keyword\">new<\/span>({ cloud_name: <span class=\"hljs-string\">'demo'<\/span> });\n<span class=\"hljs-keyword\">var<\/span> demoplayer = cld.videoPlayer(<span class=\"hljs-string\">'doc-player'<\/span>).width(<span class=\"hljs-number\">600<\/span>);\ndemoplayer.source(<span class=\"hljs-string\">'race_road_car'<\/span>)\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>To further explore the video player, see the <a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_video_player#video_player_features\">related documentation<\/a>.<\/p>\n<p>Related content: Read our guide to <a href=\"https:\/\/cloudinary.com\/guides\/marketing-videos\/three-tips-for-faster-easier-video-delivery\">video delivery<\/a> and <a href=\"https:\/\/cloudinary.com\/guides\/marketing-videos\/a-deep-dive-into-video-auto-tagging\">video tagging<\/a>.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":22341,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[119,303,305],"class_list":["post-22340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-file-upload","tag-video","tag-video-api"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Upload Video to Cloudinary<\/title>\n<meta name=\"description\" content=\"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Video Uploads With Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-03T14:36:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-16T17:18:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Video Uploads With Cloudinary\",\"datePublished\":\"2021-05-03T14:36:46+00:00\",\"dateModified\":\"2025-10-16T17:18:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\"},\"wordCount\":4,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA\",\"keywords\":[\"File-upload\",\"Video\",\"Video API\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2021\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\",\"name\":\"How to Upload Video to Cloudinary\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA\",\"datePublished\":\"2021-05-03T14:36:46+00:00\",\"dateModified\":\"2025-10-16T17:18:50+00:00\",\"description\":\"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA\",\"width\":1540,\"height\":847,\"caption\":\"Image showing graphic representing Cloudinary upload video\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Video Uploads With Cloudinary\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Upload Video to Cloudinary","description":"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary","og_locale":"en_US","og_type":"article","og_title":"Video Uploads With Cloudinary","og_description":"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.","og_url":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2021-05-03T14:36:46+00:00","article_modified_time":"2025-10-16T17:18:50+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary"},"author":{"name":"","@id":""},"headline":"Video Uploads With Cloudinary","datePublished":"2021-05-03T14:36:46+00:00","dateModified":"2025-10-16T17:18:50+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary"},"wordCount":4,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","keywords":["File-upload","Video","Video API"],"inLanguage":"en-US","copyrightYear":"2021","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary","url":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary","name":"How to Upload Video to Cloudinary","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","datePublished":"2021-05-03T14:36:46+00:00","dateModified":"2025-10-16T17:18:50+00:00","description":"Cloudinary upload video | Simple instructions for leveraging the Cloudinary\u2019s many options for video uploads and delivery.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","width":1540,"height":847,"caption":"Image showing graphic representing Cloudinary upload video"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/video_uploads_with_cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Video Uploads With Cloudinary"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649719151\/Web_Assets\/blog\/video_upload_22341ba3c4\/video_upload_22341ba3c4.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22340","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=22340"}],"version-history":[{"count":13,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22340\/revisions"}],"predecessor-version":[{"id":38783,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22340\/revisions\/38783"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/22341"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}