[Meta] AI Image Classification
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3546660. --> Reported by: [breidert](https://www.drupal.org/user/135619) >>> <h1 id="ai-image-classification-for-media-entities">AI Image Classification for Media Entities</h1> <h2 id="problem-statement">Problem Statement</h2> <p>Currently, Drupal lacks automated image classification capabilities, making it difficult to organize, search, and discover media content at scale. As AI-powered content discovery becomes increasingly important, we need a foundation for automatically describing and tagging images to enable future RAG (Retrieval-Augmented Generation) and similar AI-driven functionalities.</p> <h2 id="proposed-solution">Proposed Solution</h2> <p>Implement AI-powered image classification functionality that automatically generates descriptions and tags for media images, creating a searchable and well-organized media library that can support advanced AI features.</p> <h2 id="goals">Goals</h2> <ul> <li><strong>Enable Future AI Functionality</strong>: Establish proper image classification as the foundation for advanced AI features in Drupal</li> <li><strong>Improve Content Discoverability</strong>: Allow images to be discovered and retrieved using RAG and similar AI techniques through proper classification and descriptions</li> <li><strong>Automate Media Organization</strong>: Reduce manual effort required to organize and describe media content</li> </ul> <h2 id="mvp-requirements">MVP Requirements</h2> <h3 id="core-functionality">Core Functionality</h3> <ul> <li><strong>Manual Classification Button</strong>: Add a "Classify Image" button to media image entities that triggers AI analysis and automatically populates: <ul> <li>Image description field</li> <li>Classification tags from taxonomy (not just words, but descriptive values)</li> </ul> </li> </ul> <h3 id="configuration-setup">Configuration &amp; Setup</h3> <ul> <li><strong>Recipe Implementation</strong>: Create a Drupal recipe that: <ul> <li>Adds a new taxonomy vocabulary for image classification</li> <li>Adds a description field to the media/image bundle</li> <li>Configures the classification functionality</li> </ul> </li> </ul> <h3 id="bulk-operations">Bulk Operations</h3> <ul> <li><strong>Batch Processing</strong>: Implement bulk operation to classify multiple images simultaneously for existing media libraries</li> </ul> <h2 id="technical-considerations">Technical Considerations</h2> <h3 id="fields-required">Fields Required</h3> <ul> <li><strong>Description Field</strong>: Long text field for AI-generated image descriptions</li> <li><strong>Classification Tags</strong>: Taxonomy reference field linking to image classification vocabulary</li> </ul> <h3 id="user-experience">User Experience</h3> <ul> <li>Single-click classification for individual images</li> <li>Progress indicators for bulk operations</li> <li>Clear feedback on classification results</li> <li>Option to review/edit AI-generated content before saving</li> </ul> <h2 id="post-mvp-functionality">Post-MVP Functionality</h2> <ul> <li>Automatic classification on image upload</li> <li>Classification confidence scoring</li> <li>Advanced tagging hierarchies and relationships</li> </ul> <h2 id="acceptance-criteria">Acceptance Criteria</h2> <ul> <li>[ ] Recipe successfully adds description field and taxonomy to media/image bundle</li> <li>[ ] "Classify Image" button appears on media image edit forms</li> <li>[ ] Button triggers AI classification and populates description and tags</li> <li>[ ] Bulk operation available in media library for multiple image classification</li> <li>[ ] All functionality works with existing media entities</li> <li>[ ] Proper error handling and user feedback implemented</li> </ul> <h2 id="dependencies">Dependencies</h2> <ul> <li>AI service integration (external API or local model)</li> <li>Media module (core)</li> <li>Taxonomy module (core)</li> </ul> <h2 id="priority">Priority</h2> <p><strong>High</strong> - Foundation for future AI functionality initiatives</p> > Related issue: [Issue #3541825](https://www.drupal.org/node/3541825)
issue