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&mdash;including mandatory <code>provider</code> and <code>model</code> fields&mdash;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> &mdash; identifies which backend executes the transformation.</li> <li><code>model</code> &mdash; selects the specific audio-processing model.</li> <li><code>audio</code> &mdash; 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> &mdash; 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