Documentation

Generate: Dynamic Elements: AI

Documentation »

Page Generator Pro » Generate: Dynamic Elements: AI
Support for the generic AI Dynamic Element and the Deepseek Dynamic Element is available in Page Generator Pro 4.9.6, available Wednesday January 29th 2025 23:59 UTC.

Page Generator Pro provides two types of AI Dynamic Element:

  • AI-specific Dynamic Elements (such as Claude AI, OpenAI or Gemini AI), each individually registered in the Classic Editor, Gutenberg / Block editor, Divi and Elementor.
    • This is recommended if you wish to have greater control, choosing which AI provider to use for specific Content Groups or sections of Content Groups.
  • A specific AI Dynamic Element, which uses the AI Provider specified in the Plugin’s Settings > Integrations screen.
    • This is recommended if you wish to easily switch the AI provider used for these AI Dynamic Elements from a global, single setting.

For both, the following AI providers are supported:

  • Claude AI
  • Deepseek
  • Gemini AI
  • Mistral AI
  • OpenAI
  • OpenRouter
  • Perplexity

These AI Dynamic Elements inserts dynamic, researched content for each generated Page.

It’s different from the Research tool:

FeatureDynamic ElementResearch
ContentQueries the AI when Test or Generate is used, inserting the text result into the generated Page.Queries the AI immediately when used, inserting the text result into the Content Group that is being edited on screen.
KeywordsSupports the use of Keywords in the Topic fieldDoes not support the use of Keywords in the Topic field
SpintaxDoes not insert text as spintax into the generated Page.Provides the option to insert the text result in spintax format into the Content Group, which is then processed when Test or Generate is used.
PerformanceSlow. Queries the AI for every single generated page, given that the Topic might include a Keyword.Fast. Queries the AI immediately when used, with the text result saved in the Content Group. No queries are made to the AI during generation.
Use caseYou want to use the AI generated text for parts of each generated page, and/or use a Keyword in the Topic.You want to use the AI as a starting point, possibly to generate spintax, and then make edits to the AI content before generating content.

Adding: Classic Editor / TinyMCE

To add an AI content within the Classic Editor:

  • Ensure that you’re using the Visual Editor by clicking the Visual tab:
    Page Generator Pro: Dynamic Elements: TinyMCE: Visual Editor Tab
  • Click the applicable icon in the Visual Editor toolbar – for example, OpenAI:
    Page Generator Pro: Dynamic Elements: TinyMCE Buttons

Adding: Classic Editor / TinyMCE: Text Editor

If you’re using the Text editor instead of the TinyMCE Visual Editor above:
Page Generator Pro: Dynamic Elements: TinyMCE: Text Editor Tab

  • Click the applicable button in the toolbar – for example, OpenAI
    Page Generator Pro: Dynamic Elements: Text Editor Buttons

Adding: Gutenberg

To add AI content within Gutenberg:

  • Click the plus icon between two existing blocks, or towards the top left corner of the Gutenberg editor
    Gutenberg: Add Block Button
  • Start typing the name of a supported AI service listed at the top of this documentation (for example, OpenAI) in the Search for a block field, and click the resulting option that appears within the Page Generator Pro section
    Page Generator Pro: Dynamic Elements: OpenAI: Gutenberg Search
  • Follow the Configuration section below for each of the fields displayed in the right hand sidebar’s block panel:
    Page Generator Pro: Dynamic Elements: OpenAI: Gutenberg Sidebar

Adding: Page Builders

To add AI content within other supported Page Builders, you’ll need to use that Page Builder’s Text Editor widget/module, which typically uses the Classic Editor (sometimes known as TinyMCE).

Refer to the Dynamic Elements Documentation for how to add a Dynamic Element specific to your Page Builder.

If your Page Builder does not provide a Text Editor widget/block that uses the Classic Editor, you can still use Dynamic Elements.  However, you’ll need to manually build the shortcode, inserting it into your Page Builder’s content.

ProviderShortcode Syntax
Claude AI[page-generator-pro-claude-ai parameter="value" ...]
Deepseek[page-generator-pro-deepseek parameter="value" ...]
Gemini AI[page-generator-pro-gemini-ai parameter="value" ...]
Mistral AI[page-generator-pro-mistral-ai parameter="value" ...]
Open AI[page-generator-pro-openai parameter="value" ...]
OpenRouter[page-generator-pro-openrouter parameter="value" ...]
Perplexity[page-generator-pro-perplexity parameter="value" ...]

Supported shortcode syntax parameters:

ParameterAccepted ValueDescription
topicstring or keywordThe topic that the content should be written about.
content_typestring

  • article: A detailed article, including subheadings and a conclusion based on the topic (e.g. “web design”)

  • faq: Questions and answers based on the topic (e.g. “how to find the best kitchen fitter”)

  • freeform: You want to send a freeform prompt to the AI provider, with full control. In this setting, the Limit and Language options are ignored.  You’re responsible for prompting the AI provider to return the applicable language and limit, if required.

  • paragraph: A single paragraph of content based on the topic (e.g. “what is the most important quality in a web design company”)

limitint

  • When content_type = article or paragraph: the maximum number of words

  • When content_type = faq: the maximum number of questions

  • When content_type = freeform: the limit is ignored. Any limit imposed is a token limit from the AI provider, based on the model chosen.

languagestringTwo character language code.
temperaturefloatNumber between 0 and 2, in 0.1 steps. A higher value will make the output more random. A lower value will make it the output more focused and deterministic.
top_pfloatNumber between 0 and 1, in 0.1 steps. Determines the pool of available tokens to choose from, between 0 and 1. An alternative to using Temperature. A higher value will include more, less accurate tokens. A lower value will include fewer, more accurate tokens.
presence_penaltyfloatNumber between -2.0 and 2.0, in 0.1 steps. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model’s likelihood to talk about new topics.
frequency_penaltyfloatNumber between -2.0 and 2.0, in 0.1 steps. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model’s likelihood to repeat the same line verbatim.

Configuration: General

Page Generator Pro: Dynamic Elements: AI: General

Topic

It’s important to ensure the topic does not include newlines. It’s recommended that the prompt be written in English.

The Topic is the topic that the content should be based on.  For example, if the Content Group relates to plumbing services, you might use “how to fix a leak” or “how to find the best plumber”.

Keywords are supported in the Topic field.  For example, if your Content Group is for generating Pages for services in locations, and you have Keywords defined for both services and locations, you might use “how to find the best {service} in {location(city_name)}”.  For each generated Page, the Keywords will be replaced with a Term, and the query sent to the AI provider to return content (for example, “how to find the best bathroom plumber in Birmingham”).

The more detailed the topic, the better quality content that will be returned.  For example, “bathroom plumbing” will generate more generic content vs. “how to find the best bathroom plumber”.

When Content Type is Freeform, the Topic becomes the entire AI prompt.  Limit and Language options are ignored, therefore you’re responsible for defining these.  For example, you might specify:

Write a 250 word paragraph about how to find the best {service}. The style should be an informative, professional tone, written in French.

Content Type

The Freeform Content Type is available in Page Generator Pro 4.1.5, releasing Thursday April 20th 2023 23:59 UTC.

Content Type determines the form and length of content to produce, depending on how you’re using the Research tool:

  • Article: You want to produce a large amount of detailed content on a topic (such as “how to find the best web designer”), that will form the main content of the Content Group (and therefore generated pages).  This is useful if you have yet to start writing content, and want a good starting point.
  • FAQs: You want to produce a series of questions and answers based on the topic (such as “how to find the best kitchen fitter”), output as the FAQPage structured microdata format compliant with Google.
  • Freeform: You want to send a freeform prompt to the AI provider, with full control over output, language, formatting, HTML etc.
    • In this setting, the Limit and Language options are ignored.  You’re responsible for prompting the AI provider to return the applicable language and limit, if required.
  • Paragraph: You want to produce a single paragraph or two of content on a more detailed topic (such as “what is the most important quality in a web design company”), that will form part of the content of the Content Group.  This is useful if you have built a block based or page builder layout, and want to inject AI generated content into a specific section.
  • Review: You want to produce a customer review based on the Topic, that includes Review schema and HTML.
  • Review (Plain Text, no schema): You want to produce a short customer review based on the Topic, that contains no schema markup or HTML.

Limit

The maximum length of the content.

  • For Articles and Paragraphs, this is a word limit.
  • For FAQs, this is the number of questions and answers to generate.
  • For Freeform, the limit is ignored. Any limit imposed is a token limit from the AI provider, based on the model chosen.

Language

Language will return the created content, translated into the chosen language.

It’s recommended that the prompt be written in English.

Configuration: Tuning

Page Generator Pro: Dynamic Elements: AI: Tuning

Temperature

Number between 0 and 2, in 0.1 steps. A higher value will make the output more random. A lower value will make it the output more focused and deterministic.

It’s recommended to only change the Temperature or Nucleus Sample, not both.

Nucleus Sample

Number between 0 and 1, in 0.1 steps. Determines the pool of available tokens to choose from, between 0 and 1. An alternative to using Temperature. A higher value will include more, less accurate tokens. A lower value will include fewer, more accurate tokens.

It’s recommended to only change the Nucleus Sample or the Temperature, not both.

Presence Penalty

Not all AI providers support the Presence Penalty parameter. If you do not see this option for the chosen AI provider in Page Generator Pro’s UI, it is not supported.

Number between -2.0 and 2.0, in 0.1 steps. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model’s likelihood to talk about new topics.

Frequency Penalty

Not all AI providers support the Frequency Penalty parameter. If you do not see this option for the chosen AI provider in Page Generator Pro’s UI, it is not supported.

Number between -2.0 and 2.0, in 0.1 steps. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model’s likelihood to repeat the same line verbatim.

Configuration: Errors

The Errors section is available in Page Generator Pro 4.9.3 and higher, releasing Monday January 6th 2025 23:59 UTC.  Ensure that your license is valid, not expired and that you’ve updated to the latest version of the Plugin.
Page Generator Pro: Dynamic Elements: Errors

Ignore Errors

If enabled, an error returned from the Dynamic Element will result in blank content output, instead of an error preventing generation of the entire Page / Post / Custom Post Type.

This setting may be useful if you don’t require the Dynamic Element to always return content output.

This setting is ignored when using Test mode. If the Dynamic Element produces an error, it will always be reported in Test mode, to assist with debugging.

Performance

The AI Dynamic Element will query the AI provider for every single generated Page.  Because AI services can take up to 60 seconds per request, generation times will be much slower, as each generated Page must query the AI provider one or more times (depending on the number of the AI Dynamic Elements in a Content Group) to dynamically insert content(s).

As such, we do not handle support requests regarding slow generation performance where an AI Dynamic Element is used.

If faster generation times are essential, you’re welcome to use the Research tool, enabling the Return as Spintax option.  This will query the AI provider immediately when editing the Content Group, inserting the spintax content result.  Each generated page will then produce a spun variation of this content, with no further queries to OpenAI required.

Regenerating / Updating Pages

Sometimes, you’ll want to re-generate Pages from a Content Group, whilst retaining the generated AI Dynamic Elements – that is, not re-running AI Dynamic Elements a second time.

To do this, we recommend using the Custom Field Dynamic Element and following the guide in the documentation.

Common Issues

All messages must have non-empty content except for the optional final assistant message

The topic must be free of any quotation marks and HTML tags.  If using the Classic Editor, use the Text mode to confirm that no inline HTML is included in the request.

Common Issues: OpenAI

No text is returned

Rate limit reached for [model] in [organization]

You exceeded your current quota

OpenAI enforces strict rate limits on their API, depending on your OpenAI account tier.  Refer to the OpenAI documentation for current limits based on your account tier:

If a rate limit has been reached (whether that be requests per minute, requests per day, tokens per minute or tokens per day), Page Generator Pro will wait for the amount of time instructed by OpenAI, before attempting a second time.

If a rate limit is subsequently hit a second time for the same Dynamic Element, no text will be returned, and Page Generator Pro will continue to the next operation.  This is deliberate and by design, to ensure that all Pages are generated, and the generation process does not get stuck on one item.

To avoid hitting rate limits and debug issues, it’s strongly recommended to:

  • Increase your OpenAI account Tier, by paying more (refer to the Usage tiers table).  The higher the tier, the higher the rate limits.
    • If using a free OpenAI account, consider starting with a Tier 1 or Tier 2 account.
  • Consider using the OpenAI Research tool (and applying spintax to the result), where Keywords aren’t necessary for the OpenAI prompt / topic.
  • Use a different OpenAI account for each site using Page Generator Pro
    • It is not enough to use a different OpenAI key; OpenAI’s rate limits are set across an entire organization (account).
  • Generate one Content Group at a time on your server
    • If your server has multiple sites installed, each using Page Generator Pro, it’s essential to generate one Content Group at at time for one site at a time.
  • Reduce the number of OpenAI Dynamic Elements in a Content Group,
  • Enable debug logging per steps at https://www.wpzinc.com/support
  • Set Generate Content Items per Request = 1.
  • Use Test mode with the specific Resume Index of the generated Page that resulted in blank text.
    • This will output any error from OpenAI, allowing you to improve e.g. the prompt / configuration to resolve.
  • Inspect the wp-content/debug.log file, observing any errors returned from OpenAI.

[Number] is less than the minimum of 1 – ‘max_tokens’

Invalid ‘max_tokens’: integer below minimum value. Expected a value >= 1

Each OpenAI model has a maximum token limit, shared between the prompt (topic) and completion (return text).

In this case, the topic’s length is too long, resulting in no tokens remaining for the completion (return text) from OpenAI.

To resolve, ensure that the topic:

  • Does not contain newlines, carriage returns, \n or \r.
  • Uses the freeform prompt (if the prompt is supplying specific instructions outside of the remit of e.g. an article, paragraph etc).
  • Is below the maximum token limit – and ideally, a shorter topic, as so not to exhaust the total number of remaining tokens for the response.

Please reduce the length of the messages or completion

The topic must be free of any quotation marks and HTML tags.  If using the Classic Editor, use the Text mode to confirm that no inline HTML is included in the request.

Unsupported content type specified

To resolve, ensure:

  • A valid Content Type is specified in the shortcode or block,
  • The Topic is free of any quotation marks and HTML tags. If using the Classic Editor, use the Text mode to confirm that no inline HTML is included in the request.

The model does not exist or you do not have access to it.

Refer to OpenAI’s Documentation, noting that your account must meet the minimum Tier requirements for a given model. Generally:

  • Your OpenAI account must be Tier 1 or higher (i.e. $5 paid) to access most models.
  • o1 and o3-mini models require your OpenAI account to reach Tier 3 access (i.e. $100 paid and 7+ days since first successful payment).

503 Service Unavailable

Reduce the number of OpenAI Dynamic Elements in the Content Group.

For OpenAI Dynamic Elements that are smaller and repetitive in nature (i.e. the topic is not very different between each generated Page, the request is to generate a short paragraph), consider use the Research Tool, to generate e.g. a paragraph, ensuring Return as Spintax is enabled.  This content will then be stored in the Content Group, in spintax format.


Published

Last Updated