Cloudinary Blog

Cheers to One Million Developers on Cloudinary!

A Huge Milestone for Cloudinary: A Million Developers

Cloudinary’s mission from Day One has been to help companies unleash the full potential of media to create engaging visual experiences. Today, we celebrate a momentous milestone: more than one million developers have registered with Cloudinary. That translates to a total of approximately 50 billion monthly assets, attesting that our vision for visual media 10 years ago has taken off. A big thanks to all of you who have partnered with us on this journey and who have taken visual media to the next level through Cloudinary.

A Few Highlights

As of June 2021:

  • Developers from over 180 countries out of a total of approximately 195 countries have registered with us.
  • We’ve released a total of 19 SDKs and libraries, 15 of which were developed by us and four by the community. SDKs are available for most popular frontend, backend and mobile programming languages. Read more about the SDKs available here.
  • Video-bandwidth usage over the past 12 months has increased by 70%.
  • We’ve added nearly 50 Media Developer Experts (MDEs) along with an active Discord community of media developers.
  • Nine classes are now offered for developers by the Cloudinary Academy, which provides free training courses, replete with insights from seasoned experts on how to fully leverage Cloudinary’s capabilities to raise productivity and grow revenue. The infographic below illustrates the key factoids about the journey we have taken together.

Corporate Donation and Transformation Contest

To celebrate the million-developer milestone and to thank our community, Cloudinary is donating to five organizations ($10,000 each), which are dedicated to promoting diversity in the tech and STEM fields, including Black Girls Code, Girls Who Code, StartOut, TheOpenCode Foundation, and The Knowledge House. In addition, we are holding a fun contest for our million-plus developers—with an awesome prize for the lucky winner: the ultimate software-engineering workstation-laptop combo (valued at more than US$10,000). See below for the steps on how to enter the content and the rules.

Step 1: Create a Cloudinary account for free if you don’t already have one.

Step 2: Upload this image to your Cloudinary account: https://res.cloudinary.com/cloudinary-marketing/image/upload/1M-dev-contest.jpg

1 million users

Note
For those who are new to Cloudinary, when you transform an uploaded image or video, Cloudinary automatically generates a transformation URL with all your edits.

Example: The Cloudinary URL for an uploaded image:

Ruby:
Copy to clipboard
cl_image_tag("lady.jpg")
PHP v1:
Copy to clipboard
cl_image_tag("lady.jpg")
PHP v2:
Copy to clipboard
(new ImageTag('lady.jpg'));
Python:
Copy to clipboard
CloudinaryImage("lady.jpg").image()
Node.js:
Copy to clipboard
cloudinary.image("lady.jpg")
Java:
Copy to clipboard
cloudinary.url().imageTag("lady.jpg");
JS:
Copy to clipboard
cloudinary.imageTag('lady.jpg').toHtml();
jQuery:
Copy to clipboard
$.cloudinary.image("lady.jpg")
React:
Copy to clipboard
<Image publicId="lady.jpg" >

</Image>
Vue.js:
Copy to clipboard
<cld-image publicId="lady.jpg" >

</cld-image>
Angular:
Copy to clipboard
<cl-image public-id="lady.jpg" >

</cl-image>
.NET:
Copy to clipboard
cloudinary.Api.UrlImgUp.BuildImageTag("lady.jpg")
Android:
Copy to clipboard
MediaManager.get().url().generate("lady.jpg");
iOS:
Copy to clipboard
imageView.cldSetImage(cloudinary.createUrl().generate("lady.jpg")!, cloudinary: cloudinary)
Lady

The Cloudinary URL for the same image with two transformations:

Ruby:
Copy to clipboard
cl_image_tag("lady.jpg", :gravity=>"face", :crop=>"crop")
PHP v1:
Copy to clipboard
cl_image_tag("lady.jpg", array("gravity"=>"face", "crop"=>"crop"))
PHP v2:
Copy to clipboard
(new ImageTag('lady.jpg'))
  ->resize(Resize::crop()
    ->gravity(Gravity::focusOn(FocusOn::face())));
Python:
Copy to clipboard
CloudinaryImage("lady.jpg").image(gravity="face", crop="crop")
Node.js:
Copy to clipboard
cloudinary.image("lady.jpg", {gravity: "face", crop: "crop"})
Java:
Copy to clipboard
cloudinary.url().transformation(new Transformation().gravity("face").crop("crop")).imageTag("lady.jpg");
JS:
Copy to clipboard
cloudinary.imageTag('lady.jpg', {gravity: "face", crop: "crop"}).toHtml();
jQuery:
Copy to clipboard
$.cloudinary.image("lady.jpg", {gravity: "face", crop: "crop"})
React:
Copy to clipboard
<Image publicId="lady.jpg" >
  <Transformation gravity="face" crop="crop" />
</Image>
Vue.js:
Copy to clipboard
<cld-image publicId="lady.jpg" >
  <cld-transformation gravity="face" crop="crop" />
</cld-image>
Angular:
Copy to clipboard
<cl-image public-id="lady.jpg" >
  <cl-transformation gravity="face" crop="crop">
  </cl-transformation>
</cl-image>
.NET:
Copy to clipboard
cloudinary.Api.UrlImgUp.Transform(new Transformation().Gravity("face").Crop("crop")).BuildImageTag("lady.jpg")
Android:
Copy to clipboard
MediaManager.get().url().transformation(new Transformation().gravity("face").crop("crop")).generate("lady.jpg");
iOS:
Copy to clipboard
imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setGravity("face").setCrop("crop")).generate("lady.jpg")!, cloudinary: cloudinary)
Lady

The Cloudinary URL for the same image with seven transformations:

Ruby:
Copy to clipboard
cl_image_tag("lady.jpg", :transformation=>[
  {:gravity=>"face", :height=>400, :width=>400, :crop=>"crop"},
  {:radius=>"max"},
  {:width=>200, :crop=>"scale"}
  ])
PHP v1:
Copy to clipboard
cl_image_tag("lady.jpg", array("transformation"=>array(
  array("gravity"=>"face", "height"=>400, "width"=>400, "crop"=>"crop"),
  array("radius"=>"max"),
  array("width"=>200, "crop"=>"scale")
  )))
PHP v2:
Copy to clipboard
(new ImageTag('lady.jpg'))
  ->resize(Resize::crop()->width(400)->height(400)->gravity(Gravity::focusOn(FocusOn::face())))
  ->roundCorners(RoundCorners::max())
  ->resize(Resize::scale()->width(200));
Python:
Copy to clipboard
CloudinaryImage("lady.jpg").image(transformation=[
  {'gravity': "face", 'height': 400, 'width': 400, 'crop': "crop"},
  {'radius': "max"},
  {'width': 200, 'crop': "scale"}
  ])
Node.js:
Copy to clipboard
cloudinary.image("lady.jpg", {transformation: [
  {gravity: "face", height: 400, width: 400, crop: "crop"},
  {radius: "max"},
  {width: 200, crop: "scale"}
  ]})
Java:
Copy to clipboard
cloudinary.url().transformation(new Transformation()
  .gravity("face").height(400).width(400).crop("crop").chain()
  .radius("max").chain()
  .width(200).crop("scale")).imageTag("lady.jpg");
JS:
Copy to clipboard
cloudinary.imageTag('lady.jpg', {transformation: [
  {gravity: "face", height: 400, width: 400, crop: "crop"},
  {radius: "max"},
  {width: 200, crop: "scale"}
  ]}).toHtml();
jQuery:
Copy to clipboard
$.cloudinary.image("lady.jpg", {transformation: [
  {gravity: "face", height: 400, width: 400, crop: "crop"},
  {radius: "max"},
  {width: 200, crop: "scale"}
  ]})
React:
Copy to clipboard
<Image publicId="lady.jpg" >
  <Transformation gravity="face" height="400" width="400" crop="crop" />
  <Transformation radius="max" />
  <Transformation width="200" crop="scale" />
</Image>
Vue.js:
Copy to clipboard
<cld-image publicId="lady.jpg" >
  <cld-transformation gravity="face" height="400" width="400" crop="crop" />
  <cld-transformation radius="max" />
  <cld-transformation width="200" crop="scale" />
</cld-image>
Angular:
Copy to clipboard
<cl-image public-id="lady.jpg" >
  <cl-transformation gravity="face" height="400" width="400" crop="crop">
  </cl-transformation>
  <cl-transformation radius="max">
  </cl-transformation>
  <cl-transformation width="200" crop="scale">
  </cl-transformation>
</cl-image>
.NET:
Copy to clipboard
cloudinary.Api.UrlImgUp.Transform(new Transformation()
  .Gravity("face").Height(400).Width(400).Crop("crop").Chain()
  .Radius("max").Chain()
  .Width(200).Crop("scale")).BuildImageTag("lady.jpg")
Android:
Copy to clipboard
MediaManager.get().url().transformation(new Transformation()
  .gravity("face").height(400).width(400).crop("crop").chain()
  .radius("max").chain()
  .width(200).crop("scale")).generate("lady.jpg");
iOS:
Copy to clipboard
imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation()
  .setGravity("face").setHeight(400).setWidth(400).setCrop("crop").chain()
  .setRadius("max").chain()
  .setWidth(200).setCrop("scale")).generate("lady.jpg")!, cloudinary: cloudinary)
Lady

Step 3: Apply two transformations of any kind to the image from Step 2.

Note
With Cloudinary, you can transform images on the fly to any format, style, and dimension you desire, as well as apply effects and other visual enhancements.

Step 4: Post the Cloudinary URL of the transformed image on Twitter with the hashtag #1MillionCloudinaryDevs as an entry.

Important
The image must originate from your Cloudinary account, not somebody else’s.

Cloudinary will randomly pick the lucky winner from the #1MillionCloudinaryDevs hashtag.

The contest starts today and ends at 23:59 UTC on Wednesday, September 1, 2021. We’ll announce the winner on the Cloudinary Twitter feed shortly afterwards.

General Rules for Entry:

  • Cloudinary employees and affiliated individuals (contractors, paid consultants, MDEs) are not eligible to participate.
  • All entries must be submitted by 23:59 UTC on Wednesday, September 1, 2021.
  • All entries, one entry per person, will be entered into a random computerized drawing on Thursday, September 2.
  • The winner, who will be notified by Friday, September 3, will have 30 days in which to respond, i.e., by Sunday, October 3 at 23:59 UTC at the latest. In the absence of a response from the winner within the 30-day time frame, a secondary winner will be selected.
  • The winner will receive one (1) NZXT Creator PC (valued at $3,999.00 + taxes and shipping) and one (1) Dell New Precision 7760 Data Science Workstation (valued at $7,196.86 + taxes and shipping). Note that if shipping is restricted or prohibited to the winner's in-country address, the prize will be converted to a dollar value and wired to the winner.

The strides we’ve made over the years would not have been possible without your support, feedback, and enthusiasm for the work we are doing: transformation, optimization, and moderation of images and videos on websites; video APIs; digital asset management. We look forward to working with you as we grow our capabilities, add offerings, and push the boundaries of digital experiences. Here’s to the journey ahead.


One Million Developers on Cloudinary Infographic

Recent Blog Posts

Create Lightweight Sites With Low-Code and No-Code Technology

Consumers expect modern websites to be mainly visual. But, the more compelling and complex the related media is, the more data is involved, compounding the site’s weight. In today’s content-craving world, delivering unoptimized media can cost you because it leads to sluggish page loads, resulting in visitors abandoning your site in search of a faster alternative. In fact, a page load that takes more than three seconds can cause as many as 40% of your visitors to bounce. Given this competitive, digital-first environment, you can’t afford to lose page views, for time is of the essence.

Read more
A Blueprint for AWS-Secured Webhook Listeners for Cloudinary

tl;dr: An AWS-secured and optimized Cloudinary webhook listener for extending the Cloudinary service

Code: Github

A webhook is a communication medium for sending notifications from one platform to another about events that occurred. In place are user-defined HTTP callbacks that are triggered by specific events. When a triggered event takes place on the source site, the webhook listens to the event, collects the data, and sends it to the URL you specified in the form of an HTTP request.

Read more
New Accessibility Features for Cloudinary’s Product Gallery Widget

Cloudinary’s Product Gallery widget, which launched in 2019, has enabled many brands to effectively and efficiently showcase their products in a sleek and captivating manner, saving countless hours of development time and accelerating release cycles. By adding Cloudinary’s Product Gallery widget with its customizable UI to their product page, retailers reap numerous benefits, often turning visitors into customers in short order.

Read more
Why Successful Businesses Engage With and Convert Audiences With Visual Media

Most business buyers prefer to research purchase options online, as do many shoppers. No wonder online retail sales in the U.S. rose by 32.4% in 2020—an impressive gain of $105 billion.

For B2B and B2C businesses, text-heavy websites are no longer adequate in attracting shoppers. Instead, engaging visual media—spin images, videos, 3D models, augmented reality—are becoming a must for conveying eye-catching details and differentiators about products or services.

Read more
Making User-Generated Content (UGC) Shoppable With Cloudinary

User-generated content (UGC) is a powerful marketing tool. Not only does video complement marketing efforts for e-commerce by enabling customers to explore products in greater detail, but UGC also adds an element of trust. As a bonus, user-generated video is an exceptional opportunity for e-businesses to attract website traffic without their marketing team having to create promotional videos from scratch. User-generated content drives conversions and brand loyalty as a direct result of authentic interaction.

Read more