User manual for the free version of the Aimogen WordPress plugin (AI content writer, content editor, chatbot and AI assistants).
Aimogen is a WordPress plugin that connects your site to AI providers such as OpenAI, Anthropic, Google, Groq, OpenRouter and others, using your own API keys. Everything happens inside the WordPress admin area – there is no separate dashboard and no external account tied to the plugin itself.
With Aimogen Free you can:
Aimogen was previously named Aiomatic. Older tutorials, knowledge base articles and support pages may still use the Aiomatic name; the concepts and screens described there generally still apply.
/wp-content/plugins/aimogen/, or use Plugins → Add New → Upload Plugin.After activation a top-level Aimogen menu appears in the WordPress admin sidebar, containing:
All Aimogen admin screens require the manage_options capability, so by default only administrators can see them.
| Requirement | Value |
|---|---|
| WordPress | 5.0 or newer |
| PHP | 7.0 or newer |
| Outgoing HTTP requests | Your server must be able to reach the AI provider APIs |
| AI provider account | At least one API key of your own |
Requests to AI providers use a generous timeout (160 seconds for the larger calls), so your server should allow PHP execution to run at least that long for the heavier generation features.
Aimogen does nothing until it has an API key. The minimum setup is:
Model selection comes after the keys. Model dropdowns throughout the plugin are built from the keys you have saved. If you add an Anthropic key but do not save, no Claude models will appear in the lists.
All provider API keys are entered in one place: Aimogen → Settings → API Keys. Each provider has its own field, and each field accepts multiple keys, one per line. When several keys are present for a provider, Aimogen picks one per request, which helps spread usage across keys.
The Main API Service Provider Selector at the top of the tab decides how the primary (OpenAI-style) endpoint is reached:
| Provider | Field in the API Keys tab | Notes |
|---|---|---|
| OpenAI / AimogenAPI | OpenAI / AimogenAPI API Keys | Required for AI Assistants, for image generation in the Classic Editor toolbar, and treated as the plugin's main key. An optional OpenAI Organization ID field is available below it. |
| Anthropic Claude | Anthropic Claude API Keys | Adds the Claude models to the model dropdowns. |
| Google AI Studio | Google AI Studio AI API Keys | Adds the Gemini and Gemma models. |
| Groq | Groq AI API Keys | Adds the Groq-hosted open models. |
| xAI | xAI API Keys | Adds the Grok models. |
| Perplexity | Perplexity AI API Keys | Adds the Sonar models. |
| NVIDIA | Nvidia AI API Keys | Adds the models hosted on NVIDIA's build platform. |
| OpenRouter | OpenRouter AI API Keys | The model list is fetched live from OpenRouter, so it reflects whatever OpenRouter currently offers. |
| HuggingFace | HuggingFace AI API Keys | Uses the model list stored for your account. |
| Ollama | Server URL (One Per Line) | No API key – you enter the URL of your own Ollama server. Its installed models are read from that server, so it must be reachable from your WordPress host. |
The API Keys tab also contains an Alternative AI Image Generator API Settings group with fields for Stability.AI, GoAPI.AI (Midjourney), Replicate and Ideogram. These fields store keys for image services used by the wider Aimogen feature set; the image generation available in Aimogen Free (the Classic Editor image action) uses the OpenAI image endpoint.
Aimogen does not sell AI usage. Every request is billed by the provider whose key you entered – OpenAI, Anthropic, Google, Groq, OpenRouter, xAI, Perplexity, NVIDIA and so on. You get your keys directly from those providers and you pay them directly, according to their own current pricing and terms. The plugin has no control over those prices and no share in them. Review your provider's usage dashboard regularly, especially if you enable automatic or bulk editing.
Aimogen does not ask you to choose a provider per feature. Instead, each feature has a model dropdown, and the provider is derived from the model you pick. The model list is assembled from every provider whose key (or server URL) you have saved, so the same dropdown can contain OpenAI, Claude, Gemini, Groq, Grok, Sonar, OpenRouter, HuggingFace, Ollama and your own custom model names side by side.
Entries in the dropdowns are annotated to help you choose:
[Vision] – the model can also process images.[Tools] – the model supports function/tool calling.(OpenAI), (Anthropic), (Google), (Groq), (xAI), (PerplexityAI), (Nvidia), (OpenRouter), (HuggingFace), (Ollama), (OpenAI Compatible) – which service the request will be sent to.Model groups currently bundled with the plugin include the OpenAI GPT and o-series models, Anthropic Claude models, Google Gemini and Gemma models, xAI Grok models, Groq-hosted open models (Llama, Qwen, Kimi, GPT-OSS and others), Perplexity Sonar models, and NVIDIA-hosted models. The plugin default model is gpt-5-mini.
Model availability changes. Providers add, rename and retire models on their own schedule, and your account may not have access to every model in a list. If a model returns an error, pick a different one. OpenRouter and Ollama model lists are read live, so they always match what those services expose to you. Newer bundled model names arrive with plugin updates.
Where: Aimogen → AI Content Creator
This screen turns a topic into a full WordPress post. You enter a topic in the sidebar and either generate one piece at a time or click Generate All to run the whole chain.
Before publishing you can set the post type (any public type on your site), status, sticky flag, author, publish date, categories, tags and a featured image chosen from your existing media library.
Each stage (title, sections, content, excerpt, custom fields) has its own editable prompt with placeholders – see Prompt Configuration. Once you have a setup you like, use the template buttons at the bottom to save, load, delete, import or export it. Templates are stored per WordPress user account, so each editor keeps their own.
Where: Aimogen → AI Content Editor
This screen rewrites content that already exists on your site. It has three tabs.
This is where you define what the AI should do. The settings here are used by both of the other tabs.
Write the instruction as a command, not as a template – the post content is appended automatically at processing time, so you should not add %%post_content%% yourself. Example: “Rewrite the following article so it is easier to read, keep all HTML tags intact and do not change any headings.”
Runs the editing template automatically when a post reaches a chosen state.
Applies the editing template to posts already on your site, either on demand or on a schedule.
Edited posts are marked with a custom field, and the posts list gets an extra sortable Aimogen Edited column showing Yes or No.
Always simulate first. Bulk editing overwrites live content and every processed post costs API credit. Start with a small Maximum Number Of Posts To Process, keep a backup, and check the result on a handful of posts before widening the query.
Where: the Classic Editor toolbar, when editing a post or page
When you edit content with the Classic Editor (TinyMCE), Aimogen adds a toolbar button with a menu of ready-made AI actions. Select some text in the editor, open the menu and pick an action; the result is inserted into the post, and a spinner shows while the request runs.
The bundled actions include: write a paragraph on this, continue this text, generate ideas, write an article about this, turn this into an ad, explain this to a 5 year old, find a matching quote, generate a subtitle, generate a TL;DR, generate a call to action, summarize, expand, make a bulleted list, rewrite, paraphrase, fix grammar, generate a question, convert to passive voice, convert to active voice, write a conclusion, write a counterargument, translate to Spanish, generate an image idea, execute this as a prompt, and generate an image of this.
Two of these actions produce an image rather than text (generate an image of this). Image generation goes through the OpenAI image endpoint using the key in the OpenAI / AimogenAPI API Keys field, so that key must be present even if you normally use another provider for text.
Where: Aimogen → AI Assistants
An AI Assistant is a reusable AI configuration stored on OpenAI's side: its own model, instructions, temperature, and optionally its own knowledge files. Once created, an assistant can be selected in the AI Content Creator, in the AI Content Editor and as the chatbot's brain, instead of picking a raw model.
Assistants are an OpenAI API feature. The screen states this explicitly: it is not supported with the Azure or Claude APIs, and it expects a single OpenAI API key to be present in the settings.
Where: Aimogen → Logs & Info
Where: Aimogen → AI Chatbot
The chatbot adds a conversational AI interface to your site. It can be placed on specific pages with a shortcode or injected into every page automatically.
The Bot Configuration tab holds the essentials:
[Vision], [Tools] and the provider name.The Bot Persona Manager tab stores alternative bot characters, each with its own name, role, context prompt, first message, model and avatar. Visitors can be offered a persona selector, and personas can be duplicated, deleted, backed up to JSON, restored from JSON, or converted into AI Assistants. Import Default Personas creates the set bundled with the plugin.
There are two ways to show it:
[aimogen-chat-form] in any page, post or widget. This embeds the chatbot at that spot.The advanced display settings let you decide precisely where a globally injected chatbot appears. You can allow or block by: URL list, WordPress content (specific posts, pages or types), time of day and days of the week, site language, user role, device type, operating system, browser, and IP address or IP range.
The User Interface and Styling tabs cover the input placeholder, submit button text or image, full-width buttons, compliance text under the form, header and footer text, and whether to show the header, the chat-log download button and the clear-chat button. Colours are configurable for the form background, input background, border, text and placeholder, user and AI bubbles and fonts, persona name and role, and the submit button. Sizes are configurable for font, form width and height, minimum height, avatars and bubbles, plus bubble alignment. You can also add custom CSS, pick a chatbot theme, and save your current colours as a named theme for reuse.
A live Chatbot Preview at the bottom of the screen shows your current configuration without leaving the admin area.
Aimogen Free registers one shortcode.
[aimogen-chat-form]Renders the AI chatbot. With no attributes it uses everything configured under Aimogen → AI Chatbot:
[aimogen-chat-form]
Attributes override the saved settings for that one instance, which is useful when a specific page needs a different bot. For example, a compact bot with its own model and greeting:
[aimogen-chat-form model="gpt-5-mini" ai_name="Support Bot" ai_first_message="Hi! How can I help?" width="100%" height="500px"]
A bot driven by one of your AI Assistants, shown as a floating window:
[aimogen-chat-form assistant_id="asst_your_assistant_id" show_in_window="on" window_location="bottom-right"]
Useful attributes available in the free version:
| Attribute | Purpose |
|---|---|
model | Model to use for this chatbot instance. |
assistant_id | Use a specific AI Assistant instead of a model. |
ai_persona | Use a specific saved persona. |
ai_name, ai_avatar, user_avatar | Displayed bot name and avatars. |
ai_first_message | Opening message shown to the visitor. |
temperature, top_p, presence_penalty, frequency_penalty | Model sampling parameters. |
show_in_window, window_location | Show as a floating window and where to anchor it. |
width, height, minheight, font_size | Size of the chat form. |
background, general_background, user_font_color, user_background_color, ai_font_color, ai_background_color, submit_color, submit_text_color, input_border_color, input_text_color, input_placeholder_color | Colour overrides. |
bubble_width, bubble_alignment, bubble_user_alignment, show_user_avatar, show_ai_avatar | Conversation layout. |
placeholder, submit, submit_image, submit_full | Input field and submit button. |
show_header, show_clear, show_dltxt, custom_header, custom_footer, custom_css, no_padding | Chrome around the conversation. |
instant_response, disable_streaming | How the answer is delivered. |
compliance | Compliance text under the form. |
The shortcode also accepts attributes belonging to features that are not active in the free version – among them enable_vision, internet_access, embeddings, embeddings_namespace, persistent, prompt_templates, prompt_editable, user_token_cap_per_day, bot_workflow, store_data, chatbot_text_speech, response_delay, send_message_sound, receive_message_sound, enable_god_mode, disable_filters, mcp_servers, additional_bots, chat_preppend_text, user_message_preppend and ai_message_preppend. Setting them in Aimogen Free has no effect; they are ignored rather than producing an error.
Note that chat_preppend_text, user_message_preppend and ai_message_preppend are ignored only as shortcode attributes – the equivalent Bot Context, User Name and Bot Name fields on the AI Chatbot screen work normally and apply to every instance.
Wherever Aimogen lets you write a prompt, you can insert placeholders written as %%name%%. They are replaced with real values just before the request is sent.
Each generation stage has its own prompt and its own set of placeholders:
| Prompt | Available placeholders |
|---|---|
| Title | %%topic%%, %%language%%, %%writing_style%%, %%writing_tone%% |
| Sections | %%title%%, %%language%%, %%writing_style%%, %%writing_tone%%, %%sections_count%% |
| Content | %%title%%, %%language%%, %%writing_style%%, %%writing_tone%%, %%sections%%, %%paragraphs_per_section%% |
| Excerpt | %%title%%, %%language%%, %%writing_style%%, %%writing_tone%%, %%sections%% |
| Custom Fields | %%meta_title%%, %%title%%, %%language%%, %%writing_style%%, %%writing_tone%%, %%sections%% |
The shipped defaults show the intended pattern – for example the title prompt:
Write a title for an article about "%%topic%%" in %%language%%.
Style: %%writing_style%%. Tone: %%writing_tone%%.
Must be between 40 and 60 characters.
and the excerpt prompt:
Write an excerpt for an article about "%%title%%" in %%language%%.
Style: %%writing_style%%. Tone: %%writing_tone%%.
Must be between 150 and 250 characters.
The AI Content Editor instructions and the chatbot's context, bot name and user name fields support a larger set:
%%post_title%%, %%post_content%%, %%post_content_plain_text%%, %%post_excerpt%%, %%post_cats%%, %%post_tags%%, %%featured_image%%, %%post_link%%%%blog_title%%, %%author_name%%, %%current_date_time%%, %%random_sentence%%, %%random_sentence2%%%%user_name%%, %%user_email%%, %%user_display_name%%, %%user_role%%, %%user_id%%, %%user_firstname%%, %%user_lastname%%, %%user_url%%, %%user_description%%, %%user_language%%%%!custom_field_slug!%% for post meta and %%~custom_field_slug~%% for user meta. For example, a post meta field named post_data is inserted with %%!post_data!%%.%%related_questions_KEYWORD%% inserts a list of “people also ask” questions for the keyword you name.In the AI Content Editor's content instruction, do not add %%post_content%% yourself – the post content is appended automatically when the request is built, and adding it manually sends the article twice.
The toolbar actions use %%selected_text%%, which is replaced with whatever you highlighted in the editor before choosing the action.
Where: Aimogen → Settings
The Settings screen has three tabs: Welcome (a short getting-started summary), API Keys and General Settings.
| Setting | What it does |
|---|---|
| Main API Service Provider Selector | Chooses how the primary OpenAI-style endpoint is reached: the standard OpenAI/AimogenAPI endpoint, Microsoft Azure, or a custom OpenAI-compatible URL. Selecting Azure or Custom reveals the extra fields those options need. |
| OpenAI / AimogenAPI API Keys | The plugin's main key field, marked as required. Several features check it before running. Multiple keys can be entered, one per line. |
| Use Multiple API Keys When Creating The Same Post | Decides whether one key is used for all requests that build a single post, or whether a key is picked fresh for every request. Rotating keys spreads the load and reduces the chance of hitting one key's rate limit mid-post; keeping one key makes usage easier to attribute. |
| OpenAI Organization ID | Optional. Needed only if your OpenAI account belongs to several organizations and you want usage billed to a specific one. |
| Additional AI Model List | Only shown for the Custom OpenAI Compatible option. The model names you type here, one per line, become selectable in every model dropdown. |
| Azure endpoint, API versions and deployment names | Only shown for the Azure option. Azure exposes models as named deployments, so each model you intend to use needs its deployment name entered, and each API family (text, embeddings, images, assistants, batch) has its own version selector. |
| Provider key fields (Claude, Google, Groq, xAI, Perplexity, NVIDIA, OpenRouter, HuggingFace) and the Ollama Server URL | Adding a key here makes that provider's models appear in the model dropdowns. Removing the key removes them again. |
| Alternative AI Image Generator API Settings | Key fields for Stability.AI, GoAPI.AI (Midjourney), Replicate and Ideogram. |
| Setting | What it does |
|---|---|
| Enable Logging for Rules | Records what the plugin did during each operation. Leave it on while you are setting things up – without it, the Activity Logs page has nothing to show and failures are much harder to diagnose. |
| Enable Detailed Logging for Rules | Adds far more detail to each entry. Useful when reproducing a specific failure or preparing a support ticket, but it grows the log quickly, so switch it off once you are done. |
| Automatically Clear Logs After | Clears stored logs on a schedule – disabled, monthly, weekly, daily, twice a day or hourly. Worth enabling on busy sites so log data does not accumulate indefinitely. |
These appear on the generation screens rather than in Settings:
| Setting | What it does |
|---|---|
| Temperature | Influences how varied the generated response can be. Lower values generally produce more predictable, repeatable output; higher values allow more variation and unexpected phrasing. The plugin describes higher values as the model taking more risks, on a scale between 0 and 1. |
| Max tokens | Caps how much text the model may produce in one response. Raising it allows longer output but costs more; the usable range depends on the model, since each model has its own maximum. The AI Content Creator starts at 4000, and the plugin's internal fallback is 2048. |
| Top_p | An alternative way of controlling variety, by limiting the model to the most likely words. Available on AI Assistants. Adjust either temperature or top_p, not both at once. |
| Model | Determines both quality and which provider is billed. Smaller models are cheaper and faster; larger ones handle long or complex articles better. |
Aimogen Free includes the core functionality described in this documentation: the AI Content Creator, the AI Content Editor with automatic and bulk editing, the Classic Editor AI writer, AI Assistants, the chatbot with personas, and connections to all the AI providers listed above.
Additional automation, advanced AI tools and other premium functionality may be available in Aimogen Pro. The free plugin itself points to bulk AI post creation, an advanced AI content editor, AI embeddings, AI model training, AI image generation and detailed API usage statistics as premium additions.
Some chatbot options are also inactive in the free version – conversation persistence, embeddings-based answers, internet access, per-user token caps, prompt templates, text-to-speech and voice input. Their shortcode attributes are accepted but ignored, as noted in the Shortcodes section.
If you install Aimogen Pro, the free plugin stands down: its menus and editor integrations are not registered, so the two do not conflict.
Before anything else, turn on Enable Logging for Rules in Settings and check Aimogen → Logs & Info → Activity Logs after reproducing the problem. Most issues are explained there.
| Code | Meaning | What to do |
|---|---|---|
| 401 | Invalid API credentials | Re-copy the key from the provider's dashboard. Check for trailing spaces, a truncated paste, a revoked key, or a key pasted into the wrong provider's field. |
| 429 | Rate limit or quota issue | Either you are sending requests too quickly, or your account has run out of credit. Aimogen detects rate limits and retries; if the cause is an exhausted quota, add credit at the provider. For bulk editing, raise Delay Between Requests and lower Maximum Number Of Posts To Process. |
| 500 / 503 | Provider or server problem | Usually temporary on the provider's side. Check the provider's status page and retry later. |
| 400 | Bad request | Often a model that does not exist for your account, or a prompt plus content that exceeds the model's context window. Try a different model or shorter input. |
The screen you opened requires the OpenAI / AimogenAPI API Keys field to be filled in and saved. Even if you plan to use another provider for text, this field is the plugin's main key and gates several features.
Check that your server can make outgoing HTTPS requests – some shared hosts and firewalls block them. Then confirm the selected model is one your account can actually use, and look at the activity log for the underlying error message.
Model lists are built from the keys you have saved. Add that provider's key in the API Keys tab and save; the models appear afterwards. For OpenRouter and Ollama the list is fetched live, so the service must be reachable. For a custom OpenAI-compatible endpoint you must type the model names into Additional AI Model List yourself.
Providers restrict newer models by account tier, region or verification status. Select a widely available model to confirm the connection works, then move up.
Long articles with large models can take a long time. Aimogen allows up to 160 seconds for the larger calls, but your host may cut PHP off sooner. Reduce the number of sections and paragraphs, lower max tokens, choose a faster model, or ask your host to raise max_execution_time. For automatic editing, try the Use Async Posting Method option.
Work through this list:
[aimogen-chat-form] present in published content and rendered by your theme? Some page builders need the shortcode inside a dedicated shortcode/text block.wp_footer().Some models do not support streaming – the settings page warns about the GPT-5-Pro family specifically. Server-side output buffering, caching plugins and some CDNs can also break streaming. Switch Enable Chatbot Instant Responses to Instant Response or Typewriter Effect if streaming will not work in your setup.
The writer toolbar is a Classic Editor (TinyMCE) integration. It is not added to the block editor, and it is not registered on posts that already contain Gutenberg blocks. Use the Classic Editor for those actions.
If something behaves oddly, deactivate other plugins one at a time and retest, then switch temporarily to a default theme. Caching, minification and security plugins are the usual culprits, especially around the chatbot's admin-ajax requests. Copy your details from Logs & Info → System Info when reporting the problem.
Yes. Aimogen is available free from the WordPress plugin directory and includes everything described in this documentation.
Yes. Aimogen connects to AI providers using keys that you create and control. Without at least one key, the generation features will not run.
No. Whatever OpenAI, Anthropic, Google, Groq, OpenRouter, xAI, Perplexity, NVIDIA or any other provider charges for your usage is billed by them, separately from the plugin. Aimogen has no control over those prices.
OpenAI (and AimogenAPI), Microsoft Azure OpenAI, any custom OpenAI-compatible endpoint, Anthropic Claude, Google AI Studio, Groq, xAI, Perplexity, NVIDIA, OpenRouter, HuggingFace and self-hosted Ollama servers. Image services (Stability.AI, GoAPI.AI/Midjourney, Replicate, Ideogram) have their own key fields.
The Aimogen admin screens work regardless of which editor you use, and generated posts open normally in the block editor. The in-editor AI toolbar itself is a Classic Editor integration.
Yes. The AI Content Creator has a language selector covering a very wide range of languages, and you can specify a language in any prompt or in the chatbot context.
Aimogen is the current name. Older tutorials, videos and knowledge base articles may still use the Aiomatic name, and the support desk is still listed under it, but they refer to the same product line.
Yes. Aimogen Pro is available at wpbay.com/product/aimogen-pro/. When Pro is active, the free plugin steps aside automatically so the two do not conflict.
Through the CodeRevolution support desk. Include the details from Aimogen → Logs & Info → System Info and, if relevant, the activity log for the failing operation.
These YouTube playlists walk through setup and the main features:
Some of the older videos still use the previous Aiomatic name and show earlier versions of the interface. The workflows they demonstrate generally still apply to Aimogen, even where menu labels or screen layouts have changed.