{"id":383981,"date":"2026-10-12T15:17:18","date_gmt":"2026-10-12T15:17:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-zenmux\/"},"modified":"2026-10-12T15:17:01","modified_gmt":"2026-10-12T15:17:01","slug":"bestony-ai-provider-for-zenmux","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bestony-ai-provider-for-zenmux\/","author":14788414,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.3","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for ZenMUX","header_author":"Bestony","header_description":"ZenMUX provider for the WordPress AI Client.","assets_banners_color":"","last_updated":"2026-10-12 15:17:01","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/bestony\/AI-Provider-for-ZenMUX","header_author_uri":"https:\/\/github.com\/bestony","rating":0,"author_block_rating":0,"active_installs":0,"downloads":109,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bestony","date":"2026-10-12 15:17:01","revision":3741965}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,5739,25308,226124,286202],"plugin_category":[],"plugin_contributors":[145631],"plugin_business_model":[],"class_list":["post-383981","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-artificial-intelligence","plugin_tags-connector","plugin_tags-llm","plugin_tags-zenmux","plugin_contributors-bestony","plugin_committers-bestony"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bestony-ai-provider-for-zenmux.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This plugin connects WordPress AI features to ZenMUX, an OpenAI-compatible AI aggregation\nservice. It registers a ZenMUX provider with the WordPress AI Client and supports:<\/p>\n\n<ul>\n<li>Text generation and chat history, including tools and structured JSON output.<\/li>\n<li>Vision input for models that accept images.<\/li>\n<li>Image generation for image models.<\/li>\n<li>Image editing (refinement) when the prompt carries one or more reference images.<\/li>\n<\/ul>\n\n<p>The model catalog is read from ZenMUX's <code>GET \/models<\/code> endpoint, so models ZenMUX adds or\nremoves appear automatically.<\/p>\n\n<h3>Setup<\/h3>\n\n<ol>\n<li>Activate the plugin.<\/li>\n<li>Open <strong>Settings &gt; Connectors<\/strong> and save your ZenMUX API key. You can create one at\nhttps:\/\/zenmux.ai\/platform\/pay-as-you-go.<\/li>\n<li>Optional: configure the provider with environment variables or PHP constants:<\/li>\n<\/ol>\n\n<ul>\n<li><code>ZENMUX_BASE_URL<\/code> - API base URL. Default <code>https:\/\/zenmux.ai\/api\/v1<\/code>.<\/li>\n<li><code>ZENMUX_DEFAULT_MODEL<\/code> - preferred text and vision model. Default <code>openai\/gpt-5<\/code>.<\/li>\n<li><code>ZENMUX_IMAGE_MODEL<\/code> - preferred image model. Default <code>openai\/gpt-image-2<\/code>.<\/li>\n<li><code>ZENMUX_REQUEST_TIMEOUT<\/code> - request timeout in seconds. Default <code>120<\/code>.<\/li>\n<li><code>ZENMUX_CONNECT_TIMEOUT<\/code> - connection timeout in seconds. Default <code>10<\/code>.<\/li>\n<li><code>ZENMUX_API_KEY<\/code> - the API key, as an alternative to the Connectors screen.<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to ZenMUX, a service provided by NexaMind Singapore Pte. Ltd. The\nconnection is required to generate AI output. The plugin sends your prompts to ZenMUX through\nits API and displays the generated result in WordPress. No other external service is used.<\/p>\n\n<p>Data is sent only when an AI request is made while a ZenMUX model is selected or preferred,\nand only after the site administrator has configured a ZenMUX API key. Each request sends:<\/p>\n\n<ul>\n<li>The prompt, conversation messages, and any system instruction.<\/li>\n<li>Attached image data, or a reference to it, when the request contains an image.<\/li>\n<li>Tool and function declarations, and the JSON schema used for structured output, when the request uses them.<\/li>\n<li>The configured model ID and the generation settings for the request, such as token limits, temperature, stop sequences, image size, and quality.<\/li>\n<li>The ZenMUX API key stored in <strong>Settings &gt; Connectors<\/strong>, sent as the Authorization header.<\/li>\n<\/ul>\n\n<p>Requests go to the ZenMUX API base URL, <code>https:\/\/zenmux.ai\/api\/v1<\/code> by default. The plugin\ncontacts these endpoints:<\/p>\n\n<ul>\n<li><code>GET \/models<\/code> - lists the available models.<\/li>\n<li><code>POST \/chat\/completions<\/code> - text and vision generation.<\/li>\n<li><code>POST \/images\/generations<\/code> - image generation.<\/li>\n<li><code>POST \/images\/edits<\/code> - image editing.<\/li>\n<\/ul>\n\n<p>Nothing is sent to the plugin author or to any other service.<\/p>\n\n<p>ZenMUX documentation: https:\/\/zenmux.ai\/docs\/\nZenMUX terms of service: https:\/\/zenmux.ai\/docs\/terms-of-service.html\nZenMUX privacy policy: https:\/\/zenmux.ai\/docs\/privacy.html<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20a%20zenmux%20api%20key%3F\"><h3>Where do I get a ZenMUX API key?<\/h3><\/dt>\n<dd><p>Create one at https:\/\/zenmux.ai\/platform\/pay-as-you-go and save it in <strong>Settings &gt; Connectors<\/strong>.<\/p><\/dd>\n<dt id=\"which%20models%20can%20i%20use%3F\"><h3>Which models can I use?<\/h3><\/dt>\n<dd><p>The plugin lists the models reported by ZenMUX's <code>GET \/models<\/code> endpoint and classifies them by\ntheir input and output modalities. Text models support chat, tools, and vision where the model\nreports image input. Image models support generation and, when they accept image input, image\nediting.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20without%20the%20connectors%20screen%3F\"><h3>Does the plugin work without the Connectors screen?<\/h3><\/dt>\n<dd><p>Yes. Providing <code>ZENMUX_API_KEY<\/code> as an environment variable or PHP constant also connects the\nprovider.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: text and vision generation, image generation, image editing, and a model\ncatalog read from ZenMUX.<\/li>\n<\/ul>","raw_excerpt":"ZenMUX provider for the WordPress AI Client.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/383981","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=383981"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bestony"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=383981"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=383981"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=383981"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=383981"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=383981"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=383981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}