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

---

# PromptBuilder::generateResult( WordPressAiClientProvidersModelsEnumsCapabilityEnum|null $capability = null ): WordPressAiClientResultsDTOGenerativeAiResult

## In this article

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

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

Generates a result from the prompt.

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

This is the primary execution method that generates a result (containing potentially
multiple candidates) based on the specified capability or the configured output 
modality.

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

 `$capability`WordPressAiClientProvidersModelsEnumsCapabilityEnum|nulloptional

Optional capability to use for generation.
 If null, capability is inferred from
output modality.

Default:`null`

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

 WordPressAiClientResultsDTOGenerativeAiResult The generated result containing candidates.

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

    ```php
    public function generateResult(?CapabilityEnum $capability = null): GenerativeAiResult
    {
        $this->validateMessages();
        // If capability is not provided, infer it
        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();
            }
        }
        $model = $this->getConfiguredModel($capability);
        // Dispatch BeforeGenerateResultEvent
        $this->dispatchEvent(new BeforeGenerateResultEvent($this->messages, $model, $capability));
        // Route to the appropriate generation method based on capability
        $result = $this->executeModelGeneration($model, $capability, $this->messages);
        // Dispatch AfterGenerateResultEvent
        $this->dispatchEvent(new AfterGenerateResultEvent($this->messages, $model, $capability, $result));
        return $result;
    }
    ```

[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#L812)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L812-L837)

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

| Uses | Description | 
| [BeforeGenerateResultEvent::__construct()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/__construct/)`wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php` |

Constructor.

  | 
| [AfterGenerateResultEvent::__construct()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__construct/)`wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php` |

Constructor.

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

Dispatches an event if an event dispatcher is registered.

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

Validates the messages array for prompt generation.

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

Gets the model to use for generation.

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

Executes the model generation based on capability.

  | 
| [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.

  |

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

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

Generates a video result from the prompt.

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

Generates a text result from the prompt.

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

Generates an image result from the prompt.

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

Generates a speech result from the prompt.

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

Converts text to speech and returns the result.

  |

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

| Version | Description | 
| [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%2Fgenerateresult%2F)
before being able to contribute a note or feedback.