New Asset Drill-Down Page

May 31, 2018

You can see it by clicking the 'Manage' icon when hovering over each card:

Or by clicking the 'Manage' button when you're in the transformation page:

The new page includes a summary of the asset details, tags & metadata as well as basic management operations: rename, download, copy URL and delete.

For images, you can also see default transformation presets, showing how Cloudinary transformations would apply to this image.

Asset Drill-Down Page

SDK Updates

May 24, 2018

Access Control support for all SDKs has been enabled

Additionally:

Our PHP SDK has been updated to version 1.9.0:

  • Add delete_derived_by_transformation API
  • Add remove_all_tags to Uploader
  • Add resources_by_context to API
  • Support remote URLs in upload_large API
  • Adding Streaming Profile to transformation.
  • Improve PSR-2 compliance

Our Python SDK has been updated to version 1.11.0:

  • Add remove_all_tags to uploader
  • Add add_context and remove_all_context to uploader
  • CloudinaryField width_field and height_field attributes like in ImageField

Our NodeJS (npm) SDK has been updated to version 1.11.0:

  • Replace lodash’s _ with explicitly requiring methods

Additional updates have been made to our:

VP8/9 Support in MPEG-DASH

May 15, 2018

Support for VP8 / VP9 as video codecs and Opus as audio codec in MPEG-DASH.

This is useful in streaming profiles where one could mix and match with h265 and vp9, and complements h265 support with HLS.

Style Transfer 2.0

May 10, 2018

A new algorithm for Cloudinary's Neural Artworks add-on is out! Create stunning neural network art images with our improved style transfer capabilities, transferring styles from any source artwork to any target photo, on-the-fly. By simply adding the style_transfer effect to any delivered image while specifying the image ID of any source artwork as it's overlay.

For example:

Original image

Style

Amazing result

Read more and try it out here

Reports Page Custom Range

May 01, 2018

Support for a custom range in the Reports Page date picker in the management console now available.

Reports Page

Video Auto-Transcript

Apr 26, 2018

Automatically generate SRT and WebVTT speech to text files for uploaded videos.

By using the Google AI Video Transcription Add-on, the transcript is configured in the upload preset, with the following syntax: raw_convert: google_speech(:srt|:vtt)

For example, the following page includes a video with VTT transcript.

Blurred Background for Videos

Apr 17, 2018

The blurred background effect for videos makes sure that any video, in any direction, will look great!

To use, apply b_blurred:[amount] together with c_pad, like so:

Ruby:
cl_video_tag("ang_dub_vertical", :height=>400, :width=>711, :background=>"blurred:1000", :crop=>"pad")
PHP:
cl_video_tag("ang_dub_vertical", array("height"=>400, "width"=>711, "background"=>"blurred:1000", "crop"=>"pad"))
Python:
CloudinaryVideo("ang_dub_vertical").video(height=400, width=711, background="blurred:1000", crop="pad")
Node.js:
cloudinary.video("ang_dub_vertical", {height: 400, width: 711, background: "blurred:1000", crop: "pad"})
Java:
cloudinary.url().transformation(new Transformation().height(400).width(711).background("blurred:1000").crop("pad")).videoTag("ang_dub_vertical");
JS:
cloudinary.videoTag('ang_dub_vertical', {height: 400, width: 711, background: "blurred:1000", crop: "pad"}).toHtml();
jQuery:
$.cloudinary.video("ang_dub_vertical", {height: 400, width: 711, background: "blurred:1000", crop: "pad"})
React:
<Video publicId="ang_dub_vertical" >
  <Transformation height="400" width="711" background="blurred:1000" crop="pad" />
</Video>
Angular:
<cl-video public-id="ang_dub_vertical" >
  <cl-transformation height="400" width="711" background="blurred:1000" crop="pad">
  </cl-transformation>
</cl-video>
.Net:
cloudinary.Api.UrlVideoUp.Transform(new Transformation().Height(400).Width(711).Background("blurred:1000").Crop("pad")).BuildVideoTag("ang_dub_vertical")
Android:
MediaManager.get().url().transformation(new Transformation().height(400).width(711).background("blurred:1000").crop("pad")).resourceType("video").generate("ang_dub_vertical.mp4");
iOS:
cloudinary.createUrl().setResourceType("video").setTransformation(CLDTransformation().setHeight(400).setWidth(711).setBackground("blurred:1000").setCrop("pad")).generate("ang_dub_vertical.mp4")

You can also optionally set the brightness of blurred video, using b_blurred:[amount]:[brightness]

Get all the details in the blurred video background docs.

Boomerang Transformation Effect

Apr 09, 2018

Boomerang transformation effect for videos and GIFs!

You can apply it by adding e_boomerang to the transformation URL as follows:

Ruby:
cl_image_tag("puppy_leash_xptkoj.gif", :resource_type=>"video", :transformation=>[
  {:effect=>"boomerang"},
  {:effect=>"loop"}
  ])
PHP:
cl_image_tag("puppy_leash_xptkoj.gif", array("resource_type"=>"video", "transformation"=>array(
  array("effect"=>"boomerang"),
  array("effect"=>"loop")
  )))
Python:
CloudinaryVideo("puppy_leash_xptkoj.gif").image(transformation=[
  {"effect": "boomerang"},
  {"effect": "loop"}
  ])
Node.js:
cloudinary.image("puppy_leash_xptkoj.gif", {resource_type: "video", transformation: [
  {effect: "boomerang"},
  {effect: "loop"}
  ]})
Java:
cloudinary.url().transformation(new Transformation()
  .effect("boomerang").chain()
  .effect("loop")).resourceType("video").imageTag("puppy_leash_xptkoj.gif");
JS:
cloudinary.videoTag('puppy_leash_xptkoj.gif', {transformation: [
  {effect: "boomerang"},
  {effect: "loop"}
  ]}).toHtml();
jQuery:
$.cloudinary.image("puppy_leash_xptkoj.gif", {resource_type: "video", transformation: [
  {effect: "boomerang"},
  {effect: "loop"}
  ]})
React:
<Video publicId="puppy_leash_xptkoj.gif" resourceType="video">
  <Transformation effect="boomerang" />
  <Transformation effect="loop" />
</Video>
Angular:
<cl-video public-id="puppy_leash_xptkoj.gif" resource-type="video">
  <cl-transformation effect="boomerang">
  </cl-transformation>
  <cl-transformation effect="loop">
  </cl-transformation>
</cl-video>
.Net:
cloudinary.Api.UrlVideoUp.Transform(new Transformation()
  .Effect("boomerang").Chain()
  .Effect("loop")).BuildImageTag("puppy_leash_xptkoj.gif")
Android:
MediaManager.get().url().transformation(new Transformation()
  .effect("boomerang").chain()
  .effect("loop")).resourceType("video").generate("puppy_leash_xptkoj.gif");
iOS:
cloudinary.createUrl().setResourceType("video").setTransformation(CLDTransformation()
  .setEffect("boomerang").chain()
  .setEffect("loop")).generate("puppy_leash_xptkoj.gif")
Boomerang effect

Learn more about the boomerang effect here.

New Roles - Viewer & Contributor

Mar 27, 2018

As a part of the new Media Library we now offer additional roles, such as:

Viewer - allowed to browse and search the Media Library, download assets and create derived assets. Any edit operations, such as editing tags or metadata, deleting assets, creating folders or moving assets, are not allowed.

Viewer of "Reports" page - A user with this role will only have access to the Reports page, selected Dashboard elements, and his user info in Settings.

Contributor - an extension to the viewer role, with an upload button, allowing to upload new assets from any source, and tag / rename them on upload.

Accounts with multiple users will now be able to select these roles when defining a new user, or when editing an existing one.

Multiple auto-tagging engines

Mar 19, 2018

You can now combine multiple tagging engines to automatically classify your digital assets, calling more than a single tagging engine in the same API call. This is available for both video and image tagging add-ons, calling only the relevant engines based on the resource type.

The categorization parameter will accept multiple comma-separated values, for example:

:categorization => “aws_rek_tagging,imagga_tagging”

You can read more about this here

More Updates