Programmable Media

Programmable Media release notes: Apr 04, 2023

Last updated: Apr-04-2023

New features

AI Video cropping with automatic gravity for objects

Auto-gravity for videos uses AI to automatically detect and crop the most relevant part of a video. This can be particularly useful for adapting existing videos for viewing on a smartphone by cropping a portrait sized section from a landscape aspect video.

The AI auto-gravity for videos can now be adjusted so that instead of just focusing on what the algorithm determines is the most interesting areas of the video, it can focus on a specific object, with g_auto:<object>. It then uses this information to automatically crop the video to focus on the most relevant content in the frame. Learn more.


Watch this video for more information:

Doc portal dark mode

We know that many developers love dark mode. With that in mind, we’ve added that capability to the Cloudinary Documentation. Now you can learn the same way you code.

We invite you to flip that switch in the top menu and try it now.

dark mode


Streaming profile enhancements

  • The video length limit for on-the-fly streaming with sp_auto has been increased to 1 hour.

  • Audio normalization for sp_auto ensures consistent volume levels across different quality sections of the same video, such as dialogue, music, and sound effects. This can be very important when the volume level varies significantly between different parts of the video which can be a jarring experience for the user when switching between the different sections.

    This feature can be especially useful when you can’t control the audio quality of the original asset, like videos coming from third parties or UGC (user-generated content). Adding the audio normalization effect (e_volume:auto) also adds confidence that the volume will be consistent for the entire video.

    Watch this video for more information:

Automatic gravity video improvements

Auto-gravity for videos has been improved to generate a more fluid and natural-looking motion when using video dynamic cropping, capturing fine movements that are less than a full pixel in size. Using this sub-pixel accuracy results in a smoother, more realistic motion, which is especially important for high-resolution videos where individual pixels are more noticeable.

Open Transformation Builder from Doc Examples

You can now open the Transformation Builder interface as a standalone browser app directly from any transformation code example in the documentation. Just click the Open in Transformation Builder button below the code example. From there, you can see how the transformation looks on different assets, and experiment by adjusting the transformation options.

Try it now by clicking the button in the example below:

Coming soon

  • Webhooks management: It will soon be possible to configure multiple endpoints for webhook notifications and control which event types are sent to each endpoint. You'll be able to manage your webhook notification URLs either using a new page in the Console Settings or programmatically using the Admin API.

  • New cache mechanism for iOS: The new CLDURLCache mechanism will offer a more innovative cache system based on the iOS class URLCache, including storing the response and verifying cache headers such as cache-control.

  • Flutter SDK: The SDK will soon offer support for the Upload API, as well as adding cache options via the SDK's CldImageWidget.

Register for notifications

Make sure you always know when new release notes are published:

  • Register for RSS feed Programmable Media release notes RSS feed: Grab this RSS link to watch for new Programmable Media release notes in your favorite RSS reader.

  • Join Cloudinary Discord Cloudinary Discord: Join the Cloudinary Discord server and keep an eye on the #cloudinary-news channel. Our RSS feeds will automatically be pushed there whenever new release notes are published.

✔️ Feedback sent!

Rate this page: