{"id":37366,"date":"2025-04-04T07:00:00","date_gmt":"2025-04-04T14:00:00","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=37366"},"modified":"2025-04-04T11:03:10","modified_gmt":"2025-04-04T18:03:10","slug":"crop-face-eyes-copyright-and-licensing-compliance","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance","title":{"rendered":"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance"},"content":{"rendered":"\n<p>When you\u2019re producing external assets to be seen by customers and partners, ensuring compliance with copyright laws and usage rights is critical. It\u2019s also especially difficult considering assets that were once compliant can become non-compliant simply due to the passage of time.<\/p>\n\n\n\n<p>For example, model usage rights expire, and copyright constraints can prevent you from using an asset in your latest campaign. When issues like these arise, cropping the face can be an effective way to make the most of your visual media.&nbsp;<\/p>\n\n\n\n<p>This guide walks you through a solution using <a href=\"https:\/\/cloudinary.com\/documentation\/advanced_facial_attributes_detection_addon#:~:text=The%20Advanced%20Facial%20Attribute%20Detection%20add%2Don%20is%20an%20integrated,human%20faces%20in%20an%20image.\">Cloudinary\u2019s Advanced Facial Attributes Detection Add-on<\/a> to handle this requirement efficiently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why Crop Images at Specific Facial Features?<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Copyright restrictions.<\/strong> Certain wholesale partners require images of models to be cropped at specific facial features (e.g., below the eyes or above the mouth) before sharing.<\/li>\n\n\n\n<li><strong>Usage right expiry.<\/strong> When the licensing rights of a model\u2019s image expire, partial cropping allows continued usage of the image while complying with legal requirements.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Solution Overview<\/h2>\n\n\n\n<p>By leveraging Cloudinary\u2019s Advanced Facial Attributes Detection Add-on, you can:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Detect facial landmarks like the eyes, nose, and mouth during the upload process.<\/li>\n\n\n\n<li>Extract the lowest y coordinate for each feature (eyes, nose, mouth) and store them as <strong>contextual metadata<\/strong>.<\/li>\n\n\n\n<li>Use this metadata to set up named transformations for cropping images at the desired facial feature.<\/li>\n\n\n\n<li>Share the cropped images in collections with predefined templates for download.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Implementation Steps<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Detect Facial Features on Upload<\/h3>\n\n\n\n<p>To enable detection, use the <code>detection=adv_face<\/code> parameter during the upload process. This will analyze the image and extract facial landmarks, including the precise coordinates of key features.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Example Upload API Call<\/h4>\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\">const<\/span> result = {};\n\n<span class=\"hljs-keyword\">const<\/span> landmarks = e.upload_info?.info?.detection?.adv_face?.data&#91;<span class=\"hljs-number\">0<\/span>].facial_landmarks;\n\n<span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-keyword\">const<\/span> &#91;key, value] <span class=\"hljs-keyword\">of<\/span> <span class=\"hljs-built_in\">Object<\/span>.entries(landmarks)) {\n\n\u00a0\u00a0\u00a0\u00a0<span class=\"hljs-keyword\">const<\/span> yValues = &#91;];\n\n\u00a0\u00a0\u00a0\u00a0<span class=\"hljs-keyword\">const<\/span> extractY = <span class=\"hljs-function\"><span class=\"hljs-params\">obj<\/span> =&gt;<\/span> {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-keyword\">const<\/span> subKey <span class=\"hljs-keyword\">in<\/span> obj) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-keyword\">typeof<\/span> obj&#91;subKey] === <span class=\"hljs-string\">'object'<\/span>) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0extractY(obj&#91;subKey]);\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} <span class=\"hljs-keyword\">else<\/span> <span class=\"hljs-keyword\">if<\/span> (subKey === <span class=\"hljs-string\">'y'<\/span>) {\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0yValues.push(obj&#91;subKey]);\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0};\n\n\u00a0\u00a0\u00a0\u00a0extractY(value);\n\n\u00a0\u00a0\u00a0\u00a0result&#91;key] = <span class=\"hljs-built_in\">Math<\/span>.max(...yValues);\n\n}\n\ncurrent_asset.update({<span class=\"hljs-string\">\"context\"<\/span>:{<span class=\"hljs-string\">\"nose\"<\/span>: <span class=\"hljs-built_in\">Math<\/span>.round(result.nose), <span class=\"hljs-string\">\"mouth\"<\/span>: <span class=\"hljs-built_in\">Math<\/span>.round(result.mouth), <span class=\"hljs-string\">\"eye\"<\/span>: <span class=\"hljs-built_in\">Math<\/span>.round(result.eye)}})<\/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<h3 class=\"wp-block-heading\">2. Store Contextual Metadata<\/h3>\n\n\n\n<p>The <code>on_success<\/code> callback above stores the detected coordinates of the nose, mouth, and eyes in the asset\u2019s contextual metadata. This ensures the cropping logic is reusable and can adapt to different requirements based on the customer\u2019s needs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Set Up Named Transformations<\/h3>\n\n\n\n<p>With the contextual metadata in place, you can define named transformations to crop images dynamically based on the desired facial feature.<\/p>\n\n\n\n<p>In this transformation:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>$av_ctx:!mouth!_to_i<\/code><\/strong> initializes a variable <code>$av<\/code> (<code>av <\/code>can be what you want) by extracting the contextual metadata mouth (likely stored during upload). The <code>to_i <\/code>function converts the mouth metadata (a string) into an integer.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>c_fill<\/code> sets the <strong>crop mode<\/strong> to fill, meaning the image will be resized and cropped to completely fill the specified dimensions.<\/li>\n\n\n\n<li><code>w_w<\/code> specifies the width of the resulting cropped image. This keeps the same width<\/li>\n\n\n\n<li><code>h_h_sub_$av<\/code> sets the height of the resulting cropped image to the initial height, and subtracts the <code>$av<\/code> variable (the mouth Y-coordinate) from <code>h_h<\/code>, which represents the total height of the original image. This creates a cropping area from the mouth to the bottom.<\/li>\n<\/ul>\n\n\n\n<p>This can be setup through API<\/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\">cloudinary.v2.api\n\n.create_transformation(<span class=\"hljs-string\">'crop-at-mouth'<\/span>,\n\n\u00a0\u00a0<span class=\"hljs-string\">'$av_ctx:!mouth!_to_i\/c_fill,w_w,h_h_sub_$av,g_south'<\/span>)\n\n.then(<span class=\"hljs-function\"><span class=\"hljs-params\">result<\/span>=&gt;<\/span><span class=\"hljs-built_in\">console<\/span>.log(result));<\/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>or via the Media Library Console by going to <strong>Transformation Builder, Advanced<\/strong> > <strong>Additional Transformations<\/strong>, then copying and pasting: <code>$av_ctx:!mouth!_to_i\/c_fill,w_w,h_h_sub_$av,g_south<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Create Collections for Download<\/h3>\n\n\n\n<p>Once the cropped images are ready, you can organize them into a collection with a specific template for external sharing. Use Cloudinary\u2019s Media Library to upload the desired images to the specified collection, or set up rules on your collection to automatically add assets to the collection that match.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Summary<\/h2>\n\n\n\n<p>With Cloudinary\u2019s Advanced Facial Attributes Detection Add-on, managing complex image requirements like cropping at specific facial features becomes seamless and efficient. To learn more about how Cloudinary can help you enhance content workflow efficiency and scalability while ensuring your assets comply with copyright and licensing requirements, <a href=\"https:\/\/cloudinary.com\/contact\">contact us today<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you\u2019re producing external assets to be seen by customers and partners, ensuring compliance with copyright laws and usage rights is critical. It\u2019s also especially difficult considering assets that were once compliant can become non-compliant simply due to the passage of time. For example, model usage rights expire, and copyright constraints can prevent you from [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":37367,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[165],"class_list":["post-37366","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-image-transformation"],"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>Ensuring Copyright and Licensing Compliance With Cloudinary\u2019s Advanced Facial Attributes Detection Add-on<\/title>\n<meta name=\"description\" content=\"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.\" \/>\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\/crop-face-eyes-copyright-and-licensing-compliance\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance\" \/>\n<meta property=\"og:description\" content=\"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-04T14:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-04T18:03:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face-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\/crop-face-eyes-copyright-and-licensing-compliance#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\"},\"author\":{\"name\":\"melindapham\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9\"},\"headline\":\"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance\",\"datePublished\":\"2025-04-04T14:00:00+00:00\",\"dateModified\":\"2025-04-04T18:03:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\"},\"wordCount\":589,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA\",\"keywords\":[\"Image Transformation\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\",\"url\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\",\"name\":\"Ensuring Copyright and Licensing Compliance With Cloudinary\u2019s Advanced Facial Attributes Detection Add-on\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA\",\"datePublished\":\"2025-04-04T14:00:00+00:00\",\"dateModified\":\"2025-04-04T18:03:10+00:00\",\"description\":\"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance\"}]},{\"@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":"Ensuring Copyright and Licensing Compliance With Cloudinary\u2019s Advanced Facial Attributes Detection Add-on","description":"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.","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\/crop-face-eyes-copyright-and-licensing-compliance","og_locale":"en_US","og_type":"article","og_title":"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance","og_description":"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.","og_url":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance","og_site_name":"Cloudinary Blog","article_published_time":"2025-04-04T14:00:00+00:00","article_modified_time":"2025-04-04T18:03:10+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face-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\/crop-face-eyes-copyright-and-licensing-compliance#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance"},"author":{"name":"melindapham","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/0d5ad601e4c3b5be89245dfb14be42d9"},"headline":"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance","datePublished":"2025-04-04T14:00:00+00:00","dateModified":"2025-04-04T18:03:10+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance"},"wordCount":589,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA","keywords":["Image Transformation"],"inLanguage":"en-US","copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance","url":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance","name":"Ensuring Copyright and Licensing Compliance With Cloudinary\u2019s Advanced Facial Attributes Detection Add-on","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA","datePublished":"2025-04-04T14:00:00+00:00","dateModified":"2025-04-04T18:03:10+00:00","description":"Read our guide to manage complex image requirements like cropping at specific facial features, made easy with Cloudinary\u2019s Advanced Facial Attributes Detection Add-on.","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/crop-face-eyes-copyright-and-licensing-compliance#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Crop at the Face (Eyes\/Mouth) Using Cloudinary for Copyright and Licensing Compliance"}]},{"@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\/v1743617462\/Blog_How_to_Crop_at_the_Face\/Blog_How_to_Crop_at_the_Face.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37366","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=37366"}],"version-history":[{"count":2,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37366\/revisions"}],"predecessor-version":[{"id":37369,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/37366\/revisions\/37369"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/37367"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=37366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=37366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=37366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}