Audio-to-Audio tool
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3562620. -->
Reported by: [marcus_johansson](https://www.drupal.org/user/385947)
>>>
<p>[Tracker]<br>
<strong>Update Summary: </strong>Define a canonical Audio-to-Audio tool with required provider/model inputs and a binary audio output contract.<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>
We need tools for <a href="https://www.drupal.org/project/tool">Tool API</a> for the operations that the AI module exposes. The Drupal AI module does not yet define a standardized tool contract for Audio-to-Audio transformations such as voice conversion, timbre/style transfer, noise reduction, or audio enhancement.<br>
Providers offering such capabilities currently cannot expose them through a shared schema, which limits interoperability, UI generation, and agent automation.<br>
A dedicated AudioToAudio tool type is required to ensure consistent handling of inputs—including mandatory <code>provider</code> and <code>model</code> fields—and to define a predictable binary audio output.
</p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<ul>
<li>Create a new <code>AudioToAudio</code> tool definition in the Drupal AI Tool API.</li>
<li>Define required inputs:
<ul>
<li><code>provider</code> — identifies which backend executes the transformation.</li>
<li><code>model</code> — selects the specific audio-processing model.</li>
<li><code>audio</code> — raw audio input as binary or file stream.</li>
</ul>
</li>
<li>Define optional inputs such as transformation presets, style/voice targets, enhancement strength, and provider-specific options.</li>
<li>Specify the output format as a single field:
<ul>
<li><code>audio_binary</code> — the processed audio returned as raw binary.</li>
</ul>
</li>
<li>Ensure the definition is provider-agnostic so any backend implementing audio-to-audio transformations can conform to the same contract.</li>
<li>Enable Drupal AI UIs and Agents to generate forms, pipelines, and workflows that operate consistently across providers.</li>
</ul>
issue