Title: PromptBuilder::isSupported
Published: May 20, 2026

---

# PromptBuilder::isSupported( WordPressAiClientProvidersModelsEnumsCapabilityEnum|null $capability = null ): bool

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#wp--skip-link--target)

Checks if the current prompt is supported by the selected model.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#parameters)󠁿

 `$capability`WordPressAiClientProvidersModelsEnumsCapabilityEnum|nulloptional

Optional capability to check support for.

Default:`null`

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#return)󠁿

 bool True if supported, false otherwise.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#source)󠁿

    ```php
    public function isSupported(?CapabilityEnum $capability = null): bool
    {
        // If no intended capability provided, infer from output modalities
        if ($capability === null) {
            // First try to infer from a specific model if one is set
            if ($this->model !== null) {
                $inferredCapability = $this->inferCapabilityFromModelInterfaces($this->model);
                if ($inferredCapability !== null) {
                    $capability = $inferredCapability;
                }
            }
            // If still no capability, infer from output modalities
            if ($capability === null) {
                $capability = $this->inferCapabilityFromOutputModalities();
            }
        }
        // Build requirements with the specified capability
        $requirements = ModelRequirements::fromPromptData($capability, $this->messages, $this->modelConfig);
        // If the model has been set, check if it meets the requirements
        if ($this->model !== null) {
            return $requirements->areMetBy($this->model->metadata());
        }
        try {
            // Check if any models support these requirements
            $models = $this->registry->findModelsMetadataForSupport($requirements);
            return !empty($models);
        } catch (InvalidArgumentException $e) {
            // No models support the requirements
            return \false;
        }
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/php-ai-client/src/builders/promptbuilder.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L689)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L689-L719)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#related)󠁿

| Uses | Description | 
| [ModelRequirements::fromPromptData()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-models-dto-modelrequirements/frompromptdata/)`wp-includes/php-ai-client/src/Providers/Models/DTO/ModelRequirements.php` |

Creates ModelRequirements from prompt data and model configuration.

  | 
| [PromptBuilder::inferCapabilityFromModelInterfaces()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/infercapabilityfrommodelinterfaces/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Infers the capability from a model’s implemented interfaces.

  | 
| [PromptBuilder::inferCapabilityFromOutputModalities()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/infercapabilityfromoutputmodalities/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Infers the capability from configured output modalities.

  |

| Used by | Description | 
| [PromptBuilder::isSupportedForEmbeddingGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforembeddinggeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for embedding generation.

  | 
| [PromptBuilder::isSupportedForTextGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedfortextgeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for text generation.

  | 
| [PromptBuilder::isSupportedForImageGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforimagegeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for image generation.

  | 
| [PromptBuilder::isSupportedForTextToSpeechConversion()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedfortexttospeechconversion/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for text to speech conversion.

  | 
| [PromptBuilder::isSupportedForVideoGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforvideogeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for video generation.

  | 
| [PromptBuilder::isSupportedForSpeechGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforspeechgeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for speech generation.

  | 
| [PromptBuilder::isSupportedForMusicGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedformusicgeneration/)`wp-includes/php-ai-client/src/Builders/PromptBuilder.php` |

Checks if the prompt is supported for music generation.

  |

[Show 2 more](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupported/?output_format=md#changelog)󠁿

| Version | Description | 
| [0.3.0](https://developer.wordpress.org/reference/since/0.3.0/) | Method visibility changed to public. | 
| [0.1.0](https://developer.wordpress.org/reference/since/0.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwordpress-aiclient-builders-promptbuilder%2Fissupported%2F)
before being able to contribute a note or feedback.