WordPress / WordPress/php-ai-client

Expose model capabilities (input/output types)

Open
#226 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
308
Forks
84
Avg merge
7d 21h
Merged PRs (30d)
2

Description

Currently, there is no way to check what input/output types a model supports (e.g. text, audio, image).


Problem

When building features like model selection UIs or validation, developers need to know if a model supports:

  • text → text
  • audio → text
  • text → audio

Right now, this requires guessing based on model names (e.g. transcribe, audio, etc.), which is not reliable.


Expected Solution

Provide a way to access model capabilities, for example:

$model = AiClient::model('gpt-4o');

$model->getCapabilities();

/*
[
  'input' => ['text', 'image'],
  'output' => ['text'],
]
*/

Or simple helpers:

$model->supportsInput('text');
$model->supportsOutput('text');

Why this helps
  • Makes model selection safer
  • Removes fragile string-based checks
  • Helps build better UIs and integrations

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names AiClient::model() and the proposed getCapabilities(), supportsInput(), and supportsOutput() entry points. Start by tracing how models are represented and how their input and output types could be exposed consistently. Done means callers can inspect text, audio, and image capabilities without relying on model-name guesses.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.