{"id":21434,"date":"2022-09-11T07:45:47","date_gmt":"2022-09-11T14:45:47","guid":{"rendered":"http:\/\/adaptive_browser_based_image_format_delivery"},"modified":"2025-10-26T14:11:43","modified_gmt":"2025-10-26T21:11:43","slug":"adaptive_browser_based_image_format_delivery","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery","title":{"rendered":"Automatically Reduce Image Size Without Losing Quality"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>One of the main <a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_for_websites_beautiful_pages_that_load_quickly\">optimization<\/a> challenges for website and mobile developers is how to display sufficiently high quality images to their visitors while minimizing the image file size. A smaller image file size can lead to faster load times, <a href=\"https:\/\/cloudinary.com\/guides\/responsive-images\/generate-responsive-images-for-reduced-bandwidth\">reduced bandwidth<\/a> costs and an improved user experience. The problem is that reducing the file size too much may lead to a lower image quality and could harm visitor satisfaction. Delivering an optimized image with just the right balance between size and quality can be quite tricky.<\/p>\n<h2>Selecting the Optimal Image Format &#8211; f_auto<\/h2>\n<p>Some formats such as <strong>AVIF<\/strong>, <strong>WebP<\/strong> and <strong>JPEG-2000<\/strong> are more efficient than the standard JPEG format for delivering web images, but they are not supported by all browsers. The result is that the best image to deliver to your visitor depends on which browser they are using.<\/p>\n<p>Cloudinary has the ability to automatically detect which browser is requesting the image and then select the most efficient image format to deliver. Just add the <code>fetch_format<\/code> parameter and set its value to <code>auto<\/code> (<code>f_auto<\/code> in URLs).<\/p>\n<p>The example below displays two sample images. The first image uses a URL without Cloudinary\u2019s <code>f_auto<\/code> flag and is therefore delivered in JPEG format across all browsers (while being scaled on-the-fly to 300px width with its aspect ratio retained). The second image includes <code>f_auto<\/code> in its delivery URL and so is delivered as either an AVIF (<strong>14.6 KB<\/strong> &#8211; a saving of 56.5%), WebP (<strong>16.1 KB<\/strong> &#8211; a saving of 52%), or JPEG-2000 (<strong>21.0 KB<\/strong> &#8211; a saving of 37%) to supported browsers.<\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300\/docs\/shoes.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300\/docs\/shoes.jpg\" alt=\"JPEG to all browsers\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"211\"\/><\/a><\/p>\n<p><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,f_auto\/docs\/shoes.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_300,f_auto\/docs\/shoes.jpg\" alt=\"With f_auto\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"211\"\/><\/a><\/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\\\/shoes.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;docs\\\/shoes.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/shoes.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;300\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;docs\\\/shoes.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;300\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/shoes.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;docs\\\/shoes.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/shoes.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;docs\\\/shoes.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/shoes.jpg&#039;, {width: 300, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;docs\\\/shoes.jpg&#039;, {width: 300, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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\\\/shoes.jpg\\&quot;).image(width=300, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;).image(width=300, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&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\\\/shoes.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(300))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;docs\\\/shoes.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(300))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/shoes.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;300, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/shoes.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;300, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&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().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;docs\\\/shoes.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;docs\\\/shoes.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\\\/shoes.jpg\\&quot;, width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;docs\\\/shoes.jpg\\&quot;, width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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().Width(300).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;docs\\\/shoes.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(300).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;docs\\\/shoes.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\\\/shoes.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/shoes.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(300).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;docs\\\/shoes.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(300).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;docs\\\/shoes.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().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;docs\\\/shoes.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;docs\\\/shoes.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\\\/shoes.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;docs\\\/shoes.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(300) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto())) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(300) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto())) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/shoes.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;docs\\\/shoes.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;docs\\\/shoes.jpg\\&quot;)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_300,f_auto\\\/docs\\\/shoes.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;width&quot;:&quot;300&quot;,&quot;format&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;w_300,f_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:null,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;docs\\\/shoes.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<p>The example above demonstrates automatic format selection for images that were uploaded to Cloudinary first, either using our upload API from your server code or directly from your visitor\u2019s browsers or mobile apps.<\/p>\n<p>In addition to direct uploads, Cloudinary also supports fetching images via their public URLs, transforming these on-the-fly and delivering the resulting images optimized via a CDN. This means, for example, that you can easily integrate Cloudinary with your website without modifying your infrastructure and code. Simply prefix your image URLs with Cloudinary\u2019s fetch URL.<\/p>\n<p>With Cloudinary\u2019s automatic format feature, you can also dynamically convert and deliver remote images and improve your site\u2019s performance.<\/p>\n<p>For example, the following URL delivers a picture of Dwayne Johnson from a remote Wikimedia Commons HTTP URL. The remote image is fetched by Cloudinary, stored persistently in the cloud, dynamically converted to AVIF, <a href=\"https:\/\/cloudinary.com\/tools\/compress-webp\">WebP<\/a> or JPEG-2000 as required by the user\u2019s browser and delivered optimized and cached through a high-end CDN.<\/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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&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(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt; &lt;Transformation width=\\&quot;300\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt;\\n\\t&lt;Transformation width=\\&quot;300\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt; &lt;cld-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt;\\n\\t&lt;cld-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt; &lt;cl-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot; type=\\&quot;fetch\\&quot;&gt;\\n\\t&lt;cl-transformation width=\\&quot;300\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;, {width: 300, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;, {width: 300, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;).image(width=300, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;, type=\\&quot;fetch\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;).image(width=300, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;, type=\\&quot;fetch\\&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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(300))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;deliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(300))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;deliveryType(\\&quot;fetch\\&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;&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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;300, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;, \\&quot;type\\&quot;=&gt;\\&quot;fetch\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;300, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;, \\&quot;type\\&quot;=&gt;\\&quot;fetch\\&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().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).type(\\&quot;fetch\\&quot;).imageTag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).type(\\&quot;fetch\\&quot;).imageTag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&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().Width(300).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).Action(\\&quot;fetch\\&quot;).BuildImageTag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(300).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).Action(\\&quot;fetch\\&quot;).BuildImageTag(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.setDeliveryType(\\&quot;fetch\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.setDeliveryType(\\&quot;fetch\\&quot;));&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().setType( \\&quot;fetch\\&quot;).setTransformation(CLDTransformation().setWidth(300).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setType( \\&quot;fetch\\&quot;).setTransformation(CLDTransformation().setWidth(300).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.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().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).type(\\&quot;fetch\\&quot;).generate(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(300).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).type(\\&quot;fetch\\&quot;).generate(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.setDeliveryType(\\&quot;fetch\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(300))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.setDeliveryType(\\&quot;fetch\\&quot;));&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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(300) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t deliveryType(\\&quot;fetch\\&quot;) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(300) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t deliveryType(\\&quot;fetch\\&quot;) \\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;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;, {width: 300, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;, type: \\&quot;fetch\\&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(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\n  \\&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\\&quot;\\n)\\n  .resize(scale().width(300))\\n  .delivery(format(auto()))\\n  .setDeliveryType(\\&quot;fetch\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/fetch\\\/w_300,f_auto\\\/https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;fetch&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;width&quot;:&quot;300&quot;,&quot;format&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;w_300,f_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;https:\\\/\\\/upload.wikimedia.org\\\/wikipedia\\\/commons\\\/6\\\/68\\\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;auto&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\/fetch\/w_300,f_auto\/https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/68\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/fetch\/w_300,f_auto\/https:\/\/upload.wikimedia.org\/wikipedia\/commons\/6\/68\/Dwayne_Johnson_at_the_2009_Tribeca_Film_Festival.jpg\" alt=\"Remote fetched image with automatic format selection\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"300\" height=\"400\"\/><\/a><\/p>\n<h2>Under the Hood with f_auto<\/h2>\n<p>The automatic format feature provides live functionality under the hood, and as browser support evolves and changes, Cloudinary customers get continuously growing value as our serving is updated.<\/p>\n<p>When it comes to selecting the best format, Cloudinary does not blindly select the format only by browser, and not even by the accepts-header. Cloudinary monitors the browser ecosystem, and thanks to a vast community of users, detects issues in browser support and immediately reacts. Occasionally browser support for different formats gets broken, even if a specific browser advertises that a particular format is supported. Sometimes these failures are partial, for example broken Safari support on a specific version of an operating system, or sometimes the failures are for images with specific attributes, such as transparency, or potentially even more subtle cases.<\/p>\n<p>Using<code> f_auto<\/code> means that your website media will react to browser bugs and browser updates, based on a per image analysis.<\/p>\n<h2>Reduce Image Size Without Losing Quality<\/h2>\n<p>Cloudinary\u2019s dynamic format selection feature can be further enhanced by using it together with Cloudinary\u2019s automatic quality selection feature. Including the <code>quality<\/code> parameter and setting its value to <code>auto<\/code> (<code>q_auto<\/code> in URLs) tells Cloudinary to automatically determine the optimum quality setting for an image based on its format and contents, which results in the smallest file size while maintaining visual quality. When you add <code>f_auto<\/code> together with <code>q_auto<\/code> in the delivery URL, the Cloudinary algorithm also checks if a different image format gives a smaller file size while maintaining the visual quality.<\/p>\n<p>For example, the <code>canyons<\/code> image scaled down to a width of 400 pixels and delivered with both automatic quality selection and automatic format selection (<code>q_auto<\/code> and <code>f_auto<\/code>), will be delivered as either an <a href=\"https:\/\/cloudinary.com\/tools\/compress-avif\">AVIF<\/a> (<strong>14KB<\/strong> &#8211; a saving of 62%), WebP (<strong>20.2KB<\/strong> &#8211; a saving of 45%), or JPEG-2000 (<strong>24.3KB<\/strong> &#8211; a saving of 34%) to supported browsers, and JPEG (<strong>36.6KB<\/strong>) to all other browsers:<\/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;canyons.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;canyons.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;canyons.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;canyons.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;canyons.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;canyons.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;canyons.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;canyons.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;canyons.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;canyons.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;canyons.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;canyons.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&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;canyons.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;canyons.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;canyons.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;canyons.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&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().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;canyons.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;canyons.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;canyons.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;canyons.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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().Width(400).Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;canyons.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(400).Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;canyons.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;canyons.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;canyons.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;canyons.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;canyons.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().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;canyons.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;canyons.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;canyons.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;canyons.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;canyons.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;canyons.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;canyons.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;canyons.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;canyons.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_400,f_auto,q_auto\\\/canyons.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;width&quot;:&quot;400&quot;,&quot;format&quot;:&quot;auto&quot;,&quot;quality&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;w_400,f_auto,q_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;canyons.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\/w_400,f_auto,q_auto\/canyons.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_400,f_auto,q_auto\/canyons.jpg\" alt=\"Optimized image quality and format\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"269\"\/><\/a><\/p>\n<p>Furthermore, when using <code>f_auto<\/code> and <code>q_auto<\/code> together, not only is the visitor\u2019s browser taken into account when deciding on the <a href=\"https:\/\/cloudinary.com\/guides\/image-formats\/best-image-format\">best image format<\/a>, but also the image contents. For example, the Cloudinary algorithm might determine that the PNG format is a better fit for specific images that contain content such as drawings. For some images, even the PNG8 format can be automatically selected for providing great looking results with a very efficient file size.<\/p>\n<p>For example, the following URL dynamically generates a 400 pixels wide version of a drawing only using automatic image quality selection (<code>q_auto<\/code> without <code>f_auto<\/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;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cloud_castle.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cloud_castle.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&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;cloud_castle.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;cloud_castle.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&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().width(400).quality(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;cloud_castle.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;cloud_castle.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;cloud_castle.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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().Width(400).Quality(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;cloud_castle.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(400).Quality(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;cloud_castle.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;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.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().width(400).quality(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.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;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cloud_castle.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cloud_castle.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_400,q_auto\\\/cloud_castle.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;width&quot;:&quot;400&quot;,&quot;quality&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;w_400,q_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;cloud_castle.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\/w_400,q_auto\/cloud_castle.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_400,q_auto\/cloud_castle.jpg\" alt=\"Drawing with automatic quality\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"217\"\/><\/a><\/p>\n<p>The result is a JPEG image (20.4KB) where, if you look carefully, you can see that the lossy nature of the <a href=\"https:\/\/cloudinary.com\/tools\/compress-jpeg\">JPEG<\/a> format resulted in some visual artifacts. In the next example with the same drawing, we will combine both <code>q_auto<\/code> and <code>f_auto<\/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;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetchFormat=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;cloud_castle.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;400\\&quot; quality=\\&quot;auto\\&quot; fetch-format=\\&quot;auto\\&quot; crop=\\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cloud_castle.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;cloud_castle.jpg&#039;, {width: 400, quality: \\&quot;auto\\&quot;, fetchFormat: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;).image(width=400, quality=\\&quot;auto\\&quot;, fetch_format=\\&quot;auto\\&quot;, crop=\\&quot;scale\\&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;cloud_castle.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;cloud_castle.jpg&#039;))\\n\\t-&gt;resize(Resize::scale()-&gt;width(400))\\n\\t-&gt;delivery(Delivery::format(\\n\\tFormat::auto()))\\n\\t-&gt;delivery(Delivery::quality(\\n\\tQuality::auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, array(\\&quot;width\\&quot;=&gt;400, \\&quot;quality\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;fetch_format\\&quot;=&gt;\\&quot;auto\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;scale\\&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().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;cloud_castle.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).imageTag(\\&quot;cloud_castle.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;cloud_castle.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;cloud_castle.jpg\\&quot;, width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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().Width(400).Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;cloud_castle.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(400).Quality(\\&quot;auto\\&quot;).FetchFormat(\\&quot;auto\\&quot;).Crop(\\&quot;scale\\&quot;)).BuildImageTag(\\&quot;cloud_castle.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;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(400).setQuality(\\&quot;auto\\&quot;).setFetchFormat(\\&quot;auto\\&quot;).setCrop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.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().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(400).quality(\\&quot;auto\\&quot;).fetchFormat(\\&quot;auto\\&quot;).crop(\\&quot;scale\\&quot;)).generate(\\&quot;cloud_castle.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;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;cloud_castle.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.scale().width(400))\\n\\t.delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t.delivery(Delivery.quality(\\n\\tQuality.auto())));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cloud_castle.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;cloud_castle.jpg\\&quot;)\\n\\t resize(Resize.scale() { width(400) })\\n\\t delivery(Delivery.format(\\n\\tFormat.auto()))\\n\\t delivery(Delivery.quality(\\n\\tQuality.auto())) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;cloud_castle.jpg\\&quot;, {width: 400, quality: \\&quot;auto\\&quot;, fetch_format: \\&quot;auto\\&quot;, crop: \\&quot;scale\\&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;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;cloud_castle.jpg\\&quot;)\\n  .resize(scale().width(400))\\n  .delivery(format(auto()))\\n  .delivery(quality(auto()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_400,q_auto,f_auto\\\/cloud_castle.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;width&quot;:&quot;400&quot;,&quot;quality&quot;:&quot;auto&quot;,&quot;format&quot;:&quot;auto&quot;}],&quot;transformation_string&quot;:&quot;w_400,q_auto,f_auto&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;cloud_castle.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\/w_400,q_auto,f_auto\/cloud_castle.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_400,q_auto,f_auto\/cloud_castle.jpg\" alt=\"Drawing with automatic quality and format\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"400\" height=\"217\"\/><\/a><\/p>\n<p>In this case, the algorithm decided to encode the image using the PNG8 format. The image looks better, has no artifacts, and weighs even less &#8211; just 16.5KB<\/p>\n<h2>Summary &#8211; Automatic Format Delivery<\/h2>\n<p>Delivering an image in the best format can be easily automated with Cloudinary\u2019s format selection algorithm. The feature can also be combined with automatic quality selection for a powerful and dynamic solution that delivers all your images using minimal bandwidth and maximum visual quality.\nFor more details, see the <a href=\"\/documentation\/image_transformations#automatic_format_selection\">automatic format selection documentation<\/a>.<\/p>\n<p>All image transformation and delivery features discussed here are available with no extra charge for all Cloudinary\u2019s plans, including the <a href=\"https:\/\/cloudinary.com\/users\/register_free\">free plan<\/a>.<\/p>\n<hr \/>\n<h2>Want to Learn More About Image Optimization?<\/h2>\n<ul>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_for_websites_beautiful_pages_that_load_quickly\"><em>Image Optimization for Websites: Beautiful Pages That Load Quickly<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_in_php\"><em>PHP Image Compression, Resize, and Optimization<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_optimization_in_python\"><em>Python Image Optimization and Transformation<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/evolution_of_img_gif_without_the_gif\"><em>Evolution of <img>: Gif without the GIF<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/top_10_mistakes_in_handling_website_images_and_how_to_solve_them\"><em>Top 10 Mistakes in Handling Website Images and How to Solve Them<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/image_loading_reloaded\"><em>Three Popular and Efficient Ways for Loading Images<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/introducing_cloudinary_s_wordpress_plugin_for_dynamic_images_and_video\"><em>Introducing Cloudinary\u2019s WordPress Plugin for Dynamic Images and Video<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/delivering_all_your_websites_images_through_a_cdn\"><em>CDN for Images: Optimize and Deliver Images Faster<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/the_holy_grail_of_image_optimization_or_balancing_visual_quality_and_file_size\"><em>Compress an Image Automatically Without Losing Quality<\/em><\/a>\n<\/li>\n<li>\n<a href=\"https:\/\/cloudinary.com\/blog\/vue_js_tutorial_image_optimization_for_web_apps\"><em>Vue.js Tutorial: Image Optimization for Web Apps<\/em><\/a>\n<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":50,"featured_media":25066,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[91,92,144,176,177,214,227,229,257],"class_list":["post-21434","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-django","tag-dotnet","tag-html","tag-java","tag-javascript","tag-node","tag-performance-optimization","tag-php","tag-ruby-on-rails"],"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>Automatically Reduce Image Size Without Losing Quality<\/title>\n<meta name=\"description\" content=\"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.\" \/>\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\/adaptive_browser_based_image_format_delivery\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automatically Reduce Image Size Without Losing Quality\" \/>\n<meta property=\"og:description\" content=\"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-11T14:45:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-26T21:11:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"meirfeinberg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\"},\"author\":{\"name\":\"meirfeinberg\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d\"},\"headline\":\"Automatically Reduce Image Size Without Losing Quality\",\"datePublished\":\"2022-09-11T14:45:47+00:00\",\"dateModified\":\"2025-10-26T21:11:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA\",\"keywords\":[\"Django\",\"DotNet\",\"HTML\",\"Java\",\"Javascript\",\"Node\",\"Performance Optimization\",\"PHP\",\"Ruby on Rails\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2022\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\",\"url\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\",\"name\":\"Automatically Reduce Image Size Without Losing Quality\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA\",\"datePublished\":\"2022-09-11T14:45:47+00:00\",\"dateModified\":\"2025-10-26T21:11:43+00:00\",\"description\":\"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automatically Reduce Image Size Without Losing Quality\"}]},{\"@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\/6e4a9c1be3c3f51710bd6171022a384d\",\"name\":\"meirfeinberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g\",\"caption\":\"meirfeinberg\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Automatically Reduce Image Size Without Losing Quality","description":"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.","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\/adaptive_browser_based_image_format_delivery","og_locale":"en_US","og_type":"article","og_title":"Automatically Reduce Image Size Without Losing Quality","og_description":"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.","og_url":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery","og_site_name":"Cloudinary Blog","article_published_time":"2022-09-11T14:45:47+00:00","article_modified_time":"2025-10-26T21:11:43+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","type":"image\/png"}],"author":"meirfeinberg","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery"},"author":{"name":"meirfeinberg","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/6e4a9c1be3c3f51710bd6171022a384d"},"headline":"Automatically Reduce Image Size Without Losing Quality","datePublished":"2022-09-11T14:45:47+00:00","dateModified":"2025-10-26T21:11:43+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery"},"wordCount":7,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","keywords":["Django","DotNet","HTML","Java","Javascript","Node","Performance Optimization","PHP","Ruby on Rails"],"inLanguage":"en-US","copyrightYear":"2022","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery","url":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery","name":"Automatically Reduce Image Size Without Losing Quality","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","datePublished":"2022-09-11T14:45:47+00:00","dateModified":"2025-10-26T21:11:43+00:00","description":"Learn how to overcome one of the main optimization challenges for website and mobile developers - display high quality images while minimizing the file size.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/adaptive_browser_based_image_format_delivery#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Automatically Reduce Image Size Without Losing Quality"}]},{"@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\/6e4a9c1be3c3f51710bd6171022a384d","name":"meirfeinberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/121cc23b13345b9eb98083b5f4b3ade7efdaff6adcebcfa417db501dda768844?s=96&d=mm&r=g","caption":"meirfeinberg"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1663020428\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality\/Cld_Blog_FeatImg_Sept2k22_Reduce-image-size-keep-quality.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21434","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\/50"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21434"}],"version-history":[{"count":25,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21434\/revisions"}],"predecessor-version":[{"id":38997,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21434\/revisions\/38997"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/25066"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}