{"id":21726,"date":"2018-04-18T17:13:09","date_gmt":"2018-04-18T17:13:09","guid":{"rendered":"http:\/\/introducing_boomerang_video_effect_with_cloudinary"},"modified":"2024-05-20T15:20:16","modified_gmt":"2024-05-20T22:20:16","slug":"introducing_boomerang_video_effect_with_cloudinary","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary","title":{"rendered":"Introducing Boomerang Video Effect with Cloudinary"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>When you see the term <strong>boomerang<\/strong>, what is the first thing that comes to mind? <img decoding=\"async\" src=\"https:\/\/cloudinary-res.cloudinary.com\/image\/upload\/w_50,c_fill\/Boomerang.jpg\" alt=\"Boomerang\" \/><\/p>\n<p><em>A thrown tool made of wood that returns to its thrower?<\/em> Another definition is <strong>reversal<\/strong>, logically portraying the aim of the tool itself. Based on this definition, the term <a href=\"https:\/\/cloudinary.com\/video_api\">\u201cboomerang videos\u201d<\/a> came into play to depict videos that loop back and forth.<\/p>\n<p>Boomerang videos have become popular since a few years ago as videos make up a large portion of communications on social media. Little wonder that Instagram moved fast in 2016 to <a href=\"http:\/\/instagram.tumblr.com\/post\/152996384057\/161110-storiesupdate\">integrate this feature into its app<\/a>. Indisputably, <a href=\"https:\/\/cloudinary.com\/glossary\/motion-graphics\">motion graphics<\/a> are leading the trend for online chats, leading to a significant increase in GIFs and boomerang videos.<\/p>\n<p>Boomerang videos are fun and appealing, , especially for advertisers, because they keep you glued for a few more seconds\u2014ample time in which to spotlight the core capabilities of the products in question. A good example is the <a href=\"https:\/\/www.instagram.com\/p\/9JS9zypGri\/\">showcase of Microsoft\u2019s Surface Book laptop<\/a> on Instagram. Short, simple, and concise advertisements like that never fail to catch attention.<\/p>\n<p>Boomerang videos are also in popular use for memes, which are usually in the form of humorous images, videos, or text. Those videos are nothing new, however. Many high-profile videos, such as Jidenna\u2019s <a href=\"https:\/\/www.youtube.com\/watch?v=k2R5FNOEEGw\">Boomerang<\/a>, have adopted this format for a while<\/p>\n<h2>Cloudinary Makes It a Cinch<\/h2>\n<p>With Cloudinary\u2019s <a href=\"https:\/\/cloudinary.com\/product_updates\/boomerang_transformation_effect\"><code>e-boomerang<\/code> capability<\/a>, which enables videos to reverse themselves, you can add effects and transformations to the media stored on your console. Adding the effect doubles the length of the video, whose second half shows the reverse of the first half.<\/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;Cloudinary_Celebrating_1\\&quot;, {effect: \\&quot;boomerang\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {effect: \\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;Transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;\\\/Video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Video publicId=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;Transformation effect=\\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cld-transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;\\\/cld-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cld-transformation effect=\\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cl-transformation effect=\\&quot;boomerang\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cl-transformation effect=\\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&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;Cloudinary_Celebrating_1&#039;, {effect: \\&quot;boomerang\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.videoTag(&#039;Cloudinary_Celebrating_1&#039;, {effect: \\&quot;boomerang\\&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;Cloudinary_Celebrating_1\\&quot;).video(effect=\\&quot;boomerang\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1\\&quot;).video(effect=\\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang());&quot;,&quot;codeSnippet&quot;:&quot;(new VideoTag(&#039;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang());&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;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&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().effect(\\&quot;boomerang\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().effect(\\&quot;boomerang\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1\\&quot;, effect: \\&quot;boomerang\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, effect: \\&quot;boomerang\\&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().Effect(\\&quot;boomerang\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlVideoUp.Transform(new Transformation().Effect(\\&quot;boomerang\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang()));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang()));&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().setEffect(\\&quot;boomerang\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.createUrl().setResourceType(\\&quot;video\\&quot;).setTransformation(CLDTransformation().setEffect(\\&quot;boomerang\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.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().effect(\\&quot;boomerang\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().effect(\\&quot;boomerang\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang()));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang()));&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang()) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video {\\n\\tpublicId(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang()) \\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;Cloudinary_Celebrating_1\\&quot;, {effect: \\&quot;boomerang\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {effect: \\&quot;boomerang\\&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;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;).effect(boomerang());&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\\\/e_boomerang\\\/Cloudinary_Celebrating_1.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;boomerang&quot;}],&quot;transformation_string&quot;:&quot;e_boomerang&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;Cloudinary_Celebrating_1.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\/e_boomerang\/h_450\/Cloudinary_Celebrating_1.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/h_450\/vc_h265\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/h_450\/vc_vp9\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/h_450\/vc_auto\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/h_450\/vc_auto\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<p>Since boomerang videos are supposed to be brief, Cloudinary\u2019s <code>eo_#<\/code> effect reduces the video length. The <code>eo_<\/code> effect is an existing feature. For example, to trim your video to 3 seconds, add the <code>eo_3<\/code> effect. Afterwards, by adding Cloudinary\u2019s chained transformations to the <code>e-boomerang<\/code> effect, you generate a video length of 6 seconds. That\u2019s because Cloudinary has selected the first 3 seconds from the original video and another 3 seconds from the reversed version of the selected clip.<\/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;Cloudinary_Celebrating_1\\&quot;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&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;},{&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;Transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;Transformation endOffset=\\&quot;3\\&quot; \\\/&gt; &lt;\\\/Video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Video publicId=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;Transformation effect=\\&quot;boomerang\\&quot; \\\/&gt;\\n\\t&lt;Transformation endOffset=\\&quot;3\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cld-transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;cld-transformation end-offset=\\&quot;3\\&quot; \\\/&gt; &lt;\\\/cld-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cld-transformation effect=\\&quot;boomerang\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation end-offset=\\&quot;3\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cl-transformation effect=\\&quot;boomerang\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation end-offset=\\&quot;3\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cl-transformation effect=\\&quot;boomerang\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation end-offset=\\&quot;3\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&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;Cloudinary_Celebrating_1&#039;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {endOffset: \\&quot;3\\&quot;} ]}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.videoTag(&#039;Cloudinary_Celebrating_1&#039;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {endOffset: \\&quot;3\\&quot;}\\n  ]}).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;Cloudinary_Celebrating_1\\&quot;).video(transformation=[ {&#039;effect&#039;: \\&quot;boomerang\\&quot;}, {&#039;end_offset&#039;: \\&quot;3\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1\\&quot;).video(transformation=[\\n  {&#039;effect&#039;: \\&quot;boomerang\\&quot;},\\n  {&#039;end_offset&#039;: \\&quot;3\\&quot;}\\n  ])&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;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang())\\n\\t-&gt;videoEdit(VideoEdit::trim()-&gt;endOffset(3.0));&quot;,&quot;codeSnippet&quot;:&quot;(new VideoTag(&#039;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang())\\n\\t-&gt;videoEdit(VideoEdit::trim()-&gt;endOffset(3.0));&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;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array( array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&quot;), array(\\&quot;end_offset\\&quot;=&gt;\\&quot;3\\&quot;) )))&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array(\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&quot;),\\n  array(\\&quot;end_offset\\&quot;=&gt;\\&quot;3\\&quot;)\\n  )))&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().effect(\\&quot;boomerang\\&quot;).chain() .endOffset(\\&quot;3\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation()\\n  .effect(\\&quot;boomerang\\&quot;).chain()\\n  .endOffset(\\&quot;3\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1\\&quot;, transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&quot;}\\n  ])&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().Effect(\\&quot;boomerang\\&quot;).Chain() .EndOffset(\\&quot;3\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlVideoUp.Transform(new Transformation()\\n  .Effect(\\&quot;boomerang\\&quot;).Chain()\\n  .EndOffset(\\&quot;3\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;)));&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().setEffect(\\&quot;boomerang\\&quot;).chain() .setEndOffset(\\&quot;3\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.createUrl().setResourceType(\\&quot;video\\&quot;).setTransformation(CLDTransformation()\\n  .setEffect(\\&quot;boomerang\\&quot;).chain()\\n  .setEndOffset(\\&quot;3\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.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().effect(\\&quot;boomerang\\&quot;).chain() .endOffset(\\&quot;3\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation()\\n  .effect(\\&quot;boomerang\\&quot;).chain()\\n  .endOffset(\\&quot;3\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;)));&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang())\\n\\t videoEdit(VideoEdit.trim() { endOffset(3.0F) }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video {\\n\\tpublicId(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang())\\n\\t videoEdit(VideoEdit.trim() { endOffset(3.0F) }) \\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;Cloudinary_Celebrating_1\\&quot;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&quot;}\\n  ]})&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;));&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\\\/e_boomerang\\\/eo_3\\\/Cloudinary_Celebrating_1.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;boomerang&quot;},{&quot;end_offset&quot;:&quot;3&quot;}],&quot;transformation_string&quot;:&quot;e_boomerang\\\/eo_3&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;Cloudinary_Celebrating_1.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\/e_boomerang\/eo_3\/h_450\/Cloudinary_Celebrating_1.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3\/h_450\/vc_h265\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3\/h_450\/vc_vp9\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3\/h_450\/vc_auto\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3\/h_450\/vc_auto\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<p>Another interesting characteristic of boomerang videos is their repetitions. To keep a boomerang <a href=\"https:\/\/cloudinary.com\/glossary\/video-loop\">video looping<\/a>, add the <code>e_loop<\/code> effect along with the <code>eo_3<\/code>.<\/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;Cloudinary_Celebrating_1\\&quot;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&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;},{&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;Transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;Transformation endOffset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&quot; \\\/&gt; &lt;\\\/Video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Video publicId=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;Transformation effect=\\&quot;boomerang\\&quot; \\\/&gt;\\n\\t&lt;Transformation endOffset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cld-transformation effect=\\&quot;boomerang\\&quot; \\\/&gt; &lt;cld-transformation end-offset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&quot; \\\/&gt; &lt;\\\/cld-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cld-transformation effect=\\&quot;boomerang\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation end-offset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&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;Cloudinary_Celebrating_1\\&quot; &gt; &lt;cl-transformation effect=\\&quot;boomerang\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation end-offset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-video&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-video public-id=\\&quot;Cloudinary_Celebrating_1\\&quot; &gt;\\n\\t&lt;cl-transformation effect=\\&quot;boomerang\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation end-offset=\\&quot;3\\&quot; effect=\\&quot;loop:10\\&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&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;Cloudinary_Celebrating_1&#039;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {endOffset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;} ]}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.videoTag(&#039;Cloudinary_Celebrating_1&#039;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {endOffset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;}\\n  ]}).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;Cloudinary_Celebrating_1\\&quot;).video(transformation=[ {&#039;effect&#039;: \\&quot;boomerang\\&quot;}, {&#039;end_offset&#039;: \\&quot;3\\&quot;, &#039;effect&#039;: \\&quot;loop:10\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1\\&quot;).video(transformation=[\\n  {&#039;effect&#039;: \\&quot;boomerang\\&quot;},\\n  {&#039;end_offset&#039;: \\&quot;3\\&quot;, &#039;effect&#039;: \\&quot;loop:10\\&quot;}\\n  ])&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;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang())\\n\\t-&gt;videoEdit(VideoEdit::trim()-&gt;endOffset(3.0))\\n\\t-&gt;effect(Effect::loop()-&gt;additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;(new VideoTag(&#039;Cloudinary_Celebrating_1.mp4&#039;))\\n\\t-&gt;effect(Effect::boomerang())\\n\\t-&gt;videoEdit(VideoEdit::trim()-&gt;endOffset(3.0))\\n\\t-&gt;effect(Effect::loop()-&gt;additionalIterations(10));&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;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array( array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&quot;), array(\\&quot;end_offset\\&quot;=&gt;\\&quot;3\\&quot;, \\&quot;effect\\&quot;=&gt;\\&quot;loop:10\\&quot;) )))&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array(\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;boomerang\\&quot;),\\n  array(\\&quot;end_offset\\&quot;=&gt;\\&quot;3\\&quot;, \\&quot;effect\\&quot;=&gt;\\&quot;loop:10\\&quot;)\\n  )))&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().effect(\\&quot;boomerang\\&quot;).chain() .endOffset(\\&quot;3\\&quot;).effect(\\&quot;loop:10\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation()\\n  .effect(\\&quot;boomerang\\&quot;).chain()\\n  .endOffset(\\&quot;3\\&quot;).effect(\\&quot;loop:10\\&quot;)).videoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1\\&quot;, transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;cl_video_tag(\\&quot;Cloudinary_Celebrating_1\\&quot;, transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;}\\n  ])&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().Effect(\\&quot;boomerang\\&quot;).Chain() .EndOffset(\\&quot;3\\&quot;).Effect(\\&quot;loop:10\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlVideoUp.Transform(new Transformation()\\n  .Effect(\\&quot;boomerang\\&quot;).Chain()\\n  .EndOffset(\\&quot;3\\&quot;).Effect(\\&quot;loop:10\\&quot;)).BuildVideoTag(\\&quot;Cloudinary_Celebrating_1\\&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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;))\\n\\t.effect(Effect.loop().additionalIterations(10)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;))\\n\\t.effect(Effect.loop().additionalIterations(10)));&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().setEffect(\\&quot;boomerang\\&quot;).chain() .setEndOffset(\\&quot;3\\&quot;).setEffect(\\&quot;loop:10\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.createUrl().setResourceType(\\&quot;video\\&quot;).setTransformation(CLDTransformation()\\n  .setEffect(\\&quot;boomerang\\&quot;).chain()\\n  .setEndOffset(\\&quot;3\\&quot;).setEffect(\\&quot;loop:10\\&quot;)).generate(\\&quot;Cloudinary_Celebrating_1.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().effect(\\&quot;boomerang\\&quot;).chain() .endOffset(\\&quot;3\\&quot;).effect(\\&quot;loop:10\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation()\\n  .effect(\\&quot;boomerang\\&quot;).chain()\\n  .endOffset(\\&quot;3\\&quot;).effect(\\&quot;loop:10\\&quot;)).resourceType(\\&quot;video\\&quot;).generate(\\&quot;Cloudinary_Celebrating_1.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;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;))\\n\\t.effect(Effect.loop().additionalIterations(10)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video(&#039;Cloudinary_Celebrating_1.mp4&#039;).transformation(Transformation()\\n\\t.effect(Effect.boomerang())\\n\\t.videoEdit(VideoEdit.trim().endOffset(&#039;3.0&#039;))\\n\\t.effect(Effect.loop().additionalIterations(10)));&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang())\\n\\t videoEdit(VideoEdit.trim() { endOffset(3.0F) })\\n\\t effect(Effect.loop() { additionalIterations(10) }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.video {\\n\\tpublicId(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n\\t effect(Effect.boomerang())\\n\\t videoEdit(VideoEdit.trim() { endOffset(3.0F) })\\n\\t effect(Effect.loop() { additionalIterations(10) }) \\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;Cloudinary_Celebrating_1\\&quot;, {transformation: [ {effect: \\&quot;boomerang\\&quot;}, {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.video(\\&quot;Cloudinary_Celebrating_1\\&quot;, {transformation: [\\n  {effect: \\&quot;boomerang\\&quot;},\\n  {end_offset: \\&quot;3\\&quot;, effect: \\&quot;loop:10\\&quot;}\\n  ]})&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;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryVideo(\\&quot;Cloudinary_Celebrating_1.mp4\\&quot;)\\n  .effect(boomerang())\\n  .videoEdit(trim().endOffset(\\&quot;3.0\\&quot;))\\n  .effect(loop().additionalIterations(10));&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\\\/e_boomerang\\\/eo_3,e_loop:10\\\/Cloudinary_Celebrating_1.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;boomerang&quot;},{&quot;end_offset&quot;:&quot;3&quot;,&quot;effect&quot;:&quot;loop:10&quot;}],&quot;transformation_string&quot;:&quot;e_boomerang\\\/eo_3,e_loop:10&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;Cloudinary_Celebrating_1.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\/e_boomerang\/eo_3,e_loop:10\/h_450\/Cloudinary_Celebrating_1.jpg\"\n      \n    >\n      <source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3,e_loop:10\/h_450\/vc_h265\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4; codecs=hevc\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3,e_loop:10\/h_450\/vc_vp9\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm; codecs=vp9\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3,e_loop:10\/h_450\/vc_auto\/Cloudinary_Celebrating_1.mp4\" type=\"video\/mp4\">\n<source src=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/e_boomerang\/eo_3,e_loop:10\/h_450\/vc_auto\/Cloudinary_Celebrating_1.webm\" type=\"video\/webm\">\n    <\/video><\/p>\n<h2>Conclusion<\/h2>\n<p>Even though you might not know their proper name, you must have seen boomerang videos before. However, despite the fact that such videos have been around for years, creating them is no cakewalk for many web developers. Enter Cloudinary. Thanks to its intuitive <a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery\">video manipulation<\/a> techniques with <code>e_boomerang<\/code>, creating boomerang videos on Cloudinary is a seamless, simple process.<\/p>\n<p>Do try it out: <a href=\"https:\/\/cloudinary.com\">Create a Cloudinary account<\/a> first and then upload videos and add awesome effects and transformations. Problems? Thoughts? Describe them in the Comments section . We welcome your feedback.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":24970,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[134,305,304],"class_list":["post-21726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-guest-post","tag-video-api","tag-video-transformation"],"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 Make Boomerang Video Effect With Cloudinary<\/title>\n<meta name=\"description\" content=\"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.\" \/>\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\/introducing_boomerang_video_effect_with_cloudinary\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Boomerang Video Effect with Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-18T17:13:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-20T22:20:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image-jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"770\" \/>\n\t<meta property=\"og:image:height\" content=\"433\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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\/introducing_boomerang_video_effect_with_cloudinary#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"Introducing Boomerang Video Effect with Cloudinary\",\"datePublished\":\"2018-04-18T17:13:09+00:00\",\"dateModified\":\"2024-05-20T22:20:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\"},\"wordCount\":6,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA\",\"keywords\":[\"Guest Post\",\"Video API\",\"Video Transformation\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2018\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\",\"url\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\",\"name\":\"How to Make Boomerang Video Effect With Cloudinary\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA\",\"datePublished\":\"2018-04-18T17:13:09+00:00\",\"dateModified\":\"2024-05-20T22:20:16+00:00\",\"description\":\"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA\",\"width\":770,\"height\":433,\"caption\":\"Cloudinary Celebrating\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Boomerang Video Effect 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 Make Boomerang Video Effect With Cloudinary","description":"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.","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\/introducing_boomerang_video_effect_with_cloudinary","og_locale":"en_US","og_type":"article","og_title":"Introducing Boomerang Video Effect with Cloudinary","og_description":"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.","og_url":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary","og_site_name":"Cloudinary Blog","article_published_time":"2018-04-18T17:13:09+00:00","article_modified_time":"2024-05-20T22:20:16+00:00","og_image":[{"width":770,"height":433,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image-jpg?_i=AA","type":"image\/jpeg"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary"},"author":{"name":"","@id":""},"headline":"Introducing Boomerang Video Effect with Cloudinary","datePublished":"2018-04-18T17:13:09+00:00","dateModified":"2024-05-20T22:20:16+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary"},"wordCount":6,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA","keywords":["Guest Post","Video API","Video Transformation"],"inLanguage":"en-US","copyrightYear":"2018","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary","url":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary","name":"How to Make Boomerang Video Effect With Cloudinary","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA","datePublished":"2018-04-18T17:13:09+00:00","dateModified":"2024-05-20T22:20:16+00:00","description":"Cloudinary enables you to create boomerang video effects by depicting videos that loop back and forth.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA","width":770,"height":433,"caption":"Cloudinary Celebrating"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/introducing_boomerang_video_effect_with_cloudinary#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Boomerang Video Effect 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\/v1661450167\/Cloudinary_Celebrating_image\/Cloudinary_Celebrating_image.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21726","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=21726"}],"version-history":[{"count":6,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21726\/revisions"}],"predecessor-version":[{"id":33821,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21726\/revisions\/33821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/24970"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}