wp ai generate

Generates AI content.

In this article

Options

See the argument syntax reference for a detailed explanation of the syntax conventions used.
<type>
Type of content to generate.
—
options:
– text
– image
—
<prompt>
The prompt to send to the AI.
[--model=<models>]
Comma-separated list of models in order of preference. Format: “provider,model” (e.g., “openai,gpt-4” or “openai,gpt-4,anthropic,claude-3”).
[--provider=<provider>]
Specific AI provider to use (e.g., “openai”, “anthropic”, “google”).
[--temperature=<temperature>]
Temperature for generation, typically between 0.0 and 1.0. Lower is more deterministic.
[--top-p=<top-p>]
Top-p (nucleus sampling) parameter. Value between 0.0 and 1.0.
[--top-k=<top-k>]
Top-k sampling parameter. Positive integer.
[--max-tokens=<tokens>]
Maximum number of tokens to generate.
[--system-instruction=<instruction>]
System instruction to guide the AI’s behavior.
[--image=<image>]
An image to use as input for text or image generation. Can be a local file path, a URL, a data URI, or a WordPress attachment ID.
[--destination-file=<file>]
For image generation, path to save the generated image.
[--stdout]
Output the whole image using standard output (incompatible with –destination-file=)
[--format=<format>]
Output format for text.
—
default: text
options:
– text
– json
—

Examples

# Generate text
$ wp ai generate text "Explain WordPress in one sentence"

# Generate text with specific settings
$ wp ai generate text "List 3 WordPress features" --temperature=0.1 --max-tokens=100

# Generate with top-p and top-k sampling
$ wp ai generate text "Write a story" --top-p=0.9 --top-k=40

# Generate with model preferences
$ wp ai generate text "Write a haiku" --model=openai,gpt-4,anthropic,claude-3

# Generate with system instruction
$ wp ai generate text "Explain AI" --system-instruction="Explain as if to a 5-year-old"

# Generate text from a prompt with an image
$ wp ai generate text "Describe this image" --image=photo.jpg

# Generate alt text for an attachment
$ wp ai generate text "Generate alt text for this image" --image=42

# Generate text with an image URL
$ wp ai generate text "What is in this image?" --image=https://example.com/photo.jpg

# Generate image
$ wp ai generate image "A minimalist WordPress logo" --destination-file=wp-logo.png

Global Parameters

These global parameters have the same behavior across all commands and affect how WP-CLI interacts with WordPress.
Argument Description
--path=<path> Path to the WordPress files.
--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.
--ssh=[<scheme>:][<user>@]<host\|container>[:<port>][<path>] Perform operation against a remote server over SSH (or a container using scheme of “docker”, “docker-compose”, “docker-compose-run”, “vagrant”).
--ssh-args=<args> Pass additional arguments to SSH (or other tools specified by –ssh scheme).
--http=<http> Perform operation against a remote WordPress installation over HTTP.
--user=<id\|login\|email> Set the WordPress user.
--skip-plugins[=<plugins>] Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.
--skip-themes[=<themes>] Skip loading all themes, or a comma-separated list of themes.
--skip-packages Skip loading all installed packages.
--require=<path> Load PHP file before running the command (may be used more than once).
--exec=<php-code> Execute PHP code before running the command (may be used more than once).
--context=<context> Load WordPress in a given context.
--[no-]color Whether to colorize the output.
--debug[=<group>] Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.
--prompt[=<assoc>] Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.
--quiet Suppress informational messages.
--alias=<name> Name of the alias to use. Aliases can reference local WordPress installations or remote SSH connections. Aliases are defined in the wp-cli.yml file.
--assume-https Set $_SERVER[‘HTTPS’] to make WordPress treat the site as HTTPS. Use when WordPress is behind an HTTPS proxy or load balancer.

Command documentation is regenerated at every release. To add or update an example, please submit a pull request against the corresponding part of the codebase.