Title: wp-includes/php-ai-client/src/Builders/PromptBuilder.php | Developer.WordPress.org

---

# File: wp-includes/php-ai-client/src/Builders/PromptBuilder.php

 * method[PromptBuilder::isMessagesList()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/ismessageslist/)
 * Checks if the value is a list of Message objects.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/ismessageslist/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/ismessageslist/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1402](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1402-L1414)
 * method[PromptBuilder::includeOutputModalities()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/includeoutputmodalities/)
 * Includes output modalities if not already present.
 * Used by [5 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/includeoutputmodalities/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/includeoutputmodalities/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1427](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1427-L1451)
 * method[PromptBuilder::dispatchEvent()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/)
 * Dispatches an event if an event dispatcher is registered.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1460](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1460-L1465)
 * method[PromptBuilder::getCandidateModelsMap()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getcandidatemodelsmap/)
 * Builds a map of candidate models that satisfy the requirements for efficient 
   lookup.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getcandidatemodelsmap/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getcandidatemodelsmap/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1211](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1211-L1230)
 * method[PromptBuilder::generateMapFromCandidates()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatemapfromcandidates/)
 * Generates a candidate map from model metadata with both provider-specific and
   model-only keys.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatemapfromcandidates/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatemapfromcandidates/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1240](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1240-L1253)
 * method[PromptBuilder::normalizePreferenceIdentifier()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/normalizepreferenceidentifier/)
 * Normalizes and validates a preference identifier string.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/normalizepreferenceidentifier/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/normalizepreferenceidentifier/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1265](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1265-L1275)
 * method[PromptBuilder::createProviderModelPreferenceKey()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createprovidermodelpreferencekey/)
 * Creates a preference key for a provider/model combination.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createprovidermodelpreferencekey/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createprovidermodelpreferencekey/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1285](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1285-L1288)
 * method[PromptBuilder::createModelPreferenceKey()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createmodelpreferencekey/)
 * Creates a preference key for a model identifier.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createmodelpreferencekey/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/createmodelpreferencekey/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1297](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1297-L1300)
 * method[PromptBuilder::parseMessage()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/parsemessage/)
 * Parses various input types into a Message with the given role.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/parsemessage/#used-by)
   | Uses [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/parsemessage/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1311](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1311-L1361)
 * method[PromptBuilder::validateMessages()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/validatemessages/)
 * Validates the messages array for prompt generation.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/validatemessages/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/validatemessages/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1375](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1375-L1391)
 * method[PromptBuilder::generateSpeech()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeech/)
 * Generates speech from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeech/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeech/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1062](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1062-L1065)
 * method[PromptBuilder::generateSpeeches()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeeches/)
 * Generates multiple speech outputs from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeeches/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeeches/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1076](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1076-L1082)
 * method[PromptBuilder::generateVideo()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideo/)
 * Generates a video from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideo/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideo/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1092](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1092-L1095)
 * method[PromptBuilder::generateVideos()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideos/)
 * Generates multiple videos from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideos/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideos/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1106](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1106-L1112)
 * method[PromptBuilder::appendPartToMessages()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/appendparttomessages/)
 * Appends a MessagePart to the messages array.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/appendparttomessages/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/appendparttomessages/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1124](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1124-L1135)
 * method[PromptBuilder::getConfiguredModel()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getconfiguredmodel/)
 * Gets the model to use for generation.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getconfiguredmodel/#used-by)
   | Uses [3 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/getconfiguredmodel/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1148](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1148-L1186)
 * method[PromptBuilder::bindModelRequestOptions()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/bindmodelrequestoptions/)
 * Binds configured request options to the model if present and supported.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/bindmodelrequestoptions/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/bindmodelrequestoptions/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1197](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1197-L1202)
 * method[PromptBuilder::generateImages()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimages/)
 * Generates multiple images from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimages/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimages/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1016](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1016-L1022)
 * method[PromptBuilder::convertTextToSpeech()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeech/)
 * Converts text to speech.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeech/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeech/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1032](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1032-L1035)
 * method[PromptBuilder::convertTextToSpeeches()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeeches/)
 * Converts text to multiple speech outputs.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeeches/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/converttexttospeeches/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1046](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1046-L1052)
 * method[PromptBuilder::generateVideoResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideoresult/)
 * Generates a video result from the prompt.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideoresult/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatevideoresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:957](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L957-L963)
 * method[PromptBuilder::generateText()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetext/)
 * Generates text from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetext/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetext/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:972](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L972-L975)
 * method[PromptBuilder::generateTexts()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetexts/)
 * Generates multiple text candidates from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetexts/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetexts/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:985](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L985-L992)
 * method[PromptBuilder::generateImage()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimage/)
 * Generates an image from the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimage/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimage/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1002](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1002-L1005)
 * method[PromptBuilder::isSupportedForEmbeddingGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforembeddinggeneration/)
 * Checks if the prompt is supported for embedding generation.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforembeddinggeneration/#used-by)
   | Uses [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/issupportedforembeddinggeneration/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:793](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L793-L796)
 * method[PromptBuilder::generateResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateresult/)
 * Generates a result from the prompt.
 * Used by [5 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateresult/#used-by)
   | Uses [8 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:812](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L812-L837)
 * method[PromptBuilder::executeModelGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/)
 * Executes the model generation based on capability.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:849](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L849-L883)
 * method[PromptBuilder::generateTextResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetextresult/)
 * Generates a text result from the prompt.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetextresult/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatetextresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:893](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L893-L899)
 * method[PromptBuilder::generateImageResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimageresult/)
 * Generates an image result from the prompt.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimageresult/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generateimageresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:909](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L909-L915)
 * method[PromptBuilder::generateSpeechResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeechresult/)
 * Generates a speech result from the prompt.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeechresult/#used-by)
   | Uses [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/generatespeechresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:925](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L925-L931)

1 [2](https://developer.wordpress.org/reference/files/wp-includes/php-ai-client/src/builders/promptbuilder.php/page/2/?output_format=md)
[3](https://developer.wordpress.org/reference/files/wp-includes/php-ai-client/src/builders/promptbuilder.php/page/3/?output_format=md)

 [Next Page](https://developer.wordpress.org/reference/files/wp-includes/php-ai-client/src/builders/promptbuilder.php/page/2/?output_format=md)