{"id":345430,"date":"2026-07-25T14:25:47","date_gmt":"2026-07-25T14:25:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-nano-gpt\/"},"modified":"2026-07-25T14:25:14","modified_gmt":"2026-07-25T14:25:14","slug":"modeltrestle-ai-connector-for-nano-gpt","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/modeltrestle-ai-connector-for-nano-gpt\/","author":355807,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.0.5","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"ModelTrestle AI Connector for Nano-GPT","header_author":"Brent Ozar","header_description":"Nano-GPT text and image generation provider for the WordPress AI Client.","assets_banners_color":"","last_updated":"2026-07-25 14:25:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/BrentOzarULTD\/ai-provider-for-nano-gpt","header_author_uri":"https:\/\/www.brentozar.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":603,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"BrentO","date":"2026-07-25 14:25:14"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3622537,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3622537,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,5739,25308,25198,273287],"plugin_category":[],"plugin_contributors":[273288,133017],"plugin_business_model":[],"class_list":["post-345430","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-artificial-intelligence","plugin_tags-connector","plugin_tags-image-generation","plugin_tags-nano-gpt","plugin_contributors-brento","plugin_contributors-psykro","plugin_committers-brento"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/modeltrestle-ai-connector-for-nano-gpt\/assets\/icon-128x128.png?rev=3622537","icon_2x":"https:\/\/ps.w.org\/modeltrestle-ai-connector-for-nano-gpt\/assets\/icon-256x256.png?rev=3622537","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>ModelTrestle connects the WordPress AI Client to Nano-GPT's OpenAI-compatible API.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Text generation through Nano-GPT's current text model catalog<\/li>\n<li>Text-to-image generation through the current image model catalog<\/li>\n<li>Subscription-included versus paid labels in model selectors<\/li>\n<li>Model family, release month, and context size in model labels when available<\/li>\n<li>USD and Nano (XNO) balance display under Settings &gt; Nano-GPT<\/li>\n<li>Searchable and sortable model catalog with preferred text, vision, and image models<\/li>\n<li>Optional, privacy-aware local activity logging with source, duration, errors, and token counts<\/li>\n<li>Native WordPress Connectors configuration<\/li>\n<li>Automatic provider and model discovery<\/li>\n<\/ul>\n\n<p>\"Subscription-included\" means Nano-GPT reports that a text model is covered by the authenticated account's subscription. It does not mean universal or unlimited free access. Image models are labeled pay-as-you-go.<\/p>\n\n<p>This maintained fork preserves the history and credit of Jonathan Bossenger's original OpenRouter provider.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Nano-GPT at https:\/\/nano-gpt.com\/.<\/p>\n\n<p>It sends the configured API key to retrieve the current text and image model catalogs, classify subscription-included text models, perform generation, and retrieve account balances. Prompts, attachments, generation settings, and generated content are sent when a site feature requests generation. Nano-GPT may send request content to the operator of the selected model.<\/p>\n\n<p>A Nano-GPT API key is required and can be obtained from https:\/\/nano-gpt.com\/api.<\/p>\n\n<p>Nano-GPT API documentation: https:\/\/docs.nano-gpt.com\/\nNano-GPT terms of service: https:\/\/nano-gpt.com\/legal\/terms-of-service\nNano-GPT privacy policy: https:\/\/nano-gpt.com\/legal\/privacy-policy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/modeltrestle-ai-connector-for-nano-gpt\/<\/code>.<\/li>\n<li>Activate the plugin through the Plugins screen.<\/li>\n<li>Open Settings &gt; Connectors and configure the Nano-GPT API key.<\/li>\n<li>Open Settings &gt; Nano-GPT to verify the connection and view the balance.<\/li>\n<\/ol>\n\n<p>The <code>NANOGPT_API_KEY<\/code> environment variable or PHP constant can be used instead of storing the key in WordPress.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20a%20nano-gpt%20api%20key%3F\"><h3>How do I get a Nano-GPT API key?<\/h3><\/dt>\n<dd><p>Visit https:\/\/nano-gpt.com\/api and create an API key.<\/p><\/dd>\n<dt id=\"does%20%22subscription-included%22%20mean%20a%20model%20is%20free%20for%20everyone%3F\"><h3>Does \"Subscription-included\" mean a model is free for everyone?<\/h3><\/dt>\n<dd><p>No. It means Nano-GPT lists that text model as included for the API key's active subscription. Nano-GPT's plan limits and terms still apply.<\/p><\/dd>\n<dt id=\"where%20can%20i%20see%20my%20remaining%20balance%3F\"><h3>Where can I see my remaining balance?<\/h3><\/dt>\n<dd><p>Open Settings &gt; Nano-GPT. The USD and Nano balances are cached for five minutes; use the refresh button to request a current value.<\/p><\/dd>\n<dt id=\"what%20image%20operations%20are%20supported%3F\"><h3>What image operations are supported?<\/h3><\/dt>\n<dd><p>The initial release supports text-to-image generation. Image editing and image-to-image workflows are not yet supported.<\/p><\/dd>\n<dt id=\"can%20i%20troubleshoot%20recent%20nano-gpt%20calls%3F\"><h3>Can I troubleshoot recent Nano-GPT calls?<\/h3><\/dt>\n<dd><p>Yes. Open Settings &gt; Nano-GPT &gt; Activity. Logging is disabled by default. When enabled, the plugin stores a bounded local history with model, type, status, duration, token counts, request context, and best-effort caller attribution.<\/p>\n\n<p>Storing prompts, responses, and generation settings is a separate opt-in because that content may be personal, confidential, or unpublished. API credentials are redacted, inline base64 image data is omitted, and URL query strings are not retained. The default retention is 7 days and 500 calls, and administrators can clear the log at any time. Deleting the plugin removes its activity table and activity settings.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Replaced OpenRouter with Nano-GPT text generation and dynamic model discovery.<\/li>\n<li>Added Nano-GPT text-to-image generation.<\/li>\n<li>Added subscription-aware billing labels, model family, release month, and context size.<\/li>\n<li>Added WordPress Connectors integration and account balance display.<\/li>\n<li>Added preferred-model settings with catalog filtering and sorting.<\/li>\n<li>Added optional local activity logging with privacy controls, filters, caller attribution, errors, timing, and bounded retention.<\/li>\n<li>Fixed image size and orientation support for Nano-GPT's model-specific resolution formats.<\/li>\n<\/ul>","raw_excerpt":"Nano-GPT text and image generation for the WordPress AI Client.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/345430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=345430"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brento"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=345430"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=345430"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=345430"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=345430"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=345430"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=345430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}