AI Product Tools
Settings

Connection

Connect OpenAI, Google Gemini, Anthropic Claude and OpenRouter, pick your default provider and model, and control how fast bulk runs send requests.

The Connection cluster (AI Product Tools > Settings > Connection) is where every API key lives, where you choose the provider and model generators use by default, and where you can let a Shop Manager configure the plugin. Everything on this page is available on Free.

Status and active engine

A banner across the top shows whether any provider is usable, alongside a 4-dot strip (one dot per provider) and a connected count:

Connection screen with a Finish your setup banner and all four provider cards showing No key
Before any key is saved: "Finish your setup", 0/4 connected.
Connection screen with a Your AI is ready banner, OpenAI connected and set as default
Once at least one provider has a key: "Your AI is ready".

Next to the banner, the Active engine panel names your current default provider and holds the Default model dropdown. Its options are grouped by provider: OpenAI shows four series groups, Gemini shows three, and Claude and OpenRouter each show one group, Available models. Opening it for OpenAI looks like this:

Default AI model dropdown open showing OpenAI models grouped into GPT-6 Series, GPT-5.6 Series, and more, with GPT-5.6 Terra selected
The Default model dropdown groups models by series for the currently active provider.

See each provider's own page for its exact model list: OpenAI, Google Gemini, Anthropic Claude, OpenRouter.

Provider & API keys

Four cards, one per provider, always shown in this order: OpenAI, Google Gemini, OpenRouter, Claude. Each has a status pill (Connected or No key, or a WordPress Connectors badge when that provider's key is sourced from WordPress 7.0+ instead, see WordPress AI Connectors), a key field with a provider-specific placeholder (sk-..., AIza..., sk-or-..., sk-ant-...), and an eye icon to reveal what you just typed.

The link under the key field is not always the same: it reads Get API key (to that provider's own key page) by default, or Configure in Connectors when WordPress Connectors is available and could manage that provider's key instead. A provider whose key is already sourced from Connectors shows neither link, just a Managed by WordPress Connectors caption and a locked field (see WordPress AI Connectors). OpenRouter has no WordPress Connector at all, so if its card ever shows Configure in Connectors, that link has nothing to open; paste the key directly into the card regardless.

Adding a key

Paste the key

Click into the provider's field and paste the key. The field strips whitespace and any character outside letters, numbers, and -_./+= automatically, and caps length at 300 characters. Click the eye icon to double-check what you pasted before saving:

OpenAI API key field showing the plaintext key sk-demo followed by zeros, revealed by the eye icon, with an unsaved changes bar visible
The eye icon reveals the key you are about to save, in plaintext, for one last check.

Save

Click Save Settings. The plugin validates every changed key against its real provider before saving anything; an unchanged key (matched by exact string, including the masked placeholder) is never re-sent. If a key fails validation, the whole save stops, including any other field you changed in the same pass, and only that key's error is shown:

Error toast reading Gemini rejected this API key, check that you copied the whole key and that it is still active, with error code invalid api key
A rejected key blocks the entire save, not just that one field. The message always names the provider that failed.

Set it as default (optional)

If this is your first configured provider, it becomes the default automatically. To make a different configured provider the default, click Default on its card. Clicking an unconfigured provider's pill instead warns you rather than switching:

Warning toast reading please enter your Claude API key before selecting it
You cannot make an unconfigured provider the default.

Once connected, a provider's card looks like this (OpenAI shown; every provider follows the same pattern):

OpenAI card showing a Connected status pill, a masked key, and the Default pill selected
A connected, default provider.

Clearing a key

The key field is write-once: once saved, it shows a masked preview with a Change button in place of the input.

Click Change

The field clears to accept a new value, and a Cancel button and a helper note appear:

OpenAI key field cleared for editing, with a Cancel button and the helper text Enter a new key, leaving it empty and saving will remove the key entirely
Clicking Change clears the field. Click Cancel to back out without saving.

Type a new key, or leave it empty

Type a replacement and Save Settings to swap it, or leave the field empty and save to remove the key entirely. Removing the key of the currently active provider automatically switches the default to the next configured provider, with a toast naming the new default, or warns you to configure at least one key if none remain:

Settings overview with 0 of 4 providers connected after the only key was removed
Removing your only configured provider's key drops every generator back to Setup needed until you add another.

Pause between requests

A single stepper, range 0 to 60 seconds, default 0, controls how long a bulk run waits between AI requests:

Pause between requests stepper set to 5 seconds, with the description wait this long between AI requests in a bulk run
Raise Pause between requests if your provider starts rate-limiting you during large batches.

This replaced two separate per-screen interval fields that Description and Title generators used to have; one setting now covers every bulk run and every automation job.

Shop Manager access

Administrators only see one more control: a switch that lets the WooCommerce Shop Manager role open Settings itself, including API keys and provider configuration, without granting WordPress's own manage_options capability. It is off by default.

Allow Shop Managers to manage settings toggle switched off
Default: Shop Managers can use generators but not open Settings.
Allow Shop Managers to manage settings toggle switched on
Once on, any Shop Manager account can open and edit every Settings cluster, including API keys.

This toggle saves itself immediately on click; it is not part of the main Save bar. Without it, a Shop Manager can still use every generator (that only needs use_aipt_tools), just not open Settings at all. A Shop Manager who is opted in never sees this toggle themselves, only a real administrator does, since granting the permission is itself an administrator-only decision.

Encryption, explained

Every key stored locally by the plugin (that is, not sourced from WordPress Connectors, an environment variable, or a PHP constant) is encrypted at rest with AES-256-GCM. The encryption key itself is derived from your own site's WordPress secret constants (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, and their _SALT counterparts in wp-config.php), not stored anywhere separately.

Two practical consequences follow from that:

If your site's secret keys or salts ever change

A fresh wp-config.php after a host migration, a "regenerate salts" action, or copying your database to a new site without copying the same wp-config.php, means the plugin can no longer decrypt keys it saved before the change. It does not crash or show garbage: the affected provider simply reports No key again, as if it had never been configured. The fix is always the same: open that provider's card and re-enter the key. Nothing else about your settings or your catalog is affected.

  • This does not touch Connectors-managed keys at all; those are never run through this cipher.
  • If your host's PHP build is missing the openssl extension, the plugin logs a warning and falls back to storing the key in plain text rather than failing outright. If that matters for a security-conscious host, confirm openssl is enabled.

Reference

SettingWhat it doesDefault / limitsPlan
Provider key (one per provider)The API key that provider's calls authenticate withEmpty; sk-..., AIza..., sk-or-..., sk-ant-... formats; OpenRouter rejects under 20 characters, Claude rejects anything not starting with sk-ant-, both before contacting the providerFree
Default provider (radiogroup)Which provider generators use when a screen has no provider choice of its ownFirst configured providerFree
Default modelWhich model that provider uses by defaultgpt-5.6-terra (OpenAI), gemini-3.6-flash (Gemini), claude-sonnet-5 (Claude), openrouter/free (OpenRouter)Free
Pause between requestsSeconds to wait between AI calls in a bulk run or automation job0 to 60, default 0Free
Allow Shop Managers to manage settingsGrants the Shop Manager role access to SettingsOffFree, admin-only toggle

Free vs Business

Every field on this page, every provider, every model, and custom OpenRouter model IDs are all available on Free. There is no plan check anywhere in the key, provider, or model code paths.

Troubleshooting