{"id":225229,"date":"2025-06-01T14:46:56","date_gmt":"2025-06-01T14:46:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-story-maker\/"},"modified":"2026-06-05T03:15:52","modified_gmt":"2026-06-05T03:15:52","slug":"ai-story-maker","status":"publish","type":"plugin","link":"https:\/\/frp.wordpress.org\/plugins\/ai-story-maker\/","author":17950784,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.3.5","stable_tag":"2.3.5","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"AI Story Maker","header_author":"Hayan Mamoun","header_description":"AI-powered content generator for WordPress \u2014 create engaging stories with a single click.","assets_banners_color":"aeb9b8","last_updated":"2026-06-05 03:15:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.storymakerplugin.com\/","header_author_uri":"https:\/\/exedotcom.ca","rating":5,"author_block_rating":0,"active_installs":10,"downloads":1516,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"hmamoun","date":"2025-06-01 14:46:47"},"2.0.1":{"tag":"2.0.1","author":"hmamoun","date":"2025-09-28 23:21:47"},"2.0.2":{"tag":"2.0.2","author":"hmamoun","date":"2025-09-28 23:21:47"},"2.0.3":{"tag":"2.0.3","author":"hmamoun","date":"2025-09-28 23:21:47"},"2.1.0":{"tag":"2.1.0","author":"hmamoun","date":"2025-10-23 03:37:51"},"2.1.2":{"tag":"2.1.2","author":"hmamoun","date":"2025-10-23 03:37:51"},"2.1.3":{"tag":"2.1.3","author":"hmamoun","date":"2025-10-23 03:44:34"},"2.1.4":{"tag":"2.1.4","author":"hmamoun","date":"2026-01-13 01:56:49"},"2.2.1":{"tag":"2.2.1","author":"hmamoun","date":"2026-05-10 13:58:25"},"2.2.2":{"tag":"2.2.2","author":"hmamoun","date":"2026-05-10 20:02:56"},"2.3.1":{"tag":"2.3.1","author":"hmamoun","date":"2026-05-20 01:51:30"},"2.3.2":{"tag":"2.3.2","author":"hmamoun","date":"2026-05-20 03:34:10"},"2.3.3":{"tag":"2.3.3","author":"hmamoun","date":"2026-05-20 04:07:03"},"2.3.4":{"tag":"2.3.4","author":"hmamoun","date":"2026-06-05 02:07:49"},"2.3.5":{"tag":"2.3.5","author":"hmamoun","date":"2026-06-05 03:15:52"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3304309,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3304309,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","2.0.1","2.0.2","2.0.3","2.1.0","2.1.2","2.1.3","2.1.4","2.2.1","2.2.2","2.3.1","2.3.2","2.3.3","2.3.4","2.3.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3527551,"resolution":"1","location":"assets","locale":"","width":835,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3527551,"resolution":"2","location":"assets","locale":"","width":1200,"height":535},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3527551,"resolution":"3","location":"assets","locale":"","width":1180,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3527551,"resolution":"4","location":"assets","locale":"","width":676,"height":514}},"screenshots":{"1":"Welcome wizard \u2014 choose a prompt and generate your first AI story in seconds.","2":"Posts list integration \u2014 one-click \"Generate AI Stories\" button and per-post \"AI Story Enhancer\" action.","3":"AI Story Enhancer \u2014 select any text in your post and choose how to rewrite, expand, or improve it.","4":"SEO &amp; Meta panel \u2014 generate optimised meta descriptions for your posts with a single click."}},"plugin_section":[262246],"plugin_tags":[2353,228342,243233,2165,243234],"plugin_category":[],"plugin_contributors":[243235],"plugin_business_model":[],"class_list":["post-225229","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-ai","plugin_tags-article-generation","plugin_tags-blog-automation","plugin_tags-content-creation","plugin_tags-wordpress-ai-plugin","plugin_contributors-hmamoun","plugin_committers-hmamoun","plugin_support_reps-hayan"],"banners":{"banner":"https:\/\/ps.w.org\/ai-story-maker\/assets\/banner-772x250.png?rev=3304309","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ai-story-maker\/assets\/icon-128x128.png?rev=3304309","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-story-maker\/assets\/screenshot-1.png?rev=3527551","caption":"Welcome wizard \u2014 choose a prompt and generate your first AI story in seconds."},{"src":"https:\/\/ps.w.org\/ai-story-maker\/assets\/screenshot-2.png?rev=3527551","caption":"Posts list integration \u2014 one-click \"Generate AI Stories\" button and per-post \"AI Story Enhancer\" action."},{"src":"https:\/\/ps.w.org\/ai-story-maker\/assets\/screenshot-3.png?rev=3527551","caption":"AI Story Enhancer \u2014 select any text in your post and choose how to rewrite, expand, or improve it."},{"src":"https:\/\/ps.w.org\/ai-story-maker\/assets\/screenshot-4.png?rev=3527551","caption":"SEO &amp; Meta panel \u2014 generate optimised meta descriptions for your posts with a single click."}],"raw_content":"<!--section=description-->\n<p><strong>AI Story Maker<\/strong> transforms your WordPress into an intelligent storytelling engine. Seamlessly generate captivating stories and articles enhanced with dynamic visuals\u2014within seconds. No writing experience needed.<\/p>\n\n<p><strong>NEW: AI Story Enhancer<\/strong>\nUpgrade any post with professional-quality enhancements by simply selecting text and choosing how you want it improved. Save time, improve quality, and boost reader engagement.<\/p>\n\n<p>Ideal for bloggers, marketers, coaches, educators, and content creators.<\/p>\n\n<h3>Key Features<\/h3>\n\n<p><strong>AI Story Enhancer<\/strong>\n- Smart text selection and contextual enhancements\n- Instant AI rewrite, expand, and improve tools\n- One-click access from your post list\n- Free to use, no credits required<\/p>\n\n<p><strong>AI-Powered Story Generation<\/strong>\n- Leverages OpenAI to generate unique content\n- Royalty-free image integration via Unsplash\n- Schedule automatic content generation\n- Create &amp; manage custom prompts with categories<\/p>\n\n<p><strong>Built-In Analytics<\/strong>\n- Traffic logs and heatmaps\n- Post performance tracking and click stats<\/p>\n\n<p><strong>Advanced Content Display<\/strong>\n- Filterable and searchable story widgets ([aistma_posts])\n- Story scroller with shortcode ([aistma_scroller])\n- Seamless integration with any theme<\/p>\n\n<p><strong>Social Media Integration<\/strong>\n- Auto-publish to Facebook (LinkedIn, X, and Instagram coming soon)\n- Convert tags to hashtags\n- Smart scheduling and multi-account support<\/p>\n\n<p><strong>Developer Friendly<\/strong>\n- Use subscription credits or your own OpenAI\/Unsplash keys\n- Automatic fallback: generate stories using master API when credits are available, no subscription required\n- Clean shortcode and widget setup\n- Multilingual ready\n- <strong>Native WP 7.0 AI agent support<\/strong> \u2014 three Abilities registered automatically for orchestration by any WP 7.0 AI workflow<\/p>\n\n<h3>WordPress 7.0 AI Agent Integration<\/h3>\n\n<p>AI Story Maker is AI agent-ready for WordPress 7.0. Three named Abilities are registered automatically when the plugin is active, making your content engine orchestratable by any WP 7.0 AI workflow:<\/p>\n\n<ul>\n<li><strong>ai-story-maker\/generate-story<\/strong> \u2014 Generate a new story using your configured prompts. Pass an optional <code>prompt_id<\/code> to run a single prompt, or omit it to run all active prompts in one batch.<\/li>\n<li><strong>ai-story-maker\/enhance-content<\/strong> \u2014 Improve or rewrite a block of existing post content using AI. Pass the post ID, the text to improve, and a plain-English instruction.<\/li>\n<li><strong>ai-story-maker\/schedule-stories<\/strong> \u2014 Enable or disable weekly automatic story generation for a user and set which prompt to use.<\/li>\n<\/ul>\n\n<p><strong>Credit usage:<\/strong> Ability-invoked generation uses the same credit pool as every other generation method \u2014 the manual button, the wizard, and the scheduler all go through the same gateway. No separate billing, no extra setup.<\/p>\n\n<p><strong>Backwards compatible:<\/strong> On WordPress 6.x the plugin functions normally. The Abilities registration is silently skipped if <code>wp_register_ability()<\/code> does not exist.<\/p>\n\n<p>For full developer documentation including input\/output schemas, code examples, and recipes, see <code>docs\/abilities-api.md<\/code>.<\/p>\n\n<h3>After Installation<\/h3>\n\n<ol>\n<li>Choose a subscription or connect your API keys<\/li>\n<li>Set up prompt rules and preferences<\/li>\n<li>Start generating and enhancing content<\/li>\n<\/ol>\n\n<h3>Support &amp; Documentation<\/h3>\n\n<ul>\n<li>Full setup and user guide at storymakerplugin.com<\/li>\n<li>Developer docs and API terms available<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin makes requests to external services for core functionality:<\/p>\n\n<p><strong>OpenAI API<\/strong> (https:\/\/openai.com\/)\n- Transmits: Story prompts, request metadata\n- Used for: AI-powered story generation\n- Terms: https:\/\/openai.com\/policies\/terms-of-use<\/p>\n\n<p><strong>Unsplash API<\/strong> (https:\/\/unsplash.com\/)\n- Transmits: Image search queries\n- Used for: Fetching royalty-free images for stories\n- Terms: https:\/\/unsplash.com\/terms<\/p>\n\n<p><strong>Exedotcom Gateway<\/strong> (https:\/\/www.exedotcom.ca\/)\n- Transmits: Domain, admin email, plugin version\n- Used for: Subscription verification, credits management, license validation\n- Endpoints: <code>\/verify-subscription<\/code>, <code>\/ensure-startup-credits<\/code>\n- Data sent to ensure-startup-credits: Domain, admin email (for initial credit setup)\n- Terms: https:\/\/www.exedotcom.ca\/api-terms<\/p>\n\n<h3>License &amp; Privacy<\/h3>\n\n<ul>\n<li>Licensed under GPLv2 or later<\/li>\n<li>No personal user data is collected or stored beyond domain\/email for subscription validation<\/li>\n<li>Each external service has its own privacy policy (see External Services section)<\/li>\n<\/ul>\n\n<h3>Love the Plugin?<\/h3>\n\n<p>Support development by leaving a review or buying a coffee \u2615<\/p>\n\n<h3>Stay Updated<\/h3>\n\n<p>Subscribe for feature updates and tutorials at storymakerplugin.com<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Complete the welcome wizard to choose a subscription plan or connect your own API keys.<\/li>\n<li>Set up prompt rules and preferences.<\/li>\n<li>Start generating and enhancing content.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20the%20ai%20story%20maker%20abilities%20to%20generate%20posts%20without%20installing%20or%20activating%20the%20plugin%3F\"><h3>Can I use the AI Story Maker Abilities to generate posts without installing or activating the plugin?<\/h3><\/dt>\n<dd><p>No. Abilities are registered locally by the plugin when it loads on your WordPress site. If the plugin is not installed and active, its abilities do not exist in the registry and cannot be invoked. There is no remote service that exposes them independently.<\/p><\/dd>\n<dt id=\"will%20using%20abilities%20to%20generate%20stories%20deduct%20my%20credits%3F\"><h3>Will using Abilities to generate stories deduct my credits?<\/h3><\/dt>\n<dd><p>Yes, exactly the same as every other generation method. Ability-invoked generation goes through the same gateway path as the manual button, the activation wizard, and the weekly scheduler. Credits are deducted server-side by the gateway. If your plan has no credits remaining, the ability returns an error and no post is created.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.3.5<\/h4>\n\n<ul>\n<li>Maintenance release: re-publishes 2.3.4 content under a clean tag to ensure the WP.org plugin directory serves the correct version (the prior tag was modified post-creation, preventing zip generation).<\/li>\n<\/ul>\n\n<h4>2.3.4<\/h4>\n\n<ul>\n<li><strong>NEW: Admin review notice<\/strong> \u2014 after 5 story generations or 7 days of use, administrators see a friendly rating bar. 4\u20135 stars redirect to WordPress.org; 1\u20133 stars reveal a feedback form and email the site admin automatically.<\/li>\n<li><strong>NEW: WP 7.0 Abilities API<\/strong> \u2014 registers <code>generate-story<\/code>, <code>enhance-content<\/code>, and <code>schedule-stories<\/code> abilities so AI agents and WP 7.0 workflows can orchestrate the plugin without custom integration code.<\/li>\n<li><strong>NEW: Enriched site-topic prompt<\/strong> \u2014 the activation wizard enriches the site-topic field with the site title, tagline, and SEO meta for higher-quality first prompts.<\/li>\n<\/ul>\n\n<h4>2.3.3<\/h4>\n\n<ul>\n<li>Maintenance release: republished 2.3.2 content under a new tag to ensure the WP.org plugin directory receives the latest code (the prior tag had been packaged from an outdated working copy).<\/li>\n<\/ul>\n\n<h4>2.3.2<\/h4>\n\n<ul>\n<li><strong>NEW: Frontend dashboard widgets as shortcodes<\/strong> -- the Data Overview, Generation Calendar, and Recent Posts Activity admin widgets can now be embedded on any page via [aistma_data_overview], [aistma_generation_calendar], and [aistma_recent_activity]<\/li>\n<li><strong>FIX: Shortcode rendering on the frontend<\/strong> -- widget classes are now loaded outside the admin context so the new shortcodes render their HTML instead of producing empty output<\/li>\n<\/ul>\n\n<h4>2.3.1<\/h4>\n\n<ul>\n<li><strong>FIX: Insufficient credits after subscription cancellation<\/strong> -- wizard now re-enrolls in the free tier when the gateway no longer authorizes generation, not only when no API key is stored<\/li>\n<li><strong>FIX: Gateway is the single source of truth for credits<\/strong> -- removed the local credit ledger so a stale local count cannot block generation when the gateway has valid credits<\/li>\n<li><strong>FIX: Wizard auto-enrollment<\/strong> -- calls \/wizard-enroll-free and stores the returned gateway API key, then re-checks the subscription before generating<\/li>\n<li><strong>FIX: API keys masked in settings page<\/strong> -- only last 10% of stored keys is shown<\/li>\n<li><strong>FIX: Dashboard 'Create Story Now'<\/strong> -- wizard initializes reliably from the dashboard widget; rating modal excluded from dashboard to prevent fadeIn crash<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li><strong>NEW: Display User Transactions<\/strong> \u2014 View credit history and transaction details in admin dashboard<\/li>\n<li><strong>NEW: Multiple Photo Resources<\/strong> \u2014 Support for Pexels and Pixabay in addition to Unsplash<\/li>\n<li><strong>NEW: Keyword Support in Prompts<\/strong> \u2014 Add keywords to prompts for better SEO optimization<\/li>\n<li><strong>NEW: Externalized Styles<\/strong> \u2014 Migrated inline CSS\/JS to external files for better performance<\/li>\n<li><strong>SECURITY: Authenticated Gateway Client Flow<\/strong> \u2014 Server-side authentication for gateway requests, removed browser-exposed auth<\/li>\n<li><strong>FIX: Subscription Email Updates<\/strong> \u2014 Users can now update their subscription email anytime for account management<\/li>\n<li><strong>IMPROVED: Subscription Security<\/strong> \u2014 CSRF protection with proper nonce verification<\/li>\n<li><strong>IMPROVED: Type Consistency<\/strong> \u2014 Fixed null\/int type handling for managed subscriptions<\/li>\n<li><strong>TESTED: Full Feature Coverage<\/strong> \u2014 Added unit tests for auth headers and subscription detection<\/li>\n<\/ul>\n\n<h4>2.2.1<\/h4>\n\n<ul>\n<li>Added privacy disclosure note in wizard header<\/li>\n<li>Improved user transparency about startup credits<\/li>\n<li>UI refinements and stability improvements<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Fixed wizard modal centering for prompts tab<\/li>\n<li>Added credit check with personal API fallback<\/li>\n<li>Allow story generation with user's own OpenAI API key when no credits available<\/li>\n<li>Improved error messages and user redirects to plans tab<\/li>\n<\/ul>\n\n<h4>2.1.4<\/h4>\n\n<ul>\n<li>Bug fixes and performance improvements<\/li>\n<li>Enhanced stability and code quality<\/li>\n<\/ul>\n\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>NEW: AI Story Enhancer feature for post-level improvements<\/li>\n<li>Enhanced UX and seamless WP integration<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Major analytics improvements<\/li>\n<li>Widget and display upgrades<\/li>\n<\/ul>","raw_excerpt":"AI-powered WordPress plugin that generates high-quality stories instantly with OpenAI and Unsplash. Includes AI Story Enhancer for content upgrades.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/225229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=225229"}],"author":[{"embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hmamoun"}],"wp:attachment":[{"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=225229"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=225229"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=225229"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=225229"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=225229"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/frp.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=225229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}