{"id":345363,"date":"2026-07-29T04:27:17","date_gmt":"2026-07-29T04:27:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/pusatweb-ai-article-generator\/"},"modified":"2026-07-29T04:26:58","modified_gmt":"2026-07-29T04:26:58","slug":"pusatweb-ai-article-generator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/pusatweb-ai-article-generator\/","author":23538056,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.3","stable_tag":"1.9.3","tested":"7.0.2","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"PusatWeb AI Article Generator","header_author":"PusatWeb","header_description":"Automatically generate quality, SEO-friendly articles using Claude AI or OpenAI (your own API key), complete with automatic thumbnails and scheduling.","assets_banners_color":"534bef","last_updated":"2026-07-29 04:26:58","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/pusatweb.com","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.9.3":{"tag":"1.9.3","author":"komponenweb","date":"2026-07-29 04:26:58"}},"upgrade_notice":{"1.9.3":"<p>Automatic meta description &amp; SEO plugin compatibility are now free on every plan. No action needed.<\/p>","1.9.2":"<p>Internal option names changed (aag_* -&gt; pwaag_*). If updating from 1.9.1 or earlier, re-enter your Settings (API keys, preferences) once \u2014 nothing is deleted, the old values just aren&#039;t read under the new names.<\/p>","1.9.1":"<p>Fixes uninstall cleanup so it actually runs (moved off the old uninstall.php mechanism, which was silently blocking it). No feature changes.<\/p>","1.9.0":"<p>Important: fixes a fatal error on plugin activation on full\/PRO installs. Plugin renamed to &quot;PusatWeb AI Article Generator&quot; (slug unchanged). Minimum WordPress version is now 6.4 (was 6.0). No feature changes.<\/p>","1.8.0":"<p>Free plan&#039;s daily generate cap removed \u2014 manual generate is now unlimited on every plan. Claude\/meta description\/SEO compatibility\/scheduling\/watermark remain PRO-only.<\/p>","1.6.0":"<p>Freemius licensing is now wired up \u2014 PRO can be purchased from the License tab. No change to free\/PRO feature limits.<\/p>","1.5.0":"<p>Adds a &quot;no API key configured&quot; warning and a free-plan upgrade banner on the plugin&#039;s admin pages. No functional changes otherwise.<\/p>","1.4.0":"<p>Introduces free\/PRO plans: free is now limited to OpenAI, manual generate only (1\/day), no meta description\/SEO\/watermark. Existing sites keep working \u2014 PRO is unlocked later via a license (not yet available).<\/p>","1.3.0":"<p>Default UI language is now English (Indonesian available as a full translation). No functional changes.<\/p>","1.2.1":"<p>Rename: the plugin name reverted to &quot;AI Article Generator&quot; (dropping &quot;PRO&quot;) for the WordPress.org listing. No functional changes.<\/p>","1.2.0":"<p>Architecture change: BYOK is active again \u2014 enter your own Claude\/OpenAI API key on the &quot;API &amp; Model&quot; tab after updating.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3626667,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3626667,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3626667,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3626667,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.9.3"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Generate Article page \u2014 choose a category, optional topic, optional source URL.","2":"Settings page \u2014 License, API &amp; Model, Article, Thumbnail tabs.","3":"Logs page \u2014 activity history with a color-coded badge per level."}},"plugin_section":[],"plugin_tags":[2353,229563,8494,194533,186],"plugin_category":[55],"plugin_contributors":[273658],"plugin_business_model":[],"class_list":["post-345363","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-claude","plugin_tags-content-generation","plugin_tags-openai","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-komponenweb","plugin_committers-komponenweb"],"banners":{"banner":"https:\/\/ps.w.org\/pusatweb-ai-article-generator\/assets\/banner-772x250.png?rev=3626667","banner_2x":"https:\/\/ps.w.org\/pusatweb-ai-article-generator\/assets\/banner-1544x500.png?rev=3626667","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pusatweb-ai-article-generator\/assets\/icon-128x128.png?rev=3626667","icon_2x":"https:\/\/ps.w.org\/pusatweb-ai-article-generator\/assets\/icon-256x256.png?rev=3626667","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>PusatWeb AI Article Generator<\/strong> connects your WordPress site to the <a href=\"https:\/\/console.anthropic.com\">Claude API<\/a> (Anthropic) or the <a href=\"https:\/\/platform.openai.com\">OpenAI API<\/a> \u2014 just pick one on the Settings page \u2014 to create quality, SEO-friendly articles automatically, either manually on demand or scheduled via WP-Cron.<\/p>\n\n<p>This plugin uses a <strong>BYOK (Bring Your Own Key)<\/strong> model: you supply the API key for your AI provider of choice (plus optionally Unsplash\/Gemini), and the plugin calls that API directly from your own server. No data is ever sent to the plugin developer's server \u2014 only to the AI\/Unsplash provider you configure yourself.<\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li><strong>Generate articles via the Claude API or OpenAI API<\/strong> \u2014 choose which provider is active on the Settings page; title, structured body content, meta description, tags, and an SEO-friendly slug in a single request.<\/li>\n<li><strong>Source URL support<\/strong> \u2014 rewrite an article with an original perspective based on a reference, with attribution, not copying.<\/li>\n<li><strong>Automatic thumbnails<\/strong> \u2014 3 modes: Unsplash stock photos, a programmatic gradient canvas (GD, no external API), or the AI Image API (generate an original image via OpenAI gpt-image-1 or Google Gemini).<\/li>\n<li><strong>Image per sub-heading (optional)<\/strong> \u2014 insert a relevant Unsplash photo under each H2 heading, with a source caption (photographer + Unsplash link).<\/li>\n<li><strong>Image watermark (optional)<\/strong> \u2014 a small automatic text watermark in the bottom-left\/bottom-right corner of every generated image.<\/li>\n<li><strong>Draft\/review mode<\/strong> \u2014 articles are created as a draft (or another status of your choice) for review before publishing.<\/li>\n<li><strong>Automatic scheduling (WP-Cron)<\/strong> \u2014 set the frequency (daily\/twice-daily\/weekly), execution time, and number of articles per category on every run.<\/li>\n<li><strong>Yoast SEO &amp; RankMath compatible<\/strong> \u2014 the meta description automatically fills the installed SEO plugin's field.<\/li>\n<li><strong>Logs page<\/strong> \u2014 activity &amp; error history with a level filter, plus a list of every article generated by this plugin.<\/li>\n<li><strong>Security<\/strong> \u2014 every API key is stored encrypted (AES-256-CBC) in the database, never sent to the browser\/JavaScript.<\/li>\n<\/ul>\n\n<h4>Requires an API Key<\/h4>\n\n<ul>\n<li><strong>Anthropic API key<\/strong> or <strong>OpenAI API key<\/strong> (pick one, required) \u2014 sign up at <a href=\"https:\/\/console.anthropic.com\">console.anthropic.com<\/a> or <a href=\"https:\/\/platform.openai.com\">platform.openai.com<\/a>. Both are pay-as-you-go and <strong>separate<\/strong> from a chat subscription (Claude.ai Pro\/Free or ChatGPT Plus) \u2014 you need to add credit in the respective console before the API can be used.<\/li>\n<li><strong>Unsplash Access Key<\/strong> (optional, for the stock photo thumbnail mode &amp; image per sub-heading) \u2014 free signup at <a href=\"https:\/\/unsplash.com\/developers\">unsplash.com\/developers<\/a>.<\/li>\n<li><strong>Google Gemini API Key<\/strong> (optional, only if you choose Gemini as the AI Image Provider) \u2014 a free tier with a limited quota is available in Google AI Studio.<\/li>\n<\/ul>\n\n<h4>Data Usage Disclosure<\/h4>\n\n<p>This plugin sends content (category, topic\/keyword, source URL if provided) to the <strong>Anthropic API<\/strong> or <strong>OpenAI API<\/strong> (depending on which provider you chose) to generate articles, and (if the Unsplash thumbnail\/image-per-sub-heading mode is active) sends search keywords to the <strong>Unsplash API<\/strong> to find photos. No data is sent to this plugin's developer's server or any other party outside the provider you configure yourself. See the \"External services\" section below for full details on each service.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin is BYOK (Bring Your Own Key): for each AI\/image service below, you supply your own API key and the plugin calls that service directly from your own server \u2014 nothing passes through, or is stored on, any server operated by this plugin's developer.<\/p>\n\n<p><strong>Anthropic API (Claude)<\/strong> \u2014 used to generate article content (title, body, tags, meta description, slug) when Claude is the selected AI provider on the API &amp; Model tab. Every time you generate an article, this plugin sends the category, an optional topic\/keyword, and an optional source URL (as reference material) to this service. Requires your own Anthropic API key, entered in Settings.\nTerms of Service: https:\/\/www.anthropic.com\/legal\/consumer-terms \u2014 Privacy Policy: https:\/\/www.anthropic.com\/legal\/privacy<\/p>\n\n<p><strong>OpenAI API<\/strong> \u2014 used to generate article content when OpenAI is the selected AI provider, and (if enabled) to generate an AI thumbnail image via the Images API. Sends the same category\/topic\/source-url data as above for text generation, and an image prompt for image generation. Requires your own OpenAI API key, entered in Settings.\nTerms of Use: https:\/\/openai.com\/policies\/row-terms-of-use\/ \u2014 Privacy Policy: https:\/\/openai.com\/policies\/row-privacy-policy\/<\/p>\n\n<p><strong>Google Gemini API<\/strong> \u2014 optional, only used if you select Gemini as the AI Image Provider on the Thumbnail tab, to generate a thumbnail image. Sends an image-generation prompt derived from the article. Requires your own Google Gemini API key, entered in Settings.\nTerms of Service: https:\/\/ai.google.dev\/gemini-api\/terms \u2014 Privacy Policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<p><strong>Unsplash API<\/strong> \u2014 optional, only used if you select Unsplash as the thumbnail mode, or enable \"Image per Sub-Heading,\" to search for and download stock photos. Sends search keywords (derived from the article's category\/content) each time a photo is looked up. Requires your own Unsplash Access Key, entered in Settings.\nTerms of Service: https:\/\/unsplash.com\/terms \u2014 Privacy Policy: https:\/\/unsplash.com\/privacy<\/p>\n\n<p><strong>Freemius<\/strong> \u2014 used for optional PRO license management: checkout, license activation\/validation, and update delivery for the paid tier. On first activation you're shown Freemius's own connect screen, where you can choose to connect (share basic, non-sensitive site data such as site URL and WordPress\/PHP\/plugin version, to enable license validation and security notices) or skip it entirely \u2014 skipping has no effect on any free-tier feature of this plugin.\nTerms of Service: https:\/\/freemius.com\/terms\/ \u2014 Privacy Policy: https:\/\/freemius.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ai-article-generator<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or upload the zip file via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Open the <strong>AI Articles \u2192 Settings<\/strong> menu, go to the <strong>API &amp; Model<\/strong> tab, choose the <strong>Active AI Provider<\/strong> (Claude or OpenAI), enter the API Key for the provider you chose, then click <strong>Test Connection<\/strong> to verify it.<\/li>\n<li>(Optional) Enter your Unsplash Access Key \/ Google Gemini API Key on the <strong>Thumbnail<\/strong> tab if you want to use stock photos or AI Image as the thumbnail.<\/li>\n<li>Set your article preferences (language, tone, length, default status) on the <strong>Article<\/strong> tab.<\/li>\n<li>Start generating articles manually from the <strong>AI Articles \u2192 Generate<\/strong> menu, or enable automatic scheduling on the <strong>Article<\/strong> tab.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20plugin%20free%3F\"><h3>Is this plugin free?<\/h3><\/dt>\n<dd><p>There's a free plan and a PRO plan. The free plan can generate unlimited articles manually (OpenAI only) from the Generate page, with automatic meta description and SEO plugin (Yoast\/RankMath) compatibility included \u2014 no scheduling, no image watermark. PRO unlocks Claude as a provider, scheduled auto-generate, and image watermarking. Either way, you still supply and pay for your own Anthropic\/OpenAI API key directly \u2014 this plugin never acts as a middleman for or holds AI costs on your behalf, on any plan.<\/p><\/dd>\n<dt id=\"which%20provider%20should%20i%20choose%2C%20claude%20or%20openai%3F\"><h3>Which provider should I choose, Claude or OpenAI?<\/h3><\/dt>\n<dd><p>On the free plan, article generation is limited to OpenAI. On PRO, either works \u2014 both are implemented through the same driver architecture and produce equally SEO-friendly results. Enter an API key for one (or both, then choose via \"Active AI Provider\" on the API &amp; Model tab), click Test Connection to verify it, then generate as usual.<\/p><\/dd>\n<dt id=\"can%20i%20use%20my%20claude%20pro%2Fchatgpt%20plus%20subscription%20directly%3F\"><h3>Can I use my Claude Pro\/ChatGPT Plus subscription directly?<\/h3><\/dt>\n<dd><p>No. A chat subscription (Claude.ai Free\/Pro\/Max, ChatGPT Free\/Plus) and its corresponding API (Anthropic API, OpenAI API) are separate billing systems, even under the same account. You need to create a separate API key at console.anthropic.com or platform.openai.com and add credit there.<\/p><\/dd>\n<dt id=\"why%20does%20the%20%22test%20connection%22%20button%20fail%20with%20a%20credit%20balance%2Fquota%20too%20low%20message%3F\"><h3>Why does the \"Test Connection\" button fail with a credit balance\/quota too low message?<\/h3><\/dt>\n<dd><p>That means your API key is valid, but your Anthropic\/OpenAI account doesn't have any credit yet. Add credit at <strong>console.anthropic.com \u2192 Plans &amp; Billing<\/strong> (Anthropic) or <strong>platform.openai.com \u2192 Billing<\/strong> (OpenAI).<\/p><\/dd>\n<dt id=\"are%20articles%20published%20immediately%3F\"><h3>Are articles published immediately?<\/h3><\/dt>\n<dd><p>Not by default \u2014 the default status is <strong>draft<\/strong> so you can review before publishing. You can change the default status on the Article tab.<\/p><\/dd>\n<dt id=\"how%20does%20automatic%20scheduling%20work%3F\"><h3>How does automatic scheduling work?<\/h3><\/dt>\n<dd><p>The plugin uses WordPress's built-in WP-Cron. Once enabled on the Article tab (frequency, time, categories, article count per run), the event runs automatically. You can trigger it manually for testing with WP-CLI: <code>wp cron event run pwaag_scheduled_generate<\/code>.<\/p><\/dd>\n<dt id=\"does%20it%20support%20wordpress%20multisite%3F\"><h3>Does it support WordPress Multisite?<\/h3><\/dt>\n<dd><p>The log table and cron schedule are created per-site on activation\/network-activation. Each site manages its own API keys &amp; preferences independently.<\/p><\/dd>\n<dt id=\"where%20are%20error%20logs%20stored%3F\"><h3>Where are error logs stored?<\/h3><\/dt>\n<dd><p>The <strong>AI Articles \u2192 Logs<\/strong> menu shows the full activity history (info\/warning\/error) with a level filter, plus a list of every article ever generated by this plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.9.3<\/h4>\n\n<ul>\n<li><strong>WordPress.org manual review response<\/strong> (3 findings addressed):<\/li>\n<li>Fix: automatic meta description and SEO plugin (Yoast\/RankMath) compatibility were being generated and parsed from the AI on every plan, then silently discarded on the free plan \u2014 an artificial restriction of an already-available feature. Both are now free\/core on every plan; only Claude, scheduling, and image watermarking remain PRO-only, since those are the only ones where the underlying work is genuinely skipped (not generated then thrown away) on the free plan.<\/li>\n<li>Fix: text domain (and every translation string) changed from <code>ai-article-generator<\/code> to <code>pusatweb-ai-article-generator<\/code> to match the assigned WordPress.org slug \u2014 this also required renaming the plugin's folder, since Plugin Check derives its expected domain from the installed folder name, which matches the real slug on an actual wp.org install.<\/li>\n<li>Fix: Plugin URI updated from a subdomain that wasn't live yet to the main pusatweb.com site.<\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li><strong>WordPress.org review response<\/strong>: renamed the internal code prefix from <code>aag_<\/code>\/<code>AAG_<\/code> to <code>pwaag_<\/code>\/<code>PWAAG_<\/code> (the old one was 3 characters, below wp.org's 4-character minimum for avoiding naming collisions) \u2014 covers every function, class, constant, option, post meta key, the custom database table, and AJAX\/cron hook names. Added a required \"External services\" section to this readme documenting each third-party API (Anthropic, OpenAI, Gemini, Unsplash, Freemius) with what data is sent and links to each one's terms\/privacy policy. Enabled Freemius's WordPress.org compliance mode for this build. Added the correct Contributors entry. No functional changes \u2014 existing installs are unaffected since this plugin isn't public yet.<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li><strong>Fix: uninstall cleanup wasn't reachable by Freemius<\/strong>: removed the plugin's root <code>uninstall.php<\/code> \u2014 WordPress only ever runs one uninstall mechanism, and its presence silently disabled <code>register_uninstall_hook()<\/code>, which is what the Freemius SDK relies on internally to track uninstalls. Cleanup logic (options, post meta, custom log table) now runs via Freemius's own <code>after_uninstall<\/code> action instead, so both the plugin's own data removal and Freemius's uninstall tracking work correctly.<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li><strong>Rename<\/strong>: plugin name changed to <strong>PusatWeb AI Article Generator<\/strong> (from \"AI Article Generator\") to avoid listing confusion with similarly-named plugins already on WordPress.org. Slug\/folder\/text domain (<code>ai-article-generator<\/code>) are unchanged, so existing installs are unaffected.<\/li>\n<li><strong>Fix: fatal error on activation on PRO\/full-codebase installs<\/strong>: activating the plugin fresh (not yet active) ran the scheduler's <code>reschedule_event()<\/code> \u2014 which checks the license via <code>aag_is_premium()<\/code> \u2014 before <code>class-aag-license.php<\/code> had been loaded, since activation hooks can fire before <code>aag_bootstrap()<\/code> does. Every real install running the full (non wp.org-stripped) codebase hit this. Fixed by loading the license class during activation itself.<\/li>\n<li><strong>Plugin Check compliance pass<\/strong>: fixed an unescaped output warning, raised the minimum WordPress version to 6.4 (required by the autoload-optimization functions already in use, and removed the now-unreachable pre-6.4 fallback code), removed the redundant manual <code>load_plugin_textdomain()<\/code> call (core handles this automatically for wp.org-hosted plugins since WP 4.6), removed a stray <code>languages\/.gitkeep<\/code> placeholder, updated readme.txt's \"Tested up to\" to 7.0, and trimmed the tags list\/short description to wp.org's limits.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li><strong>Free\/PRO plans, WordPress.org compliant now<\/strong>: removed the free plan's daily generate cap entirely \u2014 manual generate is unlimited on every plan, since capping it was a \"usage cutoff\" that WordPress.org's guidelines explicitly forbid. Claude support, automatic meta description, SEO plugin compatibility, scheduled auto-generate, and image watermarking are now PRO-only by being physically excluded from this free build (not just disabled in code) \u2014 the same approach used by other freemium plugins in the directory. No change to what's free vs. PRO otherwise.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Added a \"How it works\" usage guide and per-field explanations to the Generate page (Category, Topic\/Keyword, Source URL) so new users understand the flow before generating.<\/li>\n<\/ul>\n\n<h4>1.6.2<\/h4>\n\n<ul>\n<li>Hardened a local-development-only license override so it can no longer be triggered by a single wp-config.php constant on its own \u2014 internal change, no effect on normal use.<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>Added a description under the Temperature field (API &amp; Model tab) explaining what it controls and when to lower it.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Freemius licensing SDK integrated: the License tab now shows a real \"Upgrade to PRO\" button and, once licensed, a \"Manage License\" link, instead of a placeholder. <code>aag_is_premium()<\/code> checks the real license status. No change to what's free vs. PRO (see 1.4.0) \u2014 this only wires up how a PRO license actually gets checked\/purchased.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>New: a warning notice on this plugin's own admin pages when no AI API key has been configured yet for the active provider, with a direct link to Settings \u2192 API &amp; Model.<\/li>\n<li>New: a dismissible banner on this plugin's own admin pages for free-plan sites, recommending an upgrade to PRO with a link to the License tab.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li><strong>Free\/PRO plans<\/strong>: introduced a free plan and a PRO plan. Free is limited to OpenAI only, manual generate only (no scheduling) capped at 1 article\/day, and no automatic meta description, SEO plugin compatibility, or image watermark. PRO removes all of those limits. Locked fields in Settings show a \"PRO\" badge and an upgrade note; every limit is also enforced server-side (not just hidden in the UI), so it can't be bypassed by editing form fields directly. PRO licensing itself (Freemius) isn't wired up yet \u2014 see <code>ARCHITECTURE.md<\/code>.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li><strong>Language<\/strong>: the plugin's default UI language is now <strong>English<\/strong> (WordPress.org\/public-plugin convention) instead of Indonesian. Every admin-facing string now goes through the English source text by default; Indonesian is now a full translation (<code>languages\/ai-article-generator-id_ID.po<\/code>\/<code>.mo<\/code>) rather than the hardcoded default, so existing Indonesian-speaking users see no change on a site running an <code>id_ID<\/code> locale. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li><strong>Rename<\/strong>: the plugin name reverted to <strong>AI Article Generator<\/strong> (dropping the \"PRO\" suffix) for WordPress.org listing purposes \u2014 a free wp.org listing shouldn't use \"PRO\" in its name, since that implies a paid product. \"PRO\" will still be used later as the name of an upgrade tier (Freemius), not the plugin\/listing name.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li><strong>Architecture change<\/strong>: reverted to a <strong>BYOK (Bring Your Own Key)<\/strong> model \u2014 every user supplies their own Claude\/OpenAI API key (and optionally Unsplash\/Gemini), instead of going through a developer-owned relay server. The \"License\" tab is temporarily an informational placeholder (PRO license management will follow, separate from AI access).<\/li>\n<li>Rebranded to <strong>AI Article Generator PRO<\/strong>.<\/li>\n<li>Second AI provider support: <strong>OpenAI (ChatGPT)<\/strong> as an alternative to Claude \u2014 choose via \"Active AI Provider\" on the API &amp; Model tab.<\/li>\n<li>Thumbnail: <strong>AI Image API<\/strong> mode (OpenAI gpt-image-1 or Google Gemini) and <strong>Unsplash<\/strong> mode are now separate and configured directly with your own API key.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New feature: a small automatic <strong>text watermark<\/strong> in the bottom-left\/bottom-right corner of every generated image (thumbnail &amp; image per sub-heading) \u2014 text, position (left\/right), and on\/off are set on the <strong>Thumbnail<\/strong> tab. Leave the text empty to automatically use the site name.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public edition release.<\/li>\n<\/ul>","raw_excerpt":"Generate SEO-friendly WordPress articles automatically with Claude AI or OpenAI, complete with thumbnails and scheduling.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345363"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/komponenweb"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345363"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345363"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345363"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345363"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345363"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}