{"id":7572,"date":"2026-07-10T12:57:08","date_gmt":"2026-07-10T12:57:08","guid":{"rendered":"https:\/\/onwardpath.com\/intelligence\/?p=7572"},"modified":"2026-07-10T12:59:25","modified_gmt":"2026-07-10T12:59:25","slug":"aem-adobe-firefly-generate-approve-and-publish-ai-images-inside-your-aem-workflow","status":"publish","type":"post","link":"https:\/\/onwardpath.com\/intelligence\/aem-adobe-firefly-generate-approve-and-publish-ai-images-inside-your-aem-workflow\/","title":{"rendered":"AEM + Adobe Firefly: Generate, Approve and Publish AI Images Inside Your AEM Workflow"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\"><strong>Why Firefly? Not Midjourney or DALL-E<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">The question always comes up in client meetings: &#8220;Can we use Midjourney or DALL-E instead?&#8221; Technically yes. Commercially, no&#8230;.at least not without significant legal risk. Adobe Firefly is trained exclusively on Adobe Stock (licensed), openly licensed content, and public domain material. Adobe indemnifies enterprise customers against copyright claims on Firefly-generated content.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Three things make Firefly the right choice for enterprise AEM deployments: commercially safe training data with Adobe indemnification, Custom Style References to lock brand visual identity, and native Adobe ecosystem integration via App Builder and AEM Assets.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 1 &#8211; The Architecture<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">The integration has four layers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Layer 1 &#8211; Creative Brief: Author writes brief in AEM Sidekick panel, selects style reference from AEM Assets, configures channel and variant count<\/li>\n\n\n\n<li class=\"\">Layer 2 &#8211; Firefly Generation: App Builder action calls Firefly Images API with style reference, generates N variants in parallel, returns signed URLs<\/li>\n\n\n\n<li class=\"\">Layer 3 &#8211; AEM Assets Review: Variants ingested as drafts, automated compliance check via Claude API, human review in AEM inbox, auto-tagging on approval<\/li>\n\n\n\n<li class=\"\">Layer 4 &#8211; EDS Delivery: Author selects approved image, AEM EDS converts to WebP\/AVIF, Fastly CDN caches at edge, Lighthouse score stays at 100<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 2 &#8211; App Builder Action: Calling Firefly API<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">All API keys live in App Builder environment variables never in client-side code, never in AEM content. The action receives a brief from the Sidekick panel and returns image URLs back to AEM Assets. Key environment variables: FIREFLY_API_KEY, FIREFLY_CLIENT_ID, IMS_ORG_ID.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The App Builder action builds a Firefly API request with the text prompt, style reference image URL, target size per channel, and number of variants. After generation, all image URLs are ingested into AEM Assets as draft assets with source:firefly metadata.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 3 &#8211; AEM Sidekick Panel UI<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">A custom AEM Sidekick v6+ extension adds a &#8220;Generate Image&#8221; panel. Authors fill in a text prompt, select a style reference from their AEM Assets library, choose the target channel and variant count, then click Generate. The panel shows real-time progress while App Builder calls Firefly.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Sidekick panel calls the App Builder API endpoint never Firefly directly. This ensures all API keys remain server-side at all times.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 4 &#8211; AEM Assets Review Workflow<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Generated images land in AEM Assets as drafts with metadata status:draft and source:firefly, triggering a review workflow automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Workflow steps:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\">Ingest trigger &#8211; Workflow Launcher fires on new asset with source:firefly<\/li>\n\n\n\n<li class=\"\">Automated compliance check &#8211; Claude API checks brand brief match and prohibited content<\/li>\n\n\n\n<li class=\"\">Human review &#8211; Brand team sees all variants side by side in AEM inbox<\/li>\n\n\n\n<li class=\"\">Auto-tagging &#8211; Adobe Sensei tags approved images with subject, colour, mood, composition<\/li>\n\n\n\n<li class=\"\">Status update &#8211; Approved images get status:approved and appear in page editor asset picker<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 5 &#8211; Bulk Campaign Generation<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">For campaign launches requiring 50+ image variants, a scheduled App Builder action reads a campaign brief from an AEM Content Fragment and generates all variants in a single batch job. A campaign brief for four channels at four variants each produces 16 images in roughly 8 seconds all ingested into AEM Assets and tagged with campaign metadata.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 6 &#8211; Edge Delivery: Serving AI Images at 100 Lighthouse<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">AEM Edge Delivery Services handles image optimisation automatically. Fastly serves Firefly images as WebP or AVIF at the correct responsive size with lazy loading. Always reference the AEM Assets rendition URL never raw Firefly output URLs so EDS can apply resizing and format conversion.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Part 7 &#8211; Style References: Locking Brand Visual Identity<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Style references are the most important Firefly capability for enterprise use. Select 5\u201310 of your best on-brand images, upload to \/content\/dam\/brand\/style-references\/, tag by use case (hero, product, lifestyle, team), and restrict the Sidekick panel style reference picker to this folder.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Measuring the Impact<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Time from brief to approved image typically drops from 2-3 days to under 2 hours<\/li>\n\n\n\n<li class=\"\">Image variant count per campaign grows from 2-4 to 16-20 variants for A\/B testing<\/li>\n\n\n\n<li class=\"\">Adobe Stock spend 40-60% reduction after six months of Firefly adoption<\/li>\n\n\n\n<li class=\"\">Page Lighthouse score must stay at 100 after publishing Firefly images<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1024\" height=\"700\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-diagram.png?resize=1024%2C700&#038;ssl=1\" alt=\"\" class=\"wp-image-7574\" srcset=\"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-diagram.png?resize=1024%2C700&amp;ssl=1 1024w, https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-diagram.png?resize=300%2C205&amp;ssl=1 300w, https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-diagram.png?resize=768%2C525&amp;ssl=1 768w, https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-diagram.png?w=1200&amp;ssl=1 1200w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Every AEM content team is being asked the same question in 2026: can we generate images with AI? Adobe Firefly answers it with commercially safe output trained exclusively on licensed Adobe Stock, with Adobe indemnification on every generated image. This guide shows how to wire Firefly directly into your AEM workflow via App Builder: a Sidekick panel for authors to submit briefs, parallel variant generation across web, email, social and paid channels, an AEM Assets review and approval workflow with automated compliance checking, bulk campaign mode that produces 16 images in 8 seconds, and Edge Delivery publishing that keeps your Lighthouse score at 100. Brief to approved image in under two hours.<\/p>\n","protected":false},"author":7,"featured_media":7576,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[138,128,37],"tags":[137,188,45,46,63],"class_list":["post-7572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adobe-experience-manager","category-talent-solutions","category-technology-blog","tag-adobe-experience-manager","tag-adobe-firefly","tag-technology-blog","tag-webcenter","tag-webcenter-content"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/onwardpath.com\/intelligence\/wp-content\/uploads\/2026\/07\/aem-firefly-thumb.png?fit=1600%2C1200&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/comments?post=7572"}],"version-history":[{"count":1,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7572\/revisions"}],"predecessor-version":[{"id":7577,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/posts\/7572\/revisions\/7577"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/media\/7576"}],"wp:attachment":[{"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/media?parent=7572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/categories?post=7572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onwardpath.com\/intelligence\/wp-json\/wp\/v2\/tags?post=7572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}