Add Focal Point Operation Type, API Explorer and LLM Provider
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3571939. -->
Reported by: [marcus_johansson](https://www.drupal.org/user/385947)
Related to !1163
>>>
<p>[Tracker]<br>
<strong>Update Summary: </strong>[One-line status update for stakeholders]<br>
<strong>Short Description: </strong>[One-line issue summary for stakeholders]<br>
<strong>Check-in Date: </strong>MM/DD/YYYY<br>
<em>Metadata is used by the <a href="https://www.drupalstarforge.ai/" title="AI Tracker">AI Tracker.</a> Docs and additional fields <a href="https://www.drupalstarforge.ai/ai-dashboard/docs" title="AI Issue Tracker Documentation">here</a>.</em><br>
[/Tracker]</p>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>This comes from <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3569554" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3569554</a></span>. Many sites have older images that might not have focal point attached to it or might have so many images on content types, that it takes the editor a lot of time to set it. We should automate this.</p>
<p>On top of that vision models like OpenAI gpt-4.1 or Mistral Medium are very good at describing images and can be utilized to find a fairly good x and y axis.</p>
<p>There are also services specialized on it, like: <a href="https://learn.microsoft.com/en-us/rest/api/computervision/get-area-of-interest/get-area-of-interest?view=rest-computervision-v3.2&tabs=HTTP">https://learn.microsoft.com/en-us/rest/api/computervision/get-area-of-interest/get-area-of-interest?view=rest-computervision-v3.2&tabs=HTTP</a> </p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<ul>
<li>Create an input that takes an ImageFile and an optional prompt.</li>
<li>Create an output that gives back x and y.</li>
<li>Create an API Explorer for it.</li>
<li>Create an LLM version of the provider that can use the LLM Vision models for it. See solution in <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_initiative/-/work_items/3569554" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_initiative/-/work_items/3569554</a></span></li>
<li>Write documentation</li>
<li>Write tests</li>
</ul>
<h3 id="summary-ai-usage">AI usage (if applicable)</h3>
<p>[ ] AI Assisted Issue<br>
This issue was generated with AI assistance, but was reviewed and refined by the creator.</p>
<p>[x] AI Assisted Code<br>
This code was mainly generated by a human, with AI autocompleting or parts AI generated, but under full human supervision.</p>
<p>[ ] AI Generated Code<br>
This code was mainly generated by an AI with human guidance, and reviewed, tested, and refined by a human.</p>
<p>[ ] Vibe Coded<br>
This code was generated by an AI and has only been functionally tested.</p>
issue