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

Overlaying Glasses Or Masks on Avatars With Vue.js and Cloudinary

Deep learning, a subset of machine learning, breaks down tasks in ways that make all kinds of machine assists possible. With deep learning, you can identify images by machine, i.e., instead of hand-coding software with specific instructions for a task, you train the machine with large amounts of data and algorithms that enable it to learn how to perform the task.

Read more
On-Demand Viewing of Live Video Presents New Opportunities

In early 2020, Cloudinary was planning its fourth annual ImageCon conference, a two-day event in the heart of San Francisco, where we’d congregate with curious digital-media minds to brainstorm best practices for media management. Instead, the COVID-19 pandemic forced the entirety of ImageCon 2020 online. As with all other events being planned, we had to overhaul the content to be communicated on video. Gratifyingly, we found the right partner—the event platform Bizzabo—to turn that into a reality.

Read more
Why the Future of E-commerce Is Live

In a previous post, I discussed how “going live” is gaining popularity across industries and verticals. What began as a way for gamers to jam together has evolved into a medium for broader entertainment and business purposes. To continue the conversation, this post unpacks the current trends of shoppable live streams to shine a light on how brands are leveraging “lives” to connect with shoppers in new ways.

Read more
An Overview of Live-Streaming Video Trends

“Let’s go live.” For decades, that’s what newscasters say as they cut to real-time footage of a colleague reporting in the field. The live-video feed adds visual interest and perspective to a story beyond what can be communicated by someone sitting behind the news desk. In the same way, live-streaming video nowadays adds context to other consumer environments. From gaming and events to shopping and social media, “going live” enhances everyday experiences, and it’s something anyone can do with relative ease.

Read more