{"id":22072,"date":"2020-05-28T16:27:19","date_gmt":"2020-05-28T16:27:19","guid":{"rendered":"http:\/\/creating_more_engaging_social_videos_at_scale"},"modified":"2024-08-15T16:54:57","modified_gmt":"2024-08-15T23:54:57","slug":"creating_more_engaging_social_videos_at_scale","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale","title":{"rendered":"Creating More Engaging Social Videos at Scale"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><link href=\"https:\/\/unpkg.com\/cloudinary-video-player@1.4.0\/dist\/cld-video-player.min.css\" rel=\"stylesheet\">\n<script src=\"https:\/\/unpkg.com\/cloudinary-core@2.6.3\/cloudinary-core-shrinkwrap.min.js\" type=\"text\/javascript\"><\/script>\n<script src=\"https:\/\/unpkg.com\/cloudinary-video-player@1.4.0\/dist\/cld-video-player.min.js\" \n    type=\"text\/javascript\"><\/script>\n<p>With <a href=\"https:\/\/cloudinary.com\/video_api\">video<\/a> becoming increasingly popular, especially across social media, it\u2019s as important as ever to ensure that your videos aren\u2019t one of the hundreds that people just scroll on past. Toward that end, successful techniques have emerged over the last couple of years, e.g.:<\/p>\n<ul>\n<li>Overlaying a progress indicator so viewers can see the video length if no controls are displayed.<\/li>\n<li>Adding branded overlays to grab attention and spotlight your company.<\/li>\n<li>Showing subtitles to enhance the understanding of muted videos.<\/li>\n<\/ul>\n<h2>Cloudinary Automations for a Streamlined Workflow<\/h2>\n<p>Cloudinary can help you as developers automate and build on those tasks so that you can deliver engaging video experiences to viewers at scale. In addition to simple ways for adding impressive overlays and slick subtitles, we\u2019ve now added the final piece of the jigsaw with our new <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery#add_a_video_progress_indicator\"><code>progressbar<\/code> effect<\/a>. Given that you\u2019re building videos on <a href=\"https:\/\/cloudinary.com\/video_api\">Cloudinary\u2019s Dynamic Video platform<\/a>, why not also make use of the advanced AI functionalities, such as automatic content-aware cropping, so that you can push out videos to social networks in the right aspect ratio while keeping all the best content intact?<\/p>\n<p>Below is an example video with four user-friendly features:<\/p>\n<ul>\n<li>A progress indicator frame<\/li>\n<li>Automatically generated subtitles<\/li>\n<li>A branded overlay<\/li>\n<li>AI-based resizing to a different aspect ratio through content-aware cropping<\/li>\n<\/ul>\n<video controls muted style=\"margin: 0 auto;display: block\" poster=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_4:3,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/digital-asset-management-with-cloudinary.jpg\" src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/f_auto\/ar_4:3,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/digital-asset-management-with-cloudinary.mp4\">\n<\/video>\n<p>This post shows you how to automate the creation of videos\u2014just like the one above\u2014with the Node.js SDK as an example. You can then easily produce your own engaging experiences for viewers and get those who scroll nonstop to stop at your videos.<\/p>\n<p>This is part of a 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>.<\/p>\n<hr \/>\n<p><a href=\"https:\/\/cldnry.com\/blog-free\"><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\/Cloudinary_banner_Free_Plan.png\" alt=\"Sign up with Cloudinary for free\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"1400\" height=\"376\"\/><\/a><\/p>\n<hr \/>\n<h2>Step 1: Make Progress<\/h2>\n<p>Over the past few years, the video experience at social networks has evolved in such a way that we\u2019re all used to videos auto-playing when scrolled into view, often without displaying any controls until we interact with them. Even though such an approach increases the number of views, if viewers have no clues of a video\u2019s length, they might just keep scrolling.<\/p>\n<p>To alert viewers how much precious time a no-controls video takes out of their day, content creators have overlaid a progress indicator\u2014either along the bottom or around the frame of the video. If viewers can see that the video is reasonably short, they might very well watch till the end.<\/p>\n<p>Cloudinary offers a simple way in which to overlay a progress indicator with no calculations required: Just add the <code>progressbar<\/code> effect (<code>e_progressbar<\/code> in URLs), and Cloudinary does all the heavy lifting. By default, that configuration adds a 10-px.-wide red progress bar, as shown in this example:<\/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;digital-asset-management-with-cloudinary\\&quot;, {effect: \\&quot;progressbar\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;digital-asset-management-with-cloudinary\\&quot;, {effect: \\&quot;progressbar\\&quot;})&quot;,&quot;status&quot;:51,&quot;statusText&quot;:&quot;Ruby code_generator_failed_unexpectedly&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;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/e_progressbar\\\/digital-asset-management-with-cloudinary.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;effect&quot;:&quot;progressbar&quot;}],&quot;transformation_string&quot;:&quot;e_progressbar&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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;,&quot;error&quot;:{}}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<br>\n<video\n   class=\"cld-video-player cld-fluid cld-video-player-skin-light\"   \n   controls\n   muted\n   data-cld-public-id=\"digital-asset-management-with-cloudinary\"\n   data-cld-transformation='{\"effect\": \"progressbar\", \"quality\": \"auto\"}'>\n<\/video>\n<\/br>\n<p>You can customize the progress bar to fit your requirements. Three parameters are available:<\/p>\n<ul>\n<li>\n<code>type<\/code> controls the type of progress indicator, which can be <code>bar<\/code> or <code>frame<\/code>.<\/li>\n<li>\n<code>color<\/code> controls the color of the indicator.<\/li>\n<li>\n<code>width<\/code> controls the width (in pixels) of the indicator.<\/li>\n<\/ul>\n<p>See this example of a slightly thinner orange-frame effect:<\/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;digital-asset-management-with-cloudinary\\&quot;, {effect: \\&quot;progressbar:frame:orange:8\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;digital-asset-management-with-cloudinary\\&quot;, {effect: \\&quot;progressbar:frame:orange:8\\&quot;})&quot;,&quot;status&quot;:51,&quot;statusText&quot;:&quot;Ruby code_generator_failed_unexpectedly&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;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/e_progressbar:frame:orange:8\\\/digital-asset-management-with-cloudinary.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;effect&quot;:&quot;progressbar:frame:orange:8&quot;}],&quot;transformation_string&quot;:&quot;e_progressbar:frame:orange:8&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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;,&quot;error&quot;:{}}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<br>\n<video\n   class=\"cld-video-player cld-fluid cld-video-player-skin-light\"   \n   controls\n   muted\n   data-cld-public-id=\"digital-asset-management-with-cloudinary\"\n   data-cld-transformation='{\"effect\": \"progressbar:frame:orange:8\", \"quality\": \"auto\"}'>\n<\/video>\n<\/br>\n<p>For details on how to take that effect to videos, check out  the <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery#add_a_video_progress_indicator\">documentation on <code>progressbar<\/code><\/a>.<\/p>\n<h2>Step 2: Turn Off Sound and Turn On Subtitles<\/h2>\n<p>According to research by Verizon and Publicis, 93% of mobile users watch videos with the sound off, and 80% would watch an entire video if subtitles were available. Such statistics show how important it is for silent videos to be compelling for viewers. However, creating subtitles can be laborious and time consuming, especially in the case of a huge volume of videos. Gratifyingly, with one of Cloudinary\u2019s Video Transcription add-ons, (<a href=\"https:\/\/cloudinary.com\/users\/login?RelayState=%2Fconsole%2F%2Faddons\">Google Speech<\/a>, or <a href=\"https:\/\/cloudinary.com\/users\/login?RelayState=%2Fconsole%2Faddons\">Azure<\/a>), you can automate that task and combine it with Cloudinary\u2019s other features.<\/p>\n<p>After enabling one of the Video Transcription add-ons, you can generate subtitles automatically on upload by setting the <code>raw_convert<\/code> parameter to either <code>google\\_speech<\/code> or <code>azure\\_video\\_indexer<\/code>, which adds, by default, a RAW transcript file with the same name as your video to your account. You can also generate a Video Text Tracks (VTT) file with that option, as shown in the upload code below, assuming that you have installed the Node.js SDK and created a Cloudinary instance:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">cloudinary<\/span><span class=\"hljs-selector-class\">.v2<\/span><span class=\"hljs-selector-class\">.uploader<\/span><span class=\"hljs-selector-class\">.upload<\/span>(\"<span class=\"hljs-selector-tag\">my-video<\/span><span class=\"hljs-selector-class\">.mp4<\/span>\",\n   {\n       <span class=\"hljs-attribute\">resource_type<\/span>: <span class=\"hljs-string\">\"video\"<\/span>,\n       type: <span class=\"hljs-string\">\"upload\"<\/span>,\n       raw_convert: <span class=\"hljs-string\">\"azure_video_indexer:vtt\"<\/span>,\/\/ Auto-generate subtitles and save vtt file\n       use_filename: true,\n       notification_url: <span class=\"hljs-string\">\"my-webhook\"<\/span>\n   })\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>Once upload is complete, you\u2019ll see the transcript and VTT files in your Media Library. Because text tracks do not work on social networks, you must overlay the transcript files as subtitles, as in this example:<\/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;digital-asset-management-with-cloudinary\\&quot;, {overlay: {resource_type: \\&quot;subtitles\\&quot;, public_id: \\&quot;digital-asset-management-with-cloudinary.vtt\\&quot;}})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;digital-asset-management-with-cloudinary\\&quot;, {overlay: {resource_type: \\&quot;subtitles\\&quot;, public_id: \\&quot;digital-asset-management-with-cloudinary.vtt\\&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;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/l_subtitles:digital-asset-management-with-cloudinary.vtt\\\/digital-asset-management-with-cloudinary.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;overlay&quot;:&quot;subtitles:digital-asset-management-with-cloudinary.vtt&quot;}],&quot;transformation_string&quot;:&quot;l_subtitles:digital-asset-management-with-cloudinary.vtt&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/digital-asset-management-with-cloudinary.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/vc_h265\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/vc_vp9\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/vc_auto\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/vc_auto\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<p>Nice, simple, and all automated. Now you can share your videos with the sound off and subtitles on.<\/p>\n<h2>Step 3: Keep It on Brand<\/h2>\n<p>Given the importance of delivering an optimal video experience for the viewers who scroll nonstop, how do you ensure that they remember your brand after only a quick glance? One simple technique is to overlay bold imagery for your brand.<\/p>\n<p>To do that, just pick your brand assets and then resize, and position them with Cloudinary\u2019s tried-and-tested overlay transformation technique.<\/p>\n<p>This example shows an overlay of the Cloudinary fashion-demo logo in the top right corner of the video and the Cloudinary logo in the bottom left. Both logos are conspicuous and impossible to miss.<\/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;digital-asset-management-with-cloudinary\\&quot;, {transformation: [ {color: \\&quot;#db8226\\&quot;, effect: \\&quot;colorize\\&quot;, gravity: \\&quot;north_east\\&quot;, overlay: \\&quot;cld_fashion\\&quot;, width: \\&quot;0.5\\&quot;, x: \\&quot;0.01\\&quot;, y: \\&quot;0.01\\&quot;, crop: \\&quot;scale\\&quot;}, {color: \\&quot;#0e2f5a\\&quot;, effect: \\&quot;colorize\\&quot;, gravity: \\&quot;south_west\\&quot;, overlay: \\&quot;cld_logo_white\\&quot;, width: \\&quot;0.5\\&quot;, x: \\&quot;0.01\\&quot;, y: \\&quot;0.01\\&quot;, crop: \\&quot;scale\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;digital-asset-management-with-cloudinary\\&quot;, {transformation: [\\n  {color: \\&quot;#db8226\\&quot;, effect: \\&quot;colorize\\&quot;, gravity: \\&quot;north_east\\&quot;, overlay: \\&quot;cld_fashion\\&quot;, width: \\&quot;0.5\\&quot;, x: \\&quot;0.01\\&quot;, y: \\&quot;0.01\\&quot;, crop: \\&quot;scale\\&quot;},\\n  {color: \\&quot;#0e2f5a\\&quot;, effect: \\&quot;colorize\\&quot;, gravity: \\&quot;south_west\\&quot;, overlay: \\&quot;cld_logo_white\\&quot;, width: \\&quot;0.5\\&quot;, x: \\&quot;0.01\\&quot;, y: \\&quot;0.01\\&quot;, crop: \\&quot;scale\\&quot;}\\n  ]})&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;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/c_scale,co_rgb:db8226,e_colorize,g_north_east,l_cld_fashion,w_0.5,x_0.01,y_0.01\\\/c_scale,co_rgb:0e2f5a,e_colorize,g_south_west,l_cld_logo_white,w_0.5,x_0.01,y_0.01\\\/digital-asset-management-with-cloudinary.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;crop_mode&quot;:&quot;scale&quot;,&quot;color&quot;:&quot;rgb:db8226&quot;,&quot;effect&quot;:&quot;colorize&quot;,&quot;gravity&quot;:&quot;north_east&quot;,&quot;overlay&quot;:&quot;cld_fashion&quot;,&quot;width&quot;:&quot;0.5&quot;,&quot;x&quot;:&quot;0.01&quot;,&quot;y&quot;:&quot;0.01&quot;},{&quot;crop_mode&quot;:&quot;scale&quot;,&quot;color&quot;:&quot;rgb:0e2f5a&quot;,&quot;effect&quot;:&quot;colorize&quot;,&quot;gravity&quot;:&quot;south_west&quot;,&quot;overlay&quot;:&quot;cld_logo_white&quot;,&quot;width&quot;:&quot;0.5&quot;,&quot;x&quot;:&quot;0.01&quot;,&quot;y&quot;:&quot;0.01&quot;}],&quot;transformation_string&quot;:&quot;c_scale,co_rgb:db8226,e_colorize,g_north_east,l_cld_fashion,w_0.5,x_0.01,y_0.01\\\/c_scale,co_rgb:0e2f5a,e_colorize,g_south_west,l_cld_logo_white,w_0.5,x_0.01,y_0.01&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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><\/p>\n<br>\n<video\n   id=\"branded\"\n   class=\"cld-video-player cld-fluid cld-video-player-skin-light\"   \n   muted\n   controls\n   data-cld-public-id=\"digital-asset-management-with-cloudinary\"\n   data-cld-transformation='{\"transformation\": [\"cld_brand_blog_color2\"]}'>\n<\/video>\n<\/br>\n<div class='c-callout  c-callout--inline-title c-callout--tip'><strong class='c-callout__title'>Tip:<\/strong> <p>To facilitate reuse, save your brand overlay as a <a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations\">named transformation<\/a>.<\/p><\/div>\n<h2>Step 4: Generate the Final Video<\/h2>\n<p>Now combine the effects and overlays to create the final video. In this case, you deliver two videos: one in a square (1:1) aspect ratio and the other in a vertical (9:16) aspect ratio. Do that with Cloudinary\u2019s AI-based automatic content-aware cropping. That feature automatically identifies the most relevant content from each frame of the video and crops accordingly, ensuring that the content stays intact when you add it to various social networks in different aspect ratios.<\/p>\n<p>Automatic content-aware cropping starts with the generation of a heatmap from the video. Since that process can take a while to complete, trigger it as an eager transformation when uploading the video. The example below shows a width setting of 500 px., an aspect ratio of 1:1, a <code>fill<\/code> crop mode, and <code>auto<\/code> gravity, which sparks the creation of a heatmap. Once the process is complete, you can generate other video sizes on the fly.<\/p>\n<div class='c-callout  c-callout--inline-title c-callout--note'><strong class='c-callout__title'>Note:<\/strong> <p>On-the-fly video transformations take time to complete, especially for large files.<\/p><\/div>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css shcb-wrap-lines\"><span class=\"hljs-selector-tag\">cloudinary<\/span><span class=\"hljs-selector-class\">.v2<\/span><span class=\"hljs-selector-class\">.uploader<\/span><span class=\"hljs-selector-class\">.upload<\/span>(\"<span class=\"hljs-selector-tag\">my-video<\/span><span class=\"hljs-selector-class\">.mp4<\/span>\",\n   {\n       <span class=\"hljs-attribute\">resource_type<\/span>: <span class=\"hljs-string\">\"video\"<\/span>,\n       type: <span class=\"hljs-string\">\"upload\"<\/span>,\n       use_filename: true,\n       eager: &#91;\/\/ Eagerly trigger automatic content-aware cropping.\n           {\n               width: <span class=\"hljs-string\">\"500\"<\/span>,\n               crop: <span class=\"hljs-string\">\"fill\"<\/span>,\n               aspect_ratio: <span class=\"hljs-string\">\"1:1\"<\/span>,\n               gravity: <span class=\"hljs-string\">\"auto\"<\/span>\n           }\n       ],\n       <span class=\"hljs-selector-tag\">eager_notification_url<\/span>: \"<span class=\"hljs-selector-tag\">my-eager-webhook<\/span>\",\n       <span class=\"hljs-selector-tag\">notification_url<\/span>: \"<span class=\"hljs-selector-tag\">my-webhook<\/span>\"\n   })\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>Now combine the above code and add all the previous transformations to generate the final URL. Below is a complete code example for generating the final video output:<\/p>\n<pre class=\"js-syntax-highlighted\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">cloudinary.v2.uploader.upload(<span class=\"hljs-string\">\"my-video.mp4\"<\/span>,\n    {\n        <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">\"video\"<\/span>,\n        <span class=\"hljs-attr\">type<\/span>: <span class=\"hljs-string\">\"upload\"<\/span>,\n        <span class=\"hljs-attr\">raw_convert<\/span>: <span class=\"hljs-string\">\"google_speech:vtt\"<\/span>,<span class=\"hljs-comment\">\/\/ Auto-generate subtitles and save vtt file<\/span>\n        <span class=\"hljs-attr\">use_filename<\/span>: <span class=\"hljs-literal\">true<\/span>,\n        <span class=\"hljs-attr\">eager<\/span>: &#91;<span class=\"hljs-comment\">\/\/ Eagerly trigger automatic content-aware cropping.<\/span>\n            {\n                <span class=\"hljs-attr\">width<\/span>: <span class=\"hljs-string\">\"500\"<\/span>,\n                <span class=\"hljs-attr\">crop<\/span>: <span class=\"hljs-string\">\"fill\"<\/span>,\n                <span class=\"hljs-attr\">aspect_ratio<\/span>: <span class=\"hljs-string\">\"1:1\"<\/span>,\n                <span class=\"hljs-attr\">gravity<\/span>: <span class=\"hljs-string\">\"auto\"<\/span>\n            }\n        ]\n    }).then(<span class=\"hljs-function\">(<span class=\"hljs-params\">result<\/span>) =&gt;<\/span> {\n        <span class=\"hljs-keyword\">var<\/span> publicId = result.public_id;<span class=\"hljs-comment\">\/\/ Save public ID of video we just uploaded.<\/span>\n        generateFinalVideo(publicId)\n\n    }).catch(<span class=\"hljs-function\">(<span class=\"hljs-params\">error<\/span>) =&gt;<\/span> {\n        <span class=\"hljs-built_in\">console<\/span>.log(error);\n    })\n\n<span class=\"hljs-keyword\">var<\/span> generateFinalVideo = <span class=\"hljs-keyword\">async<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\">function<\/span> (<span class=\"hljs-params\">publicId<\/span>) <\/span>{\n    <span class=\"hljs-keyword\">await<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-built_in\">Promise<\/span>(<span class=\"hljs-function\"><span class=\"hljs-params\">resolve<\/span> =&gt;<\/span> setTimeout(resolve, <span class=\"hljs-number\">90000<\/span>));<span class=\"hljs-comment\">\/\/ Wait for 90 seconds for subtitle generation to complete. In production a webhook should be used.<\/span>\n    <span class=\"hljs-keyword\">let<\/span> finalVideo = cloudinary.url(publicId + <span class=\"hljs-string\">'.mp4'<\/span>, {<span class=\"hljs-comment\">\/\/ Build URL for final video.<\/span>\n        <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">\"video\"<\/span>,\n        <span class=\"hljs-attr\">transformation<\/span>: &#91;\n            {<span class=\"hljs-comment\">\/\/ Crop video to the right size using automatic content-aware cropping.<\/span>\n                <span class=\"hljs-attr\">width<\/span>: <span class=\"hljs-string\">\"500\"<\/span>,\n                <span class=\"hljs-attr\">aspect_ratio<\/span>: <span class=\"hljs-string\">\"1:1\"<\/span>,\n                <span class=\"hljs-attr\">crop<\/span>: <span class=\"hljs-string\">\"fill\"<\/span>,\n                <span class=\"hljs-attr\">gravity<\/span>: <span class=\"hljs-string\">\"auto\"<\/span>\n            },\n            {<span class=\"hljs-comment\">\/\/ Add brand overlays, using named transformation.<\/span>\n                <span class=\"hljs-attr\">transformation<\/span>: &#91;<span class=\"hljs-string\">\"cld_brand_blog_color\"<\/span>]\n            },\n            {<span class=\"hljs-comment\">\/\/ Add the automatically generated subtitles as an overlay.<\/span>\n                <span class=\"hljs-attr\">overlay<\/span>: {\n                    <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">\"subtitles\"<\/span>,\n                    <span class=\"hljs-attr\">public_id<\/span>: publicId + <span class=\"hljs-string\">\".vtt\"<\/span>\n                }\n            },\n            {<span class=\"hljs-comment\">\/\/ Add the progressbar frame around the video.<\/span>\n                <span class=\"hljs-attr\">effect<\/span>: <span class=\"hljs-string\">\"progressbar:frame:DB8226:8\"<\/span>\n            }\n        ]\n    });\n\n    <span class=\"hljs-built_in\">console<\/span>.log(finalVideo)<span class=\"hljs-comment\">\/\/ Output the final video URL.<\/span>\n\n} \n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n<p>This is the final video URL that is output from the code above:<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/ar_1:1,c_fill,g_auto,w_500\\\/t_cld_brand_blog_color\\\/l_subtitles:digital-asset-management-with-cloudinary.vtt\\\/e_progressbar:frame:DB8226:8\\\/digital-asset-management-with-cloudinary.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;aspect_ratio&quot;:&quot;1:1&quot;,&quot;crop_mode&quot;:&quot;fill&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;width&quot;:&quot;500&quot;},{&quot;transformation&quot;:&quot;cld_brand_blog_color&quot;},{&quot;overlay&quot;:&quot;subtitles:digital-asset-management-with-cloudinary.vtt&quot;},{&quot;effect&quot;:&quot;progressbar:frame:DB8226:8&quot;}],&quot;transformation_string&quot;:&quot;ar_1:1,c_fill,g_auto,w_500\\\/t_cld_brand_blog_color\\\/l_subtitles:digital-asset-management-with-cloudinary.vtt\\\/e_progressbar:frame:DB8226:8&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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;,&quot;error&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\/ar_1:1,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/digital-asset-management-with-cloudinary.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_1:1,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_h265\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_1:1,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_vp9\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_1:1,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_auto\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_1:1,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_auto\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<p>You can edit the URL, which includes the square crop, to generate a vertical 9:16 video. For example:<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/video\\\/upload\\\/ar_9:16,c_fill,g_auto,w_500\\\/t_cld_brand_blog_color\\\/l_subtitles:digital-asset-management-with-cloudinary.vtt\\\/e_progressbar:frame:DB8226:8\\\/digital-asset-management-with-cloudinary.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;aspect_ratio&quot;:&quot;9:16&quot;,&quot;crop_mode&quot;:&quot;fill&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;width&quot;:&quot;500&quot;},{&quot;transformation&quot;:&quot;cld_brand_blog_color&quot;},{&quot;overlay&quot;:&quot;subtitles:digital-asset-management-with-cloudinary.vtt&quot;},{&quot;effect&quot;:&quot;progressbar:frame:DB8226:8&quot;}],&quot;transformation_string&quot;:&quot;ar_9:16,c_fill,g_auto,w_500\\\/t_cld_brand_blog_color\\\/l_subtitles:digital-asset-management-with-cloudinary.vtt\\\/e_progressbar:frame:DB8226:8&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;digital-asset-management-with-cloudinary.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;,&quot;error&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\/ar_9:16,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/digital-asset-management-with-cloudinary.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_9:16,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_h265\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_9:16,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_vp9\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_9:16,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_auto\/digital-asset-management-with-cloudinary.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/ar_9:16,c_fill,g_auto,w_500\/t_cld_brand_blog_color\/l_subtitles:digital-asset-management-with-cloudinary.vtt\/e_progressbar:frame:DB8226:8\/q_auto,f_auto\/vc_auto\/digital-asset-management-with-cloudinary.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<h2>Summary<\/h2>\n<p>There you have it: a basic tutorial on how to combine various Cloudinary features to automate the generation of social videos, preventing content from being scrolled past. Give it a try yourself by starting with our new feature, i.e., <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery#add_a_video_progress_indicator\">overlay a progress indicator<\/a> to your videos by adding the <code>progressbar<\/code> effect (e_progressbar in URLs).<\/p>\n<p>For more ways to enhance video experience, check out our <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery\">documentation on video transformations<\/a>.<\/p>\n<script>\nvar cld = cloudinary.Cloudinary.new({ cloud_name: \"demo\", secure: true});\nvar player = cld.videoPlayer('branded');\nvar players = cld.videoPlayers('.cld-video-player', {\n    autoplay: true,\n    autoplayMode: \"on-scroll\",\n    controls: false,\n    muted: true,\n    });\n<\/script>\n<p>Related content: Read our guide to <a href=\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\">social videos<\/a> and <a href=\"https:\/\/cloudinary.com\/guides\/marketing-videos\/harness-the-power-of-video-on-your-landing-page\">landing page video<\/a>.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":22073,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[25,303,305],"class_list":["post-22072","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-asset-management","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>Automatic Video Creation for Social Media at Scale<\/title>\n<meta name=\"description\" content=\"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.\" \/>\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\/creating_more_engaging_social_videos_at_scale\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating More Engaging Social Videos at Scale\" \/>\n<meta property=\"og:description\" content=\"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-28T16:27:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-15T23:54:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4-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\/creating_more_engaging_social_videos_at_scale#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Creating More Engaging Social Videos at Scale\",\"datePublished\":\"2020-05-28T16:27:19+00:00\",\"dateModified\":\"2024-08-15T23:54:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA\",\"keywords\":[\"Asset Management\",\"Video\",\"Video API\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2020\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\",\"url\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\",\"name\":\"Automatic Video Creation for Social Media at Scale\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA\",\"datePublished\":\"2020-05-28T16:27:19+00:00\",\"dateModified\":\"2024-08-15T23:54:57+00:00\",\"description\":\"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating More Engaging Social Videos at Scale\"}]},{\"@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":"Automatic Video Creation for Social Media at Scale","description":"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.","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\/creating_more_engaging_social_videos_at_scale","og_locale":"en_US","og_type":"article","og_title":"Creating More Engaging Social Videos at Scale","og_description":"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.","og_url":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale","og_site_name":"Cloudinary Blog","article_published_time":"2020-05-28T16:27:19+00:00","article_modified_time":"2024-08-15T23:54:57+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4-png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale"},"author":{"name":"","@id":""},"headline":"Creating More Engaging Social Videos at Scale","datePublished":"2020-05-28T16:27:19+00:00","dateModified":"2024-08-15T23:54:57+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale"},"wordCount":7,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA","keywords":["Asset Management","Video","Video API"],"inLanguage":"en-US","copyrightYear":"2020","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale","url":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale","name":"Automatic Video Creation for Social Media at Scale","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA","datePublished":"2020-05-28T16:27:19+00:00","dateModified":"2024-08-15T23:54:57+00:00","description":"With Cloudinary\u2019s AI capabilities, automate the creation of more engaging social videos at scale, replete with overlays, subtitles, and a progress bar.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/creating_more_engaging_social_videos_at_scale#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Creating More Engaging Social Videos at Scale"}]},{"@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\/v1649786484\/Web_Assets\/blog\/Social-Videos_2207321de4\/Social-Videos_2207321de4.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22072","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=22072"}],"version-history":[{"count":10,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22072\/revisions"}],"predecessor-version":[{"id":35277,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/22072\/revisions\/35277"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/22073"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=22072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=22072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=22072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}