{"id":32332,"date":"2024-01-12T07:00:00","date_gmt":"2024-01-12T15:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=32332"},"modified":"2025-10-30T15:16:36","modified_gmt":"2025-10-30T22:16:36","slug":"smart-cropping-just-got-smarter","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter","title":{"rendered":"Smart Crop | AI-Powered Image Cropping for Free With Cloudinary"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>For several years now, Cloudinary has been excelling in the field of smart cropping \u2014 making sure important parts of images and videos are kept when resizing and cropping them automatically, and at scale.<\/p>\n<p>Cloudinary Smart Crop uses AI to analyze each image, decide what the most prominent and relevant parts of the image are, and make sure that the cropped image preserves its essential elements for the given dimensions.<\/p>\n<p>You can use Cloudinary Smart Crop and <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">get full access to all of Cloudinary for free and for life<\/a>. Sign up now to start using it!<\/p>\n<h2>Auto Gravity Recap<\/h2>\n<p>There are many ways you can <a href=\"https:\/\/cloudinary.com\/documentation\/resizing_and_cropping#resize_and_crop_modes\">crop images<\/a> using Cloudinary to suit your page design. \u201cGravity\u201d is something you can specify when cropping images in order to determine what to focus on. If you don\u2019t specify a gravity, the center of the image will always be the focus. When cropping images automatically and at scale, you won\u2019t know what\u2019s in the image, so keeping the center of the image won\u2019t always work.<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&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;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&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.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&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;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, height=200, crop=\\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, height=200, crop=\\&quot;thumb\\&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 ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t);&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&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().aspectRatio(\\&quot;1:1\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&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.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Height(200).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Height(200).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setHeight(200).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setHeight(200).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:1\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t }) \\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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, height: 200, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n);&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\\\/image\\\/upload\\\/ar_1:1,c_thumb,h_200\\\/docs\\\/happy_people.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:1&quot;,&quot;crop_mode&quot;:&quot;thumb&quot;,&quot;height&quot;:&quot;200&quot;}],&quot;transformation_string&quot;:&quot;ar_1:1,c_thumb,h_200&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/happy_people.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/happy_people.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/happy_people.jpg\" alt=\"Original image\" title=\"Original image\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Original image<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,h_200\/docs\/happy_people.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,h_200\/docs\/happy_people.jpg\" alt=\"Image showing a man and woman embracing using auto gravity parameters with Cloudinary smart crop\" title=\"Cropping without gravity\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Cropping without gravity<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><p>That\u2019s why specifying a gravity is helpful.  If you\u2019re only interested in the faces in your images, you can specify <code>faces<\/code> as the gravity (<code>g_faces<\/code> in URLs) and Cloudinary\u2019s algorithms will try to keep them. Or, if you\u2019re interested in a particular object, you can use the <a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_ai_content_analysis_addon\">Cloudinary AI Content Analysis add-on<\/a> to specify the object as the gravity.<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&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;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;faces\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;thumb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&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.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&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;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;faces\\&quot;, height=200, crop=\\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;faces\\&quot;, height=200, crop=\\&quot;thumb\\&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 ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::focusOn(\\n\\tFocusOn::faces()))\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::focusOn(\\n\\tFocusOn::faces()))\\n\\t);&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;faces\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;faces\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&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().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;faces\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;faces\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&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.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;faces\\&quot;).Height(200).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;faces\\&quot;).Height(200).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;faces\\&quot;).setHeight(200).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;faces\\&quot;).setHeight(200).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;faces\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;faces\\&quot;).height(200).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.focusOn(\\n\\tFocusOn.faces()))\\n\\t }) \\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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;faces\\&quot;, height: 200, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .height(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(focusOn(faces()))\\n);&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\\\/image\\\/upload\\\/ar_1:1,c_thumb,g_faces,h_200\\\/docs\\\/happy_people.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:1&quot;,&quot;crop_mode&quot;:&quot;thumb&quot;,&quot;gravity&quot;:&quot;faces&quot;,&quot;height&quot;:&quot;200&quot;}],&quot;transformation_string&quot;:&quot;ar_1:1,c_thumb,g_faces,h_200&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/happy_people.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_faces,h_200\/docs\/happy_people.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_faces,h_200\/docs\/happy_people.jpg\" alt=\"Image showing a man and woman embracing using gravity parameters to focus on their faces with Cloudinary smart crop\" title=\"Focus on faces\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Focus on faces<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto:bag,h_200\/docs\/woman-hiker-mountain-water.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto:bag,h_200\/docs\/woman-hiker-mountain-water.jpg\" alt=\"Image showing a woman hiking in the mountains using gravity parameters to focus on her bag with Cloudinary smart crop\" title=\"Focus on the bag\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Focus on the bag<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><p>If you don\u2019t have a preference for what to keep, you can simply use the auto gravity transformation parameter (<code>g_auto<\/code> in URLs), and rely on AI to focus on the best area of interest.<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/happy_people.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; crop=\\&quot;thumb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/happy_people.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&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;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;auto\\&quot;, crop=\\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;auto\\&quot;, crop=\\&quot;thumb\\&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 ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/happy_people.jpg&#039;))\\n\\t-&gt;resize(Resize::thumbnail()\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;thumb\\&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().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).crop(\\&quot;thumb\\&quot;)).imageTag(\\&quot;docs\\\/happy_people.jpg\\&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_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/happy_people.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&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.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Crop(\\&quot;thumb\\&quot;)).BuildImageTag(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail()\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail()\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setCrop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).crop(\\&quot;thumb\\&quot;)).generate(\\&quot;docs\\\/happy_people.jpg\\&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.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail()\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/happy_people.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.thumbnail()\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() {\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/happy_people.jpg\\&quot;)\\n\\t resize(Resize.thumbnail() {\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/happy_people.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, crop: \\&quot;thumb\\&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 CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/happy_people.jpg\\&quot;).resize(\\n  thumbnail()\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_1:1,c_thumb,g_auto\\\/docs\\\/happy_people.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:1&quot;,&quot;crop_mode&quot;:&quot;thumb&quot;,&quot;gravity&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;ar_1:1,c_thumb,g_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/happy_people.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto\/docs\/happy_people.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto\/c_scale,h_200\/docs\/happy_people.jpg\" alt=\"Image showing a man and woman embracing using auto gravity parameters to let AI to decide the best focus area using Cloudinary smart crop\" title=\"Auto gravity\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto gravity<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto,h_200\/docs\/woman-hiker-mountain-water.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_thumb,g_auto,h_200\/docs\/woman-hiker-mountain-water.jpg\" alt=\"Image showing a woman hiking in the mountains using auto gravity parameters to let AI to decide the best focus area using Cloudinary smart crop\" title=\"Auto gravity\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto gravity<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n\n<div id=\"introduction-auto-crop\"><\/div>\n\n\n<div class=\"wp-block-cloudinary-markdown \"><h2>Introducing Auto Crop<\/h2>\n<p>So, if auto gravity focuses on the most interesting part of the image automatically, then where does auto crop fit in?<\/p>\n<p>The answer lies in the type of crop that we use with auto gravity. Auto gravity points to the main area of interest, but the type of crop determines how much of that area to keep.<\/p>\n<p>The crop, fill, and thumbnail cropping modes each have their limitations:<\/p>\n<ul>\n<li>The <strong>crop<\/strong> cropping mode (<code>c_crop<\/code> in URLs)  is dependent on the resolution of the image and the size of the object in the image.  There\u2019s no scaling involved, so the same cropping dimensions on different resolutions of the same image could either cut out too much of the object, or give too much background.  It\u2019s useful for manual coordinates, but not automation.<\/li>\n<li>The <strong>fill<\/strong> cropping mode (<code>c_fill<\/code> in URLs) scales the image, but only as much as needed to fill both of the specified dimensions, so it doesn\u2019t always zoom in enough on the important parts.<\/li>\n<li>The <strong>thumbnail<\/strong> cropping mode (<code>c_thumb<\/code> in URLs) is often perceived as over-aggressive and is also dependent on the image resolution.<\/li>\n<\/ul>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_crop,g_auto,w_200\/docs\/camera_1280-1020.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_crop,g_auto,w_200\/docs\/camera_1280-1020.jpg\" alt=\"Image showing a man taking pictures using auto cropping parameters to focus on best resolution area using Cloudinary smart crop\" title=\"c_crop\" style=\"margin-right: 20px;display:block;\" \/><\/a>\n<b style=\"margin-right: 20px;display:block;\">c_crop<\/b>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_fill,g_auto,w_200\/docs\/camera_1280-1020.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_fill,g_auto,w_200\/docs\/camera_1280-1020.jpg\" alt=\"Image showing a man taking pictures using auto cropping parameters to focus on the best area of the picture to align with specified image dimensions using Cloudinary smart crop\" title=\"c_fill\" style=\"margin-right: 20px;display:block;\" \/><\/a>\n<b style=\"margin-right: 20px;display:block;\">c_fill<\/b>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_thumb,g_auto,w_200\/docs\/camera_1280-1020.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_thumb,g_auto,w_200\/docs\/camera_1280-1020.jpg\" alt=\"Image showing a man taking pictures using auto cropping parameters to create a thumbnail automatically using Cloudinary smart crop\" title=\"c_thumb\" style=\"margin-right: 20px;display:block;\" \/><\/a>\n<b style=\"margin-right: 20px;display:block;\">c_thumb<\/b>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div> \n<p>The <strong>auto<\/strong> cropping mode (<code>c_auto<\/code> in URLs) works out the best crop for the specified dimensions, taking into account over 80% of the salient parts of an image.  Here it is in action, with a 3:2 aspect ratio, 200-pixel height crop:<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, {aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, {aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/camera_1280-1020.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;3:2\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/camera_1280-1020.jpg&#039;, {aspectRatio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/camera_1280-1020.jpg&#039;, {aspectRatio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).image(aspect_ratio=\\&quot;3:2\\&quot;, gravity=\\&quot;auto\\&quot;, height=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).image(aspect_ratio=\\&quot;3:2\\&quot;, gravity=\\&quot;auto\\&quot;, height=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera_1280-1020.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar3X2())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera_1280-1020.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar3X2())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;3:2\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;3:2\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;3:2\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;3:2\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/camera_1280-1020.jpg\\&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_image_tag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;3:2\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;3:2\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera_1280-1020.jpg\\&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.image(&#039;docs\\\/camera_1280-1020.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera_1280-1020.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;3:2\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;3:2\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;3:2\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;3:2\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera_1280-1020.jpg\\&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.image(&#039;docs\\\/camera_1280-1020.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera_1280-1020.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar3X2())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, {aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;, {aspect_ratio: \\&quot;3:2\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera_1280-1020.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(ar3X2())\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_3:2,c_auto,g_auto,h_200\\\/docs\\\/camera_1280-1020.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;3:2&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;height&quot;:&quot;200&quot;}],&quot;transformation_string&quot;:&quot;ar_3:2,c_auto,g_auto,h_200&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/camera_1280-1020.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/camera_1280-1020.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/camera_1280-1020.jpg\" alt=\"Image showing a man taking pictures original photo to be cropped with Cloudinary smart crop\" title=\"Original\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Original<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_auto,g_auto,h_200\/docs\/camera_1280-1020.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_3:2,c_auto,g_auto,h_200\/docs\/camera_1280-1020.jpg\" alt=\"Image showing a man taking pictures auto cropping parameters to automatically focus on the best area to select based on specified image dimensions Cloudinary smart crop\" title=\"Auto crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">c_auto<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><h2>The Auto Crop Journey<\/h2>\n<p>Auto crop is based on the thumbnail crop in that it scales the image to focus on the area of interest. However, the thumbnail crop can produce unreliable results and depends on the image resolution.<\/p>\n<p>A number of fixes were made to the algorithm used for the thumbnail crop, resulting in the first version of auto crop. When tested, the new algorithm was found to work well for automatic gravity together with a specified object <code>g_auto:&lt;object&gt;<\/code>, but not auto gravity by itself. The reason for this was that the auto gravity algorithm points to a small salient area of the image, but doesn\u2019t take into account the whole object.<\/p>\n<p>The standard \u2018gaze-prediction\u2019 algorithm, used by auto gravity, pinpoints certain areas and would indicate just the golfer\u2019s head in this image:<\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/golfer-pinpoint.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/golfer-pinpoint.png\" alt=\"Image showing a golfer on a green as an example image focused on his head\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"200\"\/><\/a><\/p>\n<p>However, we need the whole foreground to be taken into account:<\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/golfer-bounding-box.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/golfer-bounding-box.png\" alt=\"Image showing a golfer on a green as an example image focused on his whole bodyt\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"200\"\/><\/a><\/p>\n<p>Therefore, we used a new model to find the foreground object and mark this as the most salient part of the image. This new algorithm for <code>g_auto<\/code> is unique to <code>c_auto<\/code> and allows it to hone in on the main subject. See the difference between <code>c_fill<\/code> and <code>c_auto<\/code> when cropping to a new aspect ratio of 2:1:<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;2:1\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/golf.jpg&#039;, {aspectRatio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/golf.jpg&#039;, {aspectRatio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).image(aspect_ratio=\\&quot;2:1\\&quot;, gravity=\\&quot;auto\\&quot;, height=150, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).image(aspect_ratio=\\&quot;2:1\\&quot;, gravity=\\&quot;auto\\&quot;, height=150, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/golf.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(150)\\n-&gt;aspectRatio(\\&quot;2:1\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/golf.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(150)\\n-&gt;aspectRatio(\\&quot;2:1\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;2:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;150, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;2:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;150, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;2:1\\&quot;).gravity(\\&quot;auto\\&quot;).height(150).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/golf.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;2:1\\&quot;).gravity(\\&quot;auto\\&quot;).height(150).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/golf.jpg\\&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_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;2:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(150).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/golf.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;2:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(150).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/golf.jpg\\&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.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(150)\\n.aspectRatio(\\&quot;2:1\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(150)\\n.aspectRatio(\\&quot;2:1\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;2:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(150).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;2:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(150).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;2:1\\&quot;).gravity(\\&quot;auto\\&quot;).height(150).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;2:1\\&quot;).gravity(\\&quot;auto\\&quot;).height(150).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&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.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(150)\\n.aspectRatio(\\&quot;2:1\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(150)\\n.aspectRatio(\\&quot;2:1\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/golf.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(150)\\n aspectRatio(\\&quot;2:1\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/golf.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(150)\\n aspectRatio(\\&quot;2:1\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;2:1\\&quot;, gravity: \\&quot;auto\\&quot;, height: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .height(150)\\n    .aspectRatio(\\&quot;2:1\\&quot;)\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_2:1,c_auto,g_auto,h_150\\\/docs\\\/golf.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;2:1&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;height&quot;:&quot;150&quot;}],&quot;transformation_string&quot;:&quot;ar_2:1,c_auto,g_auto,h_150&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/golf.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:1,c_fill,g_auto,h_150\/docs\/golf.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:1,c_fill,g_auto,h_150\/docs\/golf.jpg\" alt=\"Image showing a golfer on a green automatically focusing on the golfer\u2019s head and aligning the image to the dimensions of the image using Cloudinary smart crop\" title=\"Fill crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Fill crop<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:1,c_auto,g_auto,h_150\/docs\/golf.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:1,c_auto,g_auto,h_150\/docs\/golf.jpg\" alt=\"Image showing a golfer on a green automatically focusing on the entire golfer and aligning the image to the dimensions of the image using Cloudinary smart crop\" title=\"Auto crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto crop<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><ul>\n<li>The fill crop, <code>c_fill,g_auto<\/code>, focuses on the golfer\u2019s head and centers that vertically as much as possible within the image.<\/li>\n<li>The auto crop, <code>c_auto,g_auto<\/code>, focuses on the whole golfer.<\/li>\n<\/ul>\n<p>This time, we\u2019ll try a different aspect ratio and compare to <code>c_thumb<\/code>:<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/golf.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:2\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;150\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/golf.jpg&#039;, {aspectRatio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/golf.jpg&#039;, {aspectRatio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).image(aspect_ratio=\\&quot;1:2\\&quot;, gravity=\\&quot;auto\\&quot;, width=150, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).image(aspect_ratio=\\&quot;1:2\\&quot;, gravity=\\&quot;auto\\&quot;, width=150, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/golf.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;width(150)\\n-&gt;aspectRatio(\\&quot;1:2\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/golf.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;width(150)\\n-&gt;aspectRatio(\\&quot;1:2\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:2\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;width\\&quot;=&gt;150, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:2\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;width\\&quot;=&gt;150, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:2\\&quot;).gravity(\\&quot;auto\\&quot;).width(150).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/golf.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:2\\&quot;).gravity(\\&quot;auto\\&quot;).width(150).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/golf.jpg\\&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_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/golf.jpg\\&quot;, aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:2\\&quot;).Gravity(\\&quot;auto\\&quot;).Width(150).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/golf.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:2\\&quot;).Gravity(\\&quot;auto\\&quot;).Width(150).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/golf.jpg\\&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.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(150)\\n.aspectRatio(\\&quot;1:2\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(150)\\n.aspectRatio(\\&quot;1:2\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:2\\&quot;).setGravity(\\&quot;auto\\&quot;).setWidth(150).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:2\\&quot;).setGravity(\\&quot;auto\\&quot;).setWidth(150).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:2\\&quot;).gravity(\\&quot;auto\\&quot;).width(150).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:2\\&quot;).gravity(\\&quot;auto\\&quot;).width(150).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/golf.jpg\\&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.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(150)\\n.aspectRatio(\\&quot;1:2\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/golf.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(150)\\n.aspectRatio(\\&quot;1:2\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/golf.jpg\\&quot;)\\n\\t resize(Resize.auto() { width(150)\\n aspectRatio(\\&quot;1:2\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/golf.jpg\\&quot;)\\n\\t resize(Resize.auto() { width(150)\\n aspectRatio(\\&quot;1:2\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/golf.jpg\\&quot;, {aspect_ratio: \\&quot;1:2\\&quot;, gravity: \\&quot;auto\\&quot;, width: 150, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/golf.jpg\\&quot;).resize(\\n  auto()\\n    .width(150)\\n    .aspectRatio(\\&quot;1:2\\&quot;)\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_1:2,c_auto,g_auto,w_150\\\/docs\\\/golf.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:2&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;width&quot;:&quot;150&quot;}],&quot;transformation_string&quot;:&quot;ar_1:2,c_auto,g_auto,w_150&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/golf.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:2,c_thumb,g_auto,w_150\/docs\/golf.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:2,c_thumb,g_auto,w_150\/docs\/golf.jpg\" alt=\"Image showing a golfer on a green cropped for thumbnail using Cloudinary smart crop\" title=\"Thumbnail crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Thumbnail crop<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:2,c_auto,g_auto,w_150\/docs\/golf.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:2,c_auto,g_auto,w_150\/docs\/golf.jpg\" alt=\"Image showing a golfer on a green cropped for thumbnail automatically making a better focus on the golfer using Cloudinary smart crop\" title=\"Auto crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto crop<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><p>You can see how the thumbnail crop can be unpredictable, whereas the auto crop focuses on the golfer.<\/p>\n<p>If there are multiple objects in the image, the auto crop will focus on the largest objects, whereas the thumbnail crop will try to include as many objects as possible. Let\u2019s try cropping the following picture of a crowd to a 2:3 aspect ratio.<\/p>\n<p>Here\u2019s the original image:<\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/crowd-faces.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/crowd-faces.jpg\" alt=\"Image of a dense crowd\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"200\"\/><\/a><\/p>\n<p>And here you can see the difference between the thumbnail crop and auto crop:<\/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.image(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, {aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, {aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/crowd-faces.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;2:3\\&quot; gravity=\\&quot;auto\\&quot; height=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/crowd-faces.jpg&#039;, {aspectRatio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/crowd-faces.jpg&#039;, {aspectRatio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).image(aspect_ratio=\\&quot;2:3\\&quot;, gravity=\\&quot;auto\\&quot;, height=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).image(aspect_ratio=\\&quot;2:3\\&quot;, gravity=\\&quot;auto\\&quot;, height=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/crowd-faces.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(200)\\n-&gt;aspectRatio(\\&quot;2:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/crowd-faces.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(200)\\n-&gt;aspectRatio(\\&quot;2:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;2:3\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;2:3\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;height\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;2:3\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;2:3\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/crowd-faces.jpg\\&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_image_tag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;2:3\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/crowd-faces.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;2:3\\&quot;).Gravity(\\&quot;auto\\&quot;).Height(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/crowd-faces.jpg\\&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.image(&#039;docs\\\/crowd-faces.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n.aspectRatio(\\&quot;2:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/crowd-faces.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n.aspectRatio(\\&quot;2:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;2:3\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/crowd-faces.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;2:3\\&quot;).setGravity(\\&quot;auto\\&quot;).setHeight(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/crowd-faces.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;2:3\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/crowd-faces.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;2:3\\&quot;).gravity(\\&quot;auto\\&quot;).height(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/crowd-faces.jpg\\&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.image(&#039;docs\\\/crowd-faces.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n.aspectRatio(\\&quot;2:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/crowd-faces.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(200)\\n.aspectRatio(\\&quot;2:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/crowd-faces.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(200)\\n aspectRatio(\\&quot;2:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/crowd-faces.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(200)\\n aspectRatio(\\&quot;2:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, {aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/crowd-faces.jpg\\&quot;, {aspect_ratio: \\&quot;2:3\\&quot;, gravity: \\&quot;auto\\&quot;, height: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/crowd-faces.jpg\\&quot;).resize(\\n  auto()\\n    .height(200)\\n    .aspectRatio(\\&quot;2:3\\&quot;)\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_2:3,c_auto,g_auto,h_200\\\/docs\\\/crowd-faces.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;2:3&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;height&quot;:&quot;200&quot;}],&quot;transformation_string&quot;:&quot;ar_2:3,c_auto,g_auto,h_200&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/crowd-faces.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:3,c_thumb,g_auto,h_200\/docs\/crowd-faces.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:3,c_thumb,g_auto,h_200\/docs\/crowd-faces.jpg\" alt=\"Image of a dense crowd using auto crop with Cloudinary smart crop\" title=\"Thumbnail crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Thumbnail crop<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:3,c_auto,g_auto,h_200\/docs\/crowd-faces.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_2:3,c_auto,g_auto,h_200\/docs\/crowd-faces.jpg\" alt=\"Auto crop\" title=\"Auto crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto crop<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<p>If there isn\u2019t a clear object to focus on, like in images of landscapes, it\u2019s better to stick to the fill crop for the moment.  More work is being done in this area, so watch this space!<\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><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.image(\\&quot;docs\\\/landscape-country.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/landscape-country.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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;Image publicId=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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-image public-id=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/landscape-country.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:1\\&quot; gravity=\\&quot;auto\\&quot; width=\\&quot;200\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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.imageTag(&#039;docs\\\/landscape-country.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/landscape-country.jpg&#039;, {aspectRatio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;auto\\&quot;, width=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).image(aspect_ratio=\\&quot;1:1\\&quot;, gravity=\\&quot;auto\\&quot;, width=200, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/landscape-country.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;width(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/landscape-country.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;width(200)\\n\\t-&gt;aspectRatio(\\n\\tAspectRatio::ar1X1())\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity())\\n\\t);&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_image_tag(\\&quot;docs\\\/landscape-country.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;width\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/landscape-country.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:1\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;width\\&quot;=&gt;200, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).width(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/landscape-country.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).width(200).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/landscape-country.jpg\\&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_image_tag(\\&quot;docs\\\/landscape-country.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/landscape-country.jpg\\&quot;, aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Width(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/landscape-country.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:1\\&quot;).Gravity(\\&quot;auto\\&quot;).Width(200).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/landscape-country.jpg\\&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.image(&#039;docs\\\/landscape-country.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/landscape-country.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setWidth(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/landscape-country.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:1\\&quot;).setGravity(\\&quot;auto\\&quot;).setWidth(200).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/landscape-country.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).width(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/landscape-country.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:1\\&quot;).gravity(\\&quot;auto\\&quot;).width(200).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/landscape-country.jpg\\&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.image(&#039;docs\\\/landscape-country.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/landscape-country.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().width(200)\\n\\t.aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t.gravity(\\n\\tGravity.autoGravity())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/landscape-country.jpg\\&quot;)\\n\\t resize(Resize.auto() { width(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/landscape-country.jpg\\&quot;)\\n\\t resize(Resize.auto() { width(200)\\n\\t aspectRatio(\\n\\tAspectRatio.ar1X1())\\n\\t gravity(\\n\\tGravity.autoGravity())\\n\\t }) \\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.image(\\&quot;docs\\\/landscape-country.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/landscape-country.jpg\\&quot;, {aspect_ratio: \\&quot;1:1\\&quot;, gravity: \\&quot;auto\\&quot;, width: 200, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/landscape-country.jpg\\&quot;).resize(\\n  auto()\\n    .width(200)\\n    .aspectRatio(ar1X1())\\n    .gravity(autoGravity())\\n);&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\\\/image\\\/upload\\\/ar_1:1,c_auto,g_auto,w_200\\\/docs\\\/landscape-country.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:1&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto&quot;,&quot;width&quot;:&quot;200&quot;}],&quot;transformation_string&quot;:&quot;ar_1:1,c_auto,g_auto,w_200&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/landscape-country.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><\/p>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<div style=\"text-align:center;\">\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_fill,g_auto,w_200\/docs\/landscape-country.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_fill,g_auto,w_200\/c_scale,w_200\/docs\/landscape-country.jpg\" alt=\"Image image of a mountainous landscape using fill crop with Cloudinary smart crop\" title=\"Fill crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Fill crop<\/b><\/p>\n<\/span>\n<span style=\"display:inline-block;vertical-align:top;\">\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_auto,g_auto,w_200\/docs\/landscape-country.jpg\" target =\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:1,c_auto,g_auto,w_200\/c_scale,w_200\/docs\/landscape-country.jpg\" alt=\"Image image of a mountainous landscape using auto crop with Cloudinary smart crop\" title=\"Auto crop\" style=\"margin-right: 30px;display:block;\" \/><\/a><\/p>\n<p><b style=\"margin-right: 30px;display:block;\">Auto crop<\/b><\/p>\n<\/span>\n<\/div>\n<div style=\"clear: both; margin-bottom: 20px\">\n<\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><div class='c-callout  c-callout--inline-title c-callout--note'><strong class='c-callout__title'>Note:<\/strong> <p>Auto crop must be used with auto gravity, or <a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_ai_content_analysis_addon\">object-specific gravity<\/a> and at least one of width, height, and aspect ratio.<\/p><\/div>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><h2>Adding Padding<\/h2>\n<p>If your web design calls for an image that\u2019s a significantly different aspect ratio than your image, you may be able to get a better crop by adding padding.  This is where <code>c_auto_pad<\/code> can be highly beneficial.<\/p>\n<p>For example, take the picture of a man holding a camera:<\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/docs\/camera.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/c_scale,h_200\/docs\/camera.jpg\" alt=\"Image image of a man holding a camera to be used in the padding demonstration with Cloudinary smart crop\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"200\"\/><\/a><\/p>\n<p>if you need to fill a 1:3 aspect ratio space with a picture of the camera, then <code>c_auto,g_auto:camera<\/code> would miss a significant amount of the camera:<\/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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&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;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&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.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::auto()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t);&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:3\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.auto().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.auto() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t }) \\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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  auto()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n);&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\\\/image\\\/upload\\\/ar_1:3,c_auto,g_auto:camera,h_800\\\/docs\\\/camera.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:3&quot;,&quot;crop_mode&quot;:&quot;auto&quot;,&quot;gravity&quot;:&quot;auto:camera&quot;,&quot;height&quot;:&quot;800&quot;}],&quot;transformation_string&quot;:&quot;ar_1:3,c_auto,g_auto:camera,h_800&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/camera.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,c_auto,g_auto:camera,h_800\/docs\/camera.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,c_auto,g_auto:camera,h_800\/c_scale,h_200\/docs\/camera.jpg\" alt=\"Image image of a man holding a camera cropped with padding aspect ratio 1:3 with Cloudinary smart crop\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"67\" height=\"200\"\/><\/a><\/p>\n<p>However, if you automatically pad it, then you can keep all the camera in view:<\/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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&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;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;auto\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&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.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, background=\\&quot;auto\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto_pad\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, background=\\&quot;auto\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto_pad\\&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 ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::autoPad()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t-&gt;background(\\n\\tBackground::auto())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::autoPad()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t-&gt;background(\\n\\tBackground::auto())\\n\\t);&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;background\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto_pad\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;background\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto_pad\\&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().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;auto\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;auto\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Background(\\&quot;auto\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto_pad\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Background(\\&quot;auto\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto_pad\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.auto())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.auto())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setBackground(\\&quot;auto\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setBackground(\\&quot;auto\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;auto\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;auto\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.auto())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.auto())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.autoPad() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t background(\\n\\tBackground.auto())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.autoPad() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t background(\\n\\tBackground.auto())\\n\\t }) \\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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;auto\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(auto())\\n);&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\\\/image\\\/upload\\\/ar_1:3,b_auto,c_auto_pad,g_auto:camera,h_800\\\/docs\\\/camera.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:3&quot;,&quot;background&quot;:&quot;auto&quot;,&quot;crop_mode&quot;:&quot;auto_pad&quot;,&quot;gravity&quot;:&quot;auto:camera&quot;,&quot;height&quot;:&quot;800&quot;}],&quot;transformation_string&quot;:&quot;ar_1:3,b_auto,c_auto_pad,g_auto:camera,h_800&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/camera.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,b_auto,c_auto_pad,g_auto:camera,h_800\/docs\/camera.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,b_auto,c_auto_pad,g_auto:camera,h_800\/c_scale,h_200\/docs\/camera.jpg\" alt=\"Image image of a man holding a camera cropped with automatic padding with Cloudinary smart crop\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"67\" height=\"200\"\/><\/a><\/p>\n<p>In this case, the color for the padding is also automatically determined with <code>b_auto<\/code>, but you can choose any color you like.<\/p>\n<p>Or, you can even make use of <a href=\"https:\/\/cloudinary.com\/documentation\/effects_and_artistic_enhancements#generative_ai_effects\">AI generated content<\/a> for padding with <code>b_gen_fill<\/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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&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;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;Transformation aspectRatio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;Transformation aspectRatio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt;\\n&lt;\\\/Image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&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-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt; &lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/camera.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation aspect-ratio=\\&quot;1:3\\&quot; background=\\&quot;gen_fill\\&quot; gravity=\\&quot;auto:camera\\&quot; height=\\&quot;800\\&quot; crop=\\&quot;auto_pad\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&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.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/camera.jpg&#039;, {aspectRatio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, background=\\&quot;gen_fill\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto_pad\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).image(aspect_ratio=\\&quot;1:3\\&quot;, background=\\&quot;gen_fill\\&quot;, gravity=\\&quot;auto:camera\\&quot;, height=800, crop=\\&quot;auto_pad\\&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 ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::autoPad()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t-&gt;background(\\n\\tBackground::generativeFill())\\n\\t);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/camera.jpg&#039;))\\n\\t-&gt;resize(Resize::autoPad()-&gt;height(800)\\n-&gt;aspectRatio(\\&quot;1:3\\&quot;)\\n\\t-&gt;gravity(\\n\\tGravity::autoGravity()\\n\\t-&gt;autoFocus(\\n\\tAutoFocus::focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t-&gt;background(\\n\\tBackground::generativeFill())\\n\\t);&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;background\\&quot;=&gt;\\&quot;gen_fill\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto_pad\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, array(\\&quot;aspect_ratio\\&quot;=&gt;\\&quot;1:3\\&quot;, \\&quot;background\\&quot;=&gt;\\&quot;gen_fill\\&quot;, \\&quot;gravity\\&quot;=&gt;\\&quot;auto:camera\\&quot;, \\&quot;height\\&quot;=&gt;800, \\&quot;crop\\&quot;=&gt;\\&quot;auto_pad\\&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().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;gen_fill\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;gen_fill\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).imageTag(\\&quot;docs\\\/camera.jpg\\&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_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/camera.jpg\\&quot;, aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Background(\\&quot;gen_fill\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto_pad\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().AspectRatio(\\&quot;1:3\\&quot;).Background(\\&quot;gen_fill\\&quot;).Gravity(\\&quot;auto:camera\\&quot;).Height(800).Crop(\\&quot;auto_pad\\&quot;)).BuildImageTag(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.generativeFill())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.generativeFill())\\n\\t));&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;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setBackground(\\&quot;gen_fill\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setAspectRatio(\\&quot;1:3\\&quot;).setBackground(\\&quot;gen_fill\\&quot;).setGravity(\\&quot;auto:camera\\&quot;).setHeight(800).setCrop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;)!, cloudinary: cloudinary)&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().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;gen_fill\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().aspectRatio(\\&quot;1:3\\&quot;).background(\\&quot;gen_fill\\&quot;).gravity(\\&quot;auto:camera\\&quot;).height(800).crop(\\&quot;auto_pad\\&quot;)).generate(\\&quot;docs\\\/camera.jpg\\&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.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.generativeFill())\\n\\t));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/camera.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.autoPad().height(800)\\n.aspectRatio(\\&quot;1:3\\&quot;)\\n\\t.gravity(\\n\\tGravity.autoGravity()\\n\\t.autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t)\\n\\t.background(\\n\\tBackground.generativeFill())\\n\\t));&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.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.autoPad() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t background(\\n\\tBackground.generativeFill())\\n\\t }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/camera.jpg\\&quot;)\\n\\t resize(Resize.autoPad() { height(800)\\n aspectRatio(\\&quot;1:3\\&quot;)\\n\\t gravity(\\n\\tGravity.autoGravity() {\\n\\t autoFocus(\\n\\tAutoFocus.focusOn(\\&quot;camera\\&quot;))\\n\\t })\\n\\t background(\\n\\tBackground.generativeFill())\\n\\t }) \\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.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/camera.jpg\\&quot;, {aspect_ratio: \\&quot;1:3\\&quot;, background: \\&quot;gen_fill\\&quot;, gravity: \\&quot;auto:camera\\&quot;, height: 800, crop: \\&quot;auto_pad\\&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 CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/camera.jpg\\&quot;).resize(\\n  autoPad()\\n    .height(800)\\n    .aspectRatio(\\&quot;1:3\\&quot;)\\n    .gravity(autoGravity().autoFocus(focusOn(\\&quot;camera\\&quot;)))\\n    .background(generativeFill())\\n);&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\\\/image\\\/upload\\\/ar_1:3,b_gen_fill,c_auto_pad,g_auto:camera,h_800\\\/docs\\\/camera.jpg&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;image&quot;,&quot;transformation&quot;:[{&quot;aspect_ratio&quot;:&quot;1:3&quot;,&quot;background&quot;:&quot;gen_fill&quot;,&quot;crop_mode&quot;:&quot;auto_pad&quot;,&quot;gravity&quot;:&quot;auto:camera&quot;,&quot;height&quot;:&quot;800&quot;}],&quot;transformation_string&quot;:&quot;ar_1:3,b_gen_fill,c_auto_pad,g_auto:camera,h_800&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/camera.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&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;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,b_gen_fill,c_auto_pad,g_auto:camera,h_800\/docs\/camera.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/ar_1:3,b_gen_fill,c_auto_pad,g_auto:camera,h_800\/c_scale,h_200\/docs\/camera.jpg\" alt=\"Image image of a man holding a camera cropped with AI generated padding aspect ratio 1:3 with Cloudinary smart crop\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"67\" height=\"200\"\/><\/a><\/p>\n<\/div>\n\n<div class=\"wp-block-cloudinary-markdown \"><h2>Auto Everything<\/h2>\n<p><code>c_auto<\/code> is the latest in our collection of automatic transformations.  Use it together with <code>g_auto<\/code>, <code>f_auto<\/code>, and <code>q_auto<\/code> and you\u2019ll never have to manually adjust your images again!<\/p>\n<p>Remember that for the ease of coding these transformations, you can use any of our <a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_sdks\">SDKs<\/a>, depending on your environment, be that JavaScript-based frameworks, such as React and Vue, backend languages such as PHP and Python, or even mobile frameworks, such as  Kotlin or Flutter.<\/p>\n<p>Learn more about automatic cropping and optimizations, along with a whole host of other transformations, in the <a href=\"https:\/\/cloudinary.com\/documentation\/programmable_media_overview\">Programmable Media docs<\/a>. And check out our <a href=\"https:\/\/www.youtube.com\/watch?v=AnAkksRM0no\">DevHints video<\/a> for a summary on <code>c_auto<\/code> features.<\/p>\n<p>And if you haven\u2019t yet signed up to Cloudinary, <a href=\"https:\/\/cloudinary.com\/users\/register_free\">sign up for free now<\/a> and see the magic for yourself!<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":51,"featured_media":32333,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[336,370],"class_list":["post-32332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-ai","tag-image"],"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>Smart Crop | AI-Powered Image Cropping for Free<\/title>\n<meta name=\"description\" content=\"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what&#039;s important, for free.\" \/>\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\/smart-cropping-just-got-smarter\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Smart Crop | AI-Powered Image Cropping for Free With Cloudinary\" \/>\n<meta property=\"og:description\" content=\"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what&#039;s important, for free.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-12T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-30T22:16:36+00:00\" \/>\n<meta name=\"author\" content=\"carolinelevison\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\"},\"author\":{\"name\":\"carolinelevison\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/3aa69a111d568040952bbae297d8c8fb\"},\"headline\":\"Smart Crop | AI-Powered Image Cropping for Free With Cloudinary\",\"datePublished\":\"2024-01-12T15:00:00+00:00\",\"dateModified\":\"2025-10-30T22:16:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\"},\"wordCount\":9,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA\",\"keywords\":[\"AI\",\"Image\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\",\"url\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\",\"name\":\"Smart Crop | AI-Powered Image Cropping for Free\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA\",\"datePublished\":\"2024-01-12T15:00:00+00:00\",\"dateModified\":\"2025-10-30T22:16:36+00:00\",\"description\":\"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what's important, for free.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA\",\"width\":2000,\"height\":1100,\"caption\":\"Image showing a woman with a bag and code parameters for setting Cloudinary smart crop\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Smart Crop | AI-Powered Image Cropping for Free 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\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/3aa69a111d568040952bbae297d8c8fb\",\"name\":\"carolinelevison\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/84ac4e7f81e08358ca4d375889c0a8ffff006b90ba8a469d27d206229f779912?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/84ac4e7f81e08358ca4d375889c0a8ffff006b90ba8a469d27d206229f779912?s=96&d=mm&r=g\",\"caption\":\"carolinelevison\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Smart Crop | AI-Powered Image Cropping for Free","description":"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what's important, for free.","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\/smart-cropping-just-got-smarter","og_locale":"en_US","og_type":"article","og_title":"Smart Crop | AI-Powered Image Cropping for Free With Cloudinary","og_description":"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what's important, for free.","og_url":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter","og_site_name":"Cloudinary Blog","article_published_time":"2024-01-12T15:00:00+00:00","article_modified_time":"2025-10-30T22:16:36+00:00","author":"carolinelevison","twitter_card":"summary_large_image","twitter_image":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter"},"author":{"name":"carolinelevison","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/3aa69a111d568040952bbae297d8c8fb"},"headline":"Smart Crop | AI-Powered Image Cropping for Free With Cloudinary","datePublished":"2024-01-12T15:00:00+00:00","dateModified":"2025-10-30T22:16:36+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter"},"wordCount":9,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","keywords":["AI","Image"],"inLanguage":"en-US","copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter","url":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter","name":"Smart Crop | AI-Powered Image Cropping for Free","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","datePublished":"2024-01-12T15:00:00+00:00","dateModified":"2025-10-30T22:16:36+00:00","description":"Learn about how Cloudinary Smart Crop uses AI to drive automatic image cropping to capture more context and focus on what's important, for free.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","width":2000,"height":1100,"caption":"Image showing a woman with a bag and code parameters for setting Cloudinary smart crop"},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/smart-cropping-just-got-smarter#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Smart Crop | AI-Powered Image Cropping for Free 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":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/3aa69a111d568040952bbae297d8c8fb","name":"carolinelevison","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/84ac4e7f81e08358ca4d375889c0a8ffff006b90ba8a469d27d206229f779912?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/84ac4e7f81e08358ca4d375889c0a8ffff006b90ba8a469d27d206229f779912?s=96&d=mm&r=g","caption":"carolinelevison"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1704304391\/blog_smart-crop-cfill\/blog_smart-crop-cfill.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/32332","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\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=32332"}],"version-history":[{"count":249,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/32332\/revisions"}],"predecessor-version":[{"id":39043,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/32332\/revisions\/39043"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/32333"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=32332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=32332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=32332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}