{"id":40513,"date":"2026-10-14T07:00:00","date_gmt":"2026-10-14T14:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=40513"},"modified":"2026-09-28T14:03:02","modified_gmt":"2026-09-28T21:03:02","slug":"cloudinary-video-api-features-youre-not-using","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","title":{"rendered":"Cloudinary Video API Features You&#8217;re Probably Not Using Yet"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" id=\"h-\">Most teams adopt Cloudinary to solve an immediate problem, usually to upload a file, embed a video, or resize an image. The feature ships, and the team moves on. But <a href=\"https:\/\/cloudinary.com\/video_api\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary Video API<\/a> includes capabilities that go well beyond basic upload and delivery, and many of them can eliminate manual editing work entirely.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide covers seven video features that are built into the API but often go unused: smart cropping with AI gravity, dynamic overlays, auto-captioning and chaptering, signed expiring URLs, audio replacement, AI-generated video previews, and video concatenation. Each one includes use cases, implementation details, and code examples you can drop into your project.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/f_auto,q_auto\/v1790119722\/blog-Cloudinary_Video_API_Features_You_re_Probably_Not_Using_Yet-1.png\" alt=\"Cloudinary Video API features\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What This Guide Covers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">By the end, you&#8217;ll know how to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Crop and reframe videos automatically for any aspect ratio using AI gravity.<\/li>\n\n\n\n<li>Overlay images, text, and video clips onto a base video at delivery time.<\/li>\n\n\n\n<li>Generate transcripts, captions, and chapter markers from uploaded videos.<\/li>\n\n\n\n<li>Secure video access with signed, time-limited URLs.<\/li>\n\n\n\n<li>Replace or mute audio tracks without re-editing the source file.<\/li>\n\n\n\n<li>Generate short, AI-selected video previews and animated GIFs.<\/li>\n\n\n\n<li>Concatenate multiple clips into a single video through URL parameters.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Before You Start<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To follow along with the code examples, you need:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A free <a href=\"https:\/\/cloudinary.com\/users\/register\/free\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary account<\/a>. Note your cloud name from the dashboard.<\/li>\n\n\n\n<li>The Cloudinary Node.js SDK installed (npm install cloudinary).<\/li>\n\n\n\n<li>At least one video uploaded to your Cloudinary Media Library.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Some features (auto-captioning, AI tagging) require add-ons enabled in your Cloudinary account. The relevant sections note when an add-on is needed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7 Video API Features Worth Adding to Your Workflow<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Smart Cropping and AI Gravity<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudinary analyzes video content frame by frame and keeps the most important subject in frame during crop and aspect ratio conversions. Instead of manually editing separate versions for Stories, Reels, and landscape web players, you generate all variants from a single source video.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deliver vertical, square, and landscape versions from one base video, keeping faces or products in frame.<\/li>\n\n\n\n<li>Reframe lectures or interviews automatically, keeping the speaker centered without manual editing.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set the <a href=\"https:\/\/cloudinary.com\/documentation\/video_gravity\" target=\"_blank\" rel=\"noreferrer noopener\">gravity parameter<\/a> to auto in your transformation chain. You can also target specific subjects with <code>auto:object<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">import<\/span> { v2 <span class=\"hljs-keyword\">as<\/span> cloudinary } <span class=\"hljs-keyword\">from<\/span> <span class=\"hljs-string\">'cloudinary'<\/span>;\n\ncloudinary.url(<span class=\"hljs-string\">'my_video'<\/span>, {\n\n\u00a0 <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">'video'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">transformation<\/span>: &#91;\n\n\u00a0 \u00a0 { <span class=\"hljs-attr\">width<\/span>: <span class=\"hljs-number\">720<\/span>, <span class=\"hljs-attr\">height<\/span>: <span class=\"hljs-number\">1280<\/span>, <span class=\"hljs-attr\">crop<\/span>: <span class=\"hljs-string\">'fill'<\/span>, <span class=\"hljs-attr\">gravity<\/span>: <span class=\"hljs-string\">'auto'<\/span> }\n\n\u00a0 ]\n\n});<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The <code>g_auto<\/code> parameter tells Cloudinary to detect the most visually important region in each frame and keep it centered during the crop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/f_auto,q_auto\/v1790119722\/blog-Cloudinary_Video_API_Features_You_re_Probably_Not_Using_Yet-2.jpg\" alt=\"Cat original frame\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/f_auto,q_auto\/v1790119722\/blog-Cloudinary_Video_API_Features_You_re_Probably_Not_Using_Yet-3.jpg\" alt=\"Same cat in a landscape frame\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/f_auto,q_auto\/v1790119723\/blog-Cloudinary_Video_API_Features_You_re_Probably_Not_Using_Yet-4.jpg\" alt=\"Cat zoomed in\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Dynamic Overlays<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You can overlay images, videos, or styled text onto a base video at delivery time. This means watermarks, branded CTAs, personalized text (like a customer&#8217;s name), or even a short ad clip layered onto the video, all without editing the source file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add a branded watermark or QR code to every video.<\/li>\n\n\n\n<li>Inject dynamic text like &#8220;Congratulations, [Name]!&#8221; or countdown timers.<\/li>\n\n\n\n<li>Prepend or append a short ad clip (video-on-video).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the <code>overlay<\/code> and <code>layer_apply<\/code> flags in your transformation:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">const<\/span> cloudinary = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'cloudinary'<\/span>).v2;\n\ncloudinary.video(<span class=\"hljs-string\">'base_video'<\/span>, {\n\n\u00a0 <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">'video'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">transformation<\/span>: &#91;\n\n\u00a0 \u00a0 {\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">overlay<\/span>: <span class=\"hljs-string\">'video:promo_clip'<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">width<\/span>: <span class=\"hljs-number\">300<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">height<\/span>: <span class=\"hljs-number\">200<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">flags<\/span>: <span class=\"hljs-string\">'layer_apply'<\/span>\n\n\u00a0 \u00a0 },\n\n\u00a0 \u00a0 {\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">overlay<\/span>: <span class=\"hljs-string\">'logo_png'<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">gravity<\/span>: <span class=\"hljs-string\">'south_east'<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">flags<\/span>: <span class=\"hljs-string\">'layer_apply'<\/span>\n\n\u00a0 \u00a0 },\n\n\u00a0 ]\n\n});<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The first block overlays a promo video clip. The second overlays a logo image in the bottom-right corner. Both apply at delivery time through URL parameters.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/cloudinary-marketing-res.cloudinary.com\/image\/upload\/f_auto,q_auto\/v1790119724\/blog-Cloudinary_Video_API_Features_You_re_Probably_Not_Using_Yet-5.png\" alt=\"Video showing watermark added using the video API\"\/><figcaption class=\"wp-element-caption\">Video showing watermark added using the video API.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Auto-Captioning, Transcripts, and Chapters<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudinary AI-powered transcription add-ons generate speaker-segmented, timestamped transcripts within minutes of upload. These transcripts feed into subtitle overlays, searchable text layers, or chapter metadata. The feature supports over 100 languages and eliminates manual subtitle editing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add captions automatically for accessibility and SEO.<\/li>\n\n\n\n<li>Display an interactive transcript alongside the video for search and navigation.<\/li>\n\n\n\n<li>Generate chapter markers for long-form content like webinars and tutorials.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enable the <a href=\"https:\/\/cloudinary.com\/documentation\/video_transcription\" target=\"_blank\" rel=\"noreferrer noopener\">Google or Azure transcription add-on<\/a> in your Cloudinary account. Then set <code>raw_convert<\/code> or <code>auto_transcription<\/code> in the upload call:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">cloudinary.uploader.upload(<span class=\"hljs-string\">'lecture.mp4'<\/span>, {\n\n\u00a0 <span class=\"hljs-attr\">public_id<\/span>: <span class=\"hljs-string\">'lecture'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">'video'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">raw_convert<\/span>: <span class=\"hljs-string\">'google_speech'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">auto_chaptering<\/span>: <span class=\"hljs-literal\">true<\/span>,\n\n})\n\n.then(<span class=\"hljs-function\"><span class=\"hljs-params\">res<\/span> =&gt;<\/span> {\n\n\u00a0 <span class=\"hljs-comment\">\/\/ Transcript available as lecture.transcript<\/span>\n\n\u00a0 <span class=\"hljs-comment\">\/\/ Chapters generated automatically<\/span>\n\n});<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<div class='c-callout  c-callout--inline-title c-callout--note'><strong class='c-callout__title'>Note:<\/strong> <p>The transcription add-on must be enabled in your Cloudinary account before this works. Navigate to <strong>Settings &gt; Add-ons<\/strong> to install it.<\/p>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">4. Expiring URLs and Role-Based Upload<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Signed URLs include an expiration timestamp and a cryptographic signature. Cloudinary CDN verifies both on every request. If the timestamp has passed or the signature doesn&#8217;t match, the CDN blocks access. Combined with role-based upload presets, you can limit which transformations different customer types can apply.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Secure premium or gated content with time-limited access.<\/li>\n\n\n\n<li>Restrict transformations or uploads based on customer role (admin vs. public).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Set <code>sign_url: true<\/code> and <code>expires_at<\/code> in the SDK:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">const<\/span> cloudinary = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'cloudinary'<\/span>).v2;\n\ncloudinary.url(<span class=\"hljs-string\">'premium_video'<\/span>, {\n\n\u00a0 <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">'video'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">sign_url<\/span>: <span class=\"hljs-literal\">true<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">expires_at<\/span>: <span class=\"hljs-built_in\">Math<\/span>.floor(<span class=\"hljs-built_in\">Date<\/span>.now() \/ <span class=\"hljs-number\">1000<\/span>) + <span class=\"hljs-number\">3600<\/span> <span class=\"hljs-comment\">\/\/ 1 hour<\/span>\n\n});<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">Always generate signed URLs on your server, never in client-side code. The signature uses your API secret, which must stay private.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Audio Replacement<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudinary lets you replace, mute, or layer audio tracks using transformation parameters. You overlay an audio file onto the base video, adjust volume levels with <code>e_volume<\/code>, and control encoding with <code>audio_codec<\/code>. No manual editing or re-uploading required.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replace original audio with localized narration (English to French voice-over).<\/li>\n\n\n\n<li>Add background music to customer-uploaded videos.<\/li>\n\n\n\n<li>Mute copyrighted or unwanted audio.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Specify an overlay with an audio file and apply flags: <code>layer_apply<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">const<\/span> cloudinary = <span class=\"hljs-built_in\">require<\/span>(<span class=\"hljs-string\">'cloudinary'<\/span>).v2;\n\ncloudinary.video(<span class=\"hljs-string\">'my_video'<\/span>, {\n\n\u00a0 <span class=\"hljs-attr\">resource_type<\/span>: <span class=\"hljs-string\">'video'<\/span>,\n\n\u00a0 <span class=\"hljs-attr\">transformation<\/span>: &#91;\n\n\u00a0 \u00a0 {\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">overlay<\/span>: <span class=\"hljs-string\">'video:new_audio_track'<\/span>,\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">flags<\/span>: <span class=\"hljs-string\">'layer_apply'<\/span>\n\n\u00a0 \u00a0 },\n\n\u00a0 \u00a0 {\n\n\u00a0 \u00a0 \u00a0 <span class=\"hljs-attr\">audio_codec<\/span>: <span class=\"hljs-string\">'aac'<\/span>\n\n\u00a0 \u00a0 }\n\n\u00a0 ]\n\n});<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">The <code>audio_codec: 'aac'<\/code> parameter ensures the final video has valid audio encoding for broad browser compatibility.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. AI-Generated Video Previews<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudinary analyzes a video using deep learning, identifies the most engaging segments, and stitches them into a short preview or animated GIF. This automates the work of scrubbing through footage to find the best moments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create hover previews on video thumbnail grids.<\/li>\n\n\n\n<li>Generate short clips for social media promotion.<\/li>\n\n\n\n<li>Show quick product demo previews on e-commerce pages.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use the <code>e_preview<\/code> parameter in the delivery URL. You can control the total duration and number of segments:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">https:<span class=\"hljs-comment\">\/\/res.cloudinary.com\/YOUR_CLOUD\/video\/upload\/e_preview:duration_5\/sample_video.gif<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">This generates a five-second animated GIF from the most engaging moments in the video.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Video Concatenation (Splicing)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cloudinary lets you stitch multiple video clips or images into a single video through URL parameters. The <code>fl_splice<\/code> flag appends an overlaid asset to the base video instead of displaying it on top.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>When to use it:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prepend a personalized welcome clip or name card to a product tutorial.<\/li>\n\n\n\n<li>Append an outro with a CTA to every video in a campaign.<\/li>\n\n\n\n<li>Automate bulk video creation from reusable segments.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How to implement it:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>l_video:<\/code> to specify the asset to append, followed by <code>fl_splice<\/code> and <code>fl_layer_apply<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\">https:<span class=\"hljs-comment\">\/\/res.cloudinary.com\/YOUR_CLOUD\/video\/upload\/l_video:outro_clip\/fl_splice,fl_layer_apply\/product_demo.mp4<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p class=\"wp-block-paragraph\">This appends <code>outro_clip<\/code> to the end of <code>product_demo<\/code>. You can chain multiple splices to build longer sequences from reusable segments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Putting It Together: An E-commerce Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To see how these features work together, consider an e-commerce platform where sellers upload product videos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When a new product video arrives, <code>g_auto<\/code> cropping generates vertical, square, and landscape variants for different platforms. If the video includes audio, you can replace it with localized narration for different regions or mute it for autoplay contexts.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For promotions, text overlays inject discount codes or product details directly onto the video based on campaign rules, without editing the source file. For longer product walkthroughs, auto-chaptering lets customers jump to the sections that matter most (specs, installation, how-to).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On listing pages, <code>e_preview<\/code> generates short hover previews that show the product in motion. Auto-captioning adds subtitles for accessibility and SEO. For early-access products, signed URLs restrict viewing to authorized customers with time-limited links.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every feature runs through the same API. One source video. Multiple outputs. No manual editing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Best Practices for Video Delivery<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Use eager transformations for heavy processing.<\/strong> Complex operations like initial cropping, audio replacement, and chapter generation should run at upload time, not at delivery time. This moves the processing cost from the first viewer&#8217;s request to the upload phase, ensuring fast first loads for high-traffic assets.<\/li>\n\n\n\n<li><strong>Reserve on-the-fly transformations for dynamic content.<\/strong> Overlaying unique discount codes based on customer data or generating personalized text should happen at delivery time because the output changes per request.<\/li>\n\n\n\n<li><strong>Always include <code>f_auto<\/code> and <code>q_auto<\/code>.<\/strong> These two parameters automatically select the most efficient format and compression level for each viewer&#8217;s browser. They should appear in every production video URL.<\/li>\n\n\n\n<li><strong>Generate signed URLs server-side only.<\/strong> Signed URLs contain your API secret in their signature. Always generate them on your server. Never expose the signing logic in client-side code.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Start Experimenting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These seven features are built into Cloudinary Video API. They don&#8217;t require separate editing software, additional infrastructure, or complex server-side scripts. Each one is available through URL parameters or SDK calls.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pick one feature that addresses a pain point in your current workflow and try it. Smart cropping and <code>f_auto\/q_auto<\/code> are the fastest wins. Auto-captioning and video previews typically have the highest impact on engagement. Audio replacement and concatenation open up localization and personalization workflows that would otherwise require a full video editing pipeline.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are a few next steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Start with smart cropping.<\/strong> Generate three aspect ratio variants from your most-viewed video and compare engagement across platforms.<\/li>\n\n\n\n<li><strong>Add auto-captioning to new uploads.<\/strong> Enable the transcription add-on and set <code>raw_convert<\/code> in your upload preset so every video gets captions automatically.<\/li>\n\n\n\n<li><strong>Build a preview grid.<\/strong> Use <code>e_preview<\/code> to generate hover GIFs for your video thumbnail pages. Measure whether preview-enabled thumbnails increase click-through rates.<\/li>\n\n\n\n<li><strong>Test audio replacement for localization.<\/strong> Take one product demo and generate versions with narration in two or three languages using audio overlays.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sign up for a <a target=\"_blank\" href=\"https:\/\/cloudinary.com\/users\/register\/free\" rel=\"noreferrer noopener\">free Cloudinary account<\/a> to try these features yourself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" id=\"h-\"><strong>Resources:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/video_manipulation_and_delivery\" target=\"_blank\" rel=\"noreferrer noopener\">Cloudinary video transformations documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/layers\" target=\"_blank\" rel=\"noreferrer noopener\">Video overlay documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/node_captioning_on_upload_tutorial#auto_generate_a_caption_on_upload\" target=\"_blank\" rel=\"noreferrer noopener\">Auto-captioning and transcription<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/control_access_to_media\" target=\"_blank\" rel=\"noreferrer noopener\">Signed URLs and access control<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/documentation\/cloudinary_video_player\" target=\"_blank\" rel=\"noreferrer noopener\">Video Player documentation<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/glossary\" target=\"_blank\" rel=\"noreferrer noopener\">Image and video glossary<\/a><\/li>\n<\/ul>\n\n\n\n<style>\n.faqs {\n    padding: 30px 60px;\n    margin-top: 40px;\n    background: var(--color-background-offset);\n    border-radius: 20px;\n}\n\n#frequently_asked_questions {\n    margin-bottom: 20px;\n}\n\n.question {\n    margin-bottom: 12px;\n    border-bottom: 1px solid rgba(0, 0, 0, 0.12);\n}\n\n.question summary {\n    position: relative;\n    padding: 18px 40px 18px 0;\n    cursor: pointer;\n    font-weight: 700;\n    list-style: none;\n}\n\n.question summary::-webkit-details-marker {\n    display: none;\n}\n\n.question summary::after {\n    content: \"+\";\n    position: absolute;\n    top: 50%;\n    right: 0;\n    transform: translateY(-50%);\n    font-size: 24px;\n    font-weight: 400;\n    line-height: 1;\n}\n\n.question[open] summary::after {\n    content: \"\u2212\";\n}\n\n.answer {\n    padding: 0 40px 20px 0;\n}\n<\/style>\n\n<div class=\"faqs\">\n\n<h2 id=\"frequently_asked_questions\">Frequently Asked Questions<\/h2>\n\n<details class=\"question\">\n    <summary>What is AI gravity in the Cloudinary Video API?<\/summary>\n    <div class=\"answer\"><a href=\"https:\/\/cloudinary.com\/documentation\/video_gravity\">AI gravity<\/a>, set with the <code>g_auto<\/code> parameter, analyzes video content frame by frame to detect the most visually important subject and keeps it in frame during cropping or aspect ratio changes. This lets you generate vertical, square, and landscape variants from a single source video without manually re-editing each one.<\/div>\n<\/details>\n\n<details class=\"question\">\n    <summary>Can Cloudinary automatically generate captions and transcripts for video?<\/summary>\n    <div class=\"answer\">Yes. Cloudinary&#8217;s <a href=\"https:\/\/cloudinary.com\/documentation\/video_transcription\">AI-powered transcription add-ons<\/a> generate speaker-segmented, timestamped transcripts shortly after upload, supporting over 100 languages, which can then feed subtitle overlays or chapter markers.<\/div>\n<\/details>\n\n<details class=\"question\">\n    <summary>Can I replace or localize audio in a video without re-editing the source file?<\/summary>\n    <div class=\"answer\">Yes. Cloudinary lets you <a href=\"https:\/\/cloudinary.com\/documentation\/video_layers\">overlay a new audio track<\/a> onto an existing video, adjust volume, and set the audio codec entirely through transformation parameters, so localized narration or background music can be added at delivery time.<\/div>\n<\/details>\n\n<details class=\"question\">\n    <summary>How does Cloudinary generate AI video previews?<\/summary>\n    <div class=\"answer\">Using the <code>e_preview<\/code> transformation, Cloudinary applies deep learning to identify the most engaging segments of a video and stitches them into a short preview or animated GIF, useful for hover previews, social clips, or product demo thumbnails. Configuration options like duration and segment count are detailed in the <a href=\"https:\/\/cloudinary.com\/documentation\/video_previews_and_posters\">video previews and posters documentation<\/a>.<\/div>\n<\/details>\n\n<details class=\"question\">\n    <summary>Do I need separate editing software to concatenate video clips with Cloudinary?<\/summary>\n    <div class=\"answer\">No. Cloudinary&#8217;s <code>fl_splice<\/code> flag lets you append one video clip to another directly through URL parameters, which is useful for adding intros, outros, or personalized name cards without a video editing pipeline. The <a href=\"https:\/\/cloudinary.com\/documentation\/video_concatenation\">video concatenation documentation<\/a> covers the full syntax, including chaining multiple splices together.<\/div>\n<\/details>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Most teams adopt Cloudinary to solve an immediate problem, usually to upload a file, embed a video, or resize an image. The feature ships, and the team moves on. But Cloudinary Video API includes capabilities that go well beyond basic upload and delivery, and many of them can eliminate manual editing work entirely. This guide [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":40557,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[303,305],"class_list":["post-40513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-video","tag-video-api"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.3 (Yoast SEO v28.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>7 Cloudinary Video API Features You&#039;re Not Using<\/title>\n<meta name=\"description\" content=\"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.\" \/>\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\/cloudinary-video-api-features-youre-not-using\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloudinary Video API Features You&#039;re Probably Not Using Yet\" \/>\n<meta property=\"og:description\" content=\"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T14:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.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=\"melindapham\" \/>\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\":\"Article\",\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/#\\\/schema\\\/person\\\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"Cloudinary Video API Features You&#8217;re Probably Not Using Yet\",\"datePublished\":\"2026-10-14T14:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using\"},\"wordCount\":1753,\"publisher\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/res.cloudinary.com\\\/cloudinary-marketing\\\/images\\\/f_auto,q_auto\\\/v1789762872\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA\",\"keywords\":[\"Video\",\"Video API\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using\",\"url\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using\",\"name\":\"7 Cloudinary Video API Features You're Not Using\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/res.cloudinary.com\\\/cloudinary-marketing\\\/images\\\/f_auto,q_auto\\\/v1789762872\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA\",\"datePublished\":\"2026-10-14T14:00:00+00:00\",\"description\":\"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#primaryimage\",\"url\":\"https:\\\/\\\/res.cloudinary.com\\\/cloudinary-marketing\\\/images\\\/f_auto,q_auto\\\/v1789762872\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA\",\"contentUrl\":\"https:\\\/\\\/res.cloudinary.com\\\/cloudinary-marketing\\\/images\\\/f_auto,q_auto\\\/v1789762872\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\\\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/cloudinary-video-api-features-youre-not-using#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/cloudinary.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloudinary Video API Features You&#8217;re Probably Not Using Yet\"}]},{\"@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\\\/0d5ad601e4c3b5be89245dfb14be42d9\",\"name\":\"melindapham\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g\",\"caption\":\"melindapham\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"7 Cloudinary Video API Features You're Not Using","description":"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.","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\/cloudinary-video-api-features-youre-not-using","og_locale":"en_US","og_type":"article","og_title":"Cloudinary Video API Features You're Probably Not Using Yet","og_description":"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.","og_url":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","og_site_name":"Cloudinary Blog","article_published_time":"2026-10-14T14:00:00+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","type":"image\/png"}],"author":"melindapham","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"Cloudinary Video API Features You&#8217;re Probably Not Using Yet","datePublished":"2026-10-14T14:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using"},"wordCount":1753,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","keywords":["Video","Video API"],"inLanguage":"en-US","copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","url":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","name":"7 Cloudinary Video API Features You're Not Using","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","datePublished":"2026-10-14T14:00:00+00:00","description":"Most teams only scratch the surface of Cloudinary Video API. Smart cropping, dynamic overlays, auto-captioning, audio replacement, and video previews are all built in.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloudinary Video API Features You&#8217;re Probably Not Using Yet"}]},{"@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\/0d5ad601e4c3b5be89245dfb14be42d9","name":"melindapham","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6f989fa97fe94be61596259d8629c3df65aec4c7da5c0000f90d810f313d4f4?s=96&d=mm&r=g","caption":"melindapham"}}]}},"parsely":{"version":"1.1.0","canonical_url":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","meta":{"@context":"https:\/\/schema.org","@type":"NewsArticle","headline":"Cloudinary Video API Features You&#8217;re Probably Not Using Yet","url":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA&w=150&h=150&crop=1","image":{"@type":"ImageObject","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA"},"articleSection":"Uncategorized","author":[{"@type":"Person","name":"melindapham"}],"creator":["melindapham"],"publisher":{"@type":"Organization","name":"Cloudinary Blog","logo":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA"},"keywords":["video","video api"],"dateCreated":"2026-10-14T14:00:00Z","datePublished":"2026-10-14T14:00:00Z","dateModified":"2026-10-14T14:00:00Z"},"rendered":"<meta name=\"parsely-title\" content=\"Cloudinary Video API Features You&#8217;re Probably Not Using Yet\" \/>\n<meta name=\"parsely-link\" content=\"https:\/\/cloudinary.com\/blog\/cloudinary-video-api-features-youre-not-using\" \/>\n<meta name=\"parsely-type\" content=\"post\" \/>\n<meta name=\"parsely-image-url\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA&w=150&amp;h=150&amp;crop=1\" \/>\n<meta name=\"parsely-pub-date\" content=\"2026-10-14T14:00:00Z\" \/>\n<meta name=\"parsely-section\" content=\"Uncategorized\" \/>\n<meta name=\"parsely-tags\" content=\"video,video api\" \/>\n<meta name=\"parsely-author\" content=\"melindapham\" \/>","tracker_url":"https:\/\/cdn.parsely.com\/keys\/cloudinary.com\/p.js"},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1789762872\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet\/Blog_What_s_Possible_with_Cloudinary_s_Video_API_That_You_re_Not_Using_Yet.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/40513","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\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=40513"}],"version-history":[{"count":3,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/40513\/revisions"}],"predecessor-version":[{"id":40534,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/40513\/revisions\/40534"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/40557"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=40513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=40513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=40513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}