{"id":33258,"date":"2024-03-26T07:00:00","date_gmt":"2024-03-26T14:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=33258"},"modified":"2024-08-02T22:43:33","modified_gmt":"2024-08-03T05:43:33","slug":"mediaflows-automate-image-processing","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing","title":{"rendered":"Leveraging MediaFlows to Automate Image Processing"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><\/div>\n\n\n<p>In digital media management, Cloudinary MediaFlows stands out as a robust tool designed to simplify and automate complex workflows involving media assets, such as images and videos. Accessible via the <a href=\"https:\/\/home.mediaflows.cloudinary.com\/\">Cloudinary website<\/a>, it streamlines processes and ensures high-quality outcomes for digital media handling.<\/p>\n\n\n\n<p>In this blog post, we\u2019ll use MediaFlows to automate image upload processing. Specifically, we aim to listen for every image upload, duplicate the image, and then extract and transform a person&#8217;s avatar into a rounded, cropped version. This example demonstrates MediaFlows&#8217; versatility and highlights the benefits of saving and storing transformed images directly. While the Cloudinary API offers on-the-fly transformation capabilities, pre-processing, and storing specific versions can improve performance and reduce processing needs, especially for frequently accessed images.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hands-On: Automating Image Processing With MediaFlows<\/h2>\n\n\n\n<p>Let&#8217;s dive into a practical walkthrough of automating image processing for every upload, specifically focusing on duplicating images and transforming them into circular avatars.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Initial Setup<\/h3>\n\n\n\n<p>You&#8217;re ready to begin once you&#8217;ve logged into Cloudinary MediaFlows and created a project linked to your Cloudinary product environment. Cloudinary MediaFlows offers various flow templates to save time. For our purposes, we&#8217;ll select the &#8220;Edit media&#8221; template.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/pLyWAjbTvx88MiA4GlXllb8DtBwpD9bT1LFUQzybHvhQBlkcCGbD6euazkVssgh1Al4qd9iDWXNuC1in44nqdlQQlj6ro_BTUOP0FfIMYDm8eAGyVEXvT4f3BjekCwOAb1UwqiJxFgLuFDsLkzamkc8\" alt=\"edit media template flow button\"\/><\/figure><\/div>\n\n\n<p>This template already contains most of the pieces needed for our objective:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Listening to every upload to Cloudinary.\n<ul class=\"wp-block-list\">\n<li>MediaFlows offers a variety of trigger types like Cloudinary Upload, DAM app, Scheduler, etc., for this example we\u2019ll keep using Cloudinary Upload. Please visit the <a href=\"https:\/\/cloudinary.com\/documentation\/mediaflows_block_reference#triggers\">docs<\/a> for more info about the trigger types.&nbsp;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Duplicating the image to keep a copy of the original.<\/li>\n\n\n\n<li>Crop transformation (which we will modify for our purposes).<\/li>\n\n\n\n<li>Image resizing for repository consistency.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/DwR1OocUNDzYkmICaKnQKWiEedaCbNO3AvTU3AMVFH62_X8fdKOISHHXkoKNLcDk-9AJAF4QWwYkt3LYchcYhsHPfFn0WwHNdE3Wbs8y39Lpxp0LPd0Cn7jhkxXckGo1Wk0cYb9oK_sFZPkrnJRDtSA\" alt=\"block flow diagram of edit media template flow\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Modifying the Template<\/h3>\n\n\n\n<p>Our goal is to adjust the template to suit our specific needs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Remove the crop transformation<\/strong>. Since our focus is on creating circular avatars, the default crop transformation is not required.<\/li>\n\n\n\n<li><strong>Add a rename media block<\/strong>. Organizing our avatar images is crucial. We ensure better organization by adding &#8220;avatar_&#8221; at the beginning of the original&#8217;s public ID. Ensure the &#8220;Current Public ID&#8221; and &#8220;New Public ID&#8221; fields are correctly targeted.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/7CpBb8IMzLEqnWXdr3TdMrZ7yFddcJNH9p4lA8YAxIHQjQuhxsdyWYaiqa863U_EauuuWj7V6druPK_cBokIh0ENtYcjhQiR-q8XddIYZgdTuaFTUmabWtBOJk64lRgHtm1Rf8gKws-04eBeI62uZto\" alt=\"\"\/><\/figure><\/div>\n\n\n<p>(alt text: configuration screenshot of Rename Media block as described above)<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Add an &#8220;Edit Media&#8221; Block<\/strong>. This block is essential for performing face detection and border-radius transformations. Use the transformation string `c_crop,g_face,w_800,h_800,r_max`, which stands for:\n<ul class=\"wp-block-list\">\n<li><strong><code>c_crop<\/code><\/strong>. Crops the image.<\/li>\n\n\n\n<li><strong><code>g_face<\/code><\/strong>. Focuses the gravity around the face.<\/li>\n\n\n\n<li><strong><code>w_800,h_800<\/code><\/strong>. Sets the width and height to 800 pixels, ensuring consistency.<\/li>\n\n\n\n<li><strong><code>r_max<\/code><\/strong>. Applies the maximum radius to round the image, creating a circle.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/djZQuktRzdeEtX9kj9JifchO_9hYQOKBd3VwcRtZA8Nw2bNNNkUQ2mC828sd28Zjo9ieoMTO4qW-5TyWuL-f9s1ApNBL9zraDusrDmnN-vWlCSOGulxBUWhdRU4_fYg5nbdObC_B3YSZ1j228sMlMy4\" alt=\"configuration screenshot of Edit Media block as described above\"\/><\/figure><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adjust the &#8220;Public ID&#8221; Configuration<\/strong>. Adding the &#8220;Rename Media&#8221; block affects the flow, requiring adjustments to the &#8220;Public ID&#8221; configuration in subsequent blocks.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/BjQSMk_GvIPy4ynsusbIPfIB-FMmgNYuLLaZur6ITPSrl01V4FdZ6_6QoX5T1ycllAvUuHGbcWe4Ix9RbgzVwOBsuedJy7ihvJnmgb45azVnPSKj3OJ4ZaOCn8Dd4WfM7BCvCnUgsq0gs9y2rLM3mso\" alt=\"view of the final flow block\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Saving and Testing the Flow<\/h3>\n\n\n\n<p>Once the flow is configured, save your changes and test it by clicking on the &#8220;Run&#8221; button. This test lets you see each step executed with a testing image and the final result, ensuring everything works as expected before going live.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/aa4vdrjR5pbSXddh_gOaB7rx4-pII_mxFIG0zy9SpykIppCvDY3CzJAaYxdp6URCZzqYWyFUFXgpK3ucNYBO8J5ioodxQvEHAWNx7EqcZYZDle99E7t0Yk6ZhN7_nn0szYtMdu37ZR5TafYVQH4P2QM\" alt=\"log of the test execution for the created flow\"\/><\/figure><\/div>\n\n\n<p>The testing image is also visible in the Cloudinary Media Explorer:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/lRC_mPpcGVNIWtvRY72EsGC9BGLAc4db-LK-RORyyPBH3XP4nkcQMIev_TktJCwho0WxDGRSUhY6AJjFIzq_SJSmio6VVxaS-GP0uOaweeG0vXxzcfqCc4cMm0XIj0_KEKTLBpqW0utoMsuvjNRbMhs\" alt=\"original image and transformed image from the test execution\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\">Activating the Webhook and Cloudinary Testing<\/h3>\n\n\n\n<p>To activate the flow, enable the webhook in the first &#8220;Cloudinary Upload&#8221; block.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/vGSy0CtyyjXIOAYbpLq03Wd5mBUynXBB5ulsaX7bfw2ysgg5OO20A0uekrVSra4kTfWdVByBwQea-71kOtT88abT3vpId5CpcGKARNyKxQuupvjglrGp1BV8MK-YvTlFkuQDIWsDGuTu_2V0soP7tIk\" alt=\"configuration section of the Cloudinary Upload block, to enable the webhook\"\/><\/figure><\/div>\n\n\n<p>Testing the setup in Cloudinary by uploading a photo allows you to observe the process in action, confirming that the original and avatar images are correctly processed and uploaded.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/gdELMXn8xVmirYN6VEjpezP19YDsqYwT7N7vRqX43ob7SvUSTW0CK4Dzvz4ubW2rp4QzrRCwTEFUn-IUIWYUvAEiemcgMSimD_SFCIfCuDemB7AZBmcl5gczUZM9ngN2uo5ms-CmOm-et4L4hXnnz7I\" alt=\"uploaded a photo on Cloudinary to test the flow, executed as expected\"\/><figcaption class=\"wp-element-caption\">(Photo by<a href=\"https:\/\/unsplash.com\/@vincentchen?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash\"> Vincent Chen<\/a> on<a href=\"https:\/\/unsplash.com\/photos\/a-woman-in-a-baseball-cap-holding-a-cell-phone-I_uFHRMccaw?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash\"> Unsplash<\/a>)<\/figcaption><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Throughout this blog post, we&#8217;ve explored Cloudinary&#8217;s MediaFlows&#8217; capabilities to automate a specific image processing workflow. Leveraging the &#8220;Edit media&#8221; template, we tailored MediaFlows to listen for image uploads, then duplicate images and transform them into circular avatars, all while organizing them for easy access. This process demonstrates the flexibility and power of MediaFlows and underscores the efficiency gains from automating repetitive tasks in media management.<\/p>\n\n\n\n<p>We&#8217;ve shown how to optimize performance and reduce processing demands by pre-processing and storing avatar images. This strategy can be applied across various use cases where image consistency and quick access are paramount. The step-by-step guide provided offers a foundation on which to build even more complex workflows tailored to specific project needs.<\/p>\n\n\n\n<p>For those interested in diving deeper or exploring other possibilities with MediaFlows, Cloudinary&#8217;s documentation provides a wealth of resources and guides to further enhance your media management strategies. Visit the <a href=\"https:\/\/cloudinary.com\/documentation\/mediaflows\">MediaFlows documentation<\/a> for more insights and inspiration.<\/p>\n\n\n\n<p>If you found this blog post helpful and want to discuss it in more detail, head over to&nbsp;<a href=\"https:\/\/community.cloudinary.com\/\">Cloudinary Community forum<\/a>&nbsp;and its associated&nbsp;<a href=\"https:\/\/discord.com\/invite\/cloudinary\">Discord<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In digital media management, Cloudinary MediaFlows stands out as a robust tool designed to simplify and automate complex workflows involving media assets, such as images and videos. Accessible via the Cloudinary website, it streamlines processes and ensures high-quality outcomes for digital media handling. In this blog post, we\u2019ll use MediaFlows to automate image upload processing. [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":33260,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[162,363],"class_list":["post-33258","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-image-processing","tag-media-flows"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Automating Image Processing With Cloudinary MediaFlows<\/title>\n<meta name=\"description\" content=\"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.\" \/>\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\/mediaflows-automate-image-processing\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging MediaFlows to Automate Image Processing\" \/>\n<meta property=\"og:description\" content=\"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-26T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-03T05:43:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog-jpg?_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\/jpeg\" \/>\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\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"Leveraging MediaFlows to Automate Image Processing\",\"datePublished\":\"2024-03-26T14:00:00+00:00\",\"dateModified\":\"2024-08-03T05:43:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\"},\"wordCount\":748,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA\",\"keywords\":[\"Image Processing\",\"MediaFlows\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\",\"url\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\",\"name\":\"Automating Image Processing With Cloudinary MediaFlows\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA\",\"datePublished\":\"2024-03-26T14:00:00+00:00\",\"dateModified\":\"2024-08-03T05:43:33+00:00\",\"description\":\"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leveraging MediaFlows to Automate Image Processing\"}]},{\"@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:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"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":"Automating Image Processing With Cloudinary MediaFlows","description":"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.","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\/mediaflows-automate-image-processing","og_locale":"en_US","og_type":"article","og_title":"Leveraging MediaFlows to Automate Image Processing","og_description":"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.","og_url":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing","og_site_name":"Cloudinary Blog","article_published_time":"2024-03-26T14:00:00+00:00","article_modified_time":"2024-08-03T05:43:33+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog-jpg?_i=AA","type":"image\/jpeg"}],"author":"melindapham","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"Leveraging MediaFlows to Automate Image Processing","datePublished":"2024-03-26T14:00:00+00:00","dateModified":"2024-08-03T05:43:33+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing"},"wordCount":748,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA","keywords":["Image Processing","MediaFlows"],"inLanguage":"en-US","copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing","url":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing","name":"Automating Image Processing With Cloudinary MediaFlows","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA","datePublished":"2024-03-26T14:00:00+00:00","dateModified":"2024-08-03T05:43:33+00:00","description":"Cloudinary MediaFlows simplifies image processing workflows by automating image uploads, duplicates, and transformations for circular avatars.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/mediaflows-automate-image-processing#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Leveraging MediaFlows to Automate Image Processing"}]},{"@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:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","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"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1710883025\/mediaflow_image_processing-blog\/mediaflow_image_processing-blog.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/33258","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=33258"}],"version-history":[{"count":8,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/33258\/revisions"}],"predecessor-version":[{"id":35027,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/33258\/revisions\/35027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/33260"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=33258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=33258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=33258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}