{"id":6,"date":"2026-09-17T20:52:43","date_gmt":"2026-09-17T20:52:43","guid":{"rendered":"https:\/\/wpcontentwriter.com\/kb\/ai-providers-and-failover\/"},"modified":"2026-09-17T20:52:43","modified_gmt":"2026-09-17T20:52:43","slug":"ai-providers-and-failover","status":"publish","type":"page","link":"https:\/\/wpcontentwriter.com\/kb\/ai-providers-and-failover\/","title":{"rendered":"Configuring AI providers"},"content":{"rendered":"<p>Five providers behind one interface. You supply the key and pay that provider directly; we never see it and never mark up model costs.<\/p>\n<h2>The five<\/h2>\n<h3>Google Gemini<\/h3>\n<p>Has a free tier. This is what a new install starts on. On the free tier Google may use what you send to improve its products; the paid tier does not.<\/p>\n<h3>NVIDIA NIM<\/h3>\n<p>Free credits, which NVIDIA describes as being for development. Check their terms before a production site depends on it.<\/p>\n<h3>OpenRouter<\/h3>\n<p>Has free models. OpenRouter says these carry low daily limits and are usually not suitable for production use.<\/p>\n<h3>Anthropic and OpenAI<\/h3>\n<p>No free tier. Both need a funded account billed by usage \u2014 and that is separate from any Claude or ChatGPT subscription you already pay for. A subscription does not include API access.<\/p>\n<h2>Keeping it working<\/h2>\n<h3>Model lists refresh daily<\/h3>\n<p>Each provider&#8217;s catalogue is fetched from that provider once a day, so the dropdown shows what your account can actually use \u2014 including models added since the last plugin release.<\/p>\n<h3>A withdrawn model is replaced<\/h3>\n<p>With the closest match from the same provider, and you are emailed. If nothing is close enough, nothing changes and the email says so \u2014 an unrelated model quietly writing your articles is worse than generation stopping.<\/p>\n<h3>Your provider is never changed<\/h3>\n<p>That is a key, a bill and a contract, not a detail to swap because a model moved.<\/p>\n<h3>Failover, in order<\/h3>\n<p>Set up to five model combinations. A failure moves to the next rather than losing the article, and a dashboard notice tells you when your first choice is the one failing.<\/p>\n<h2>Keeping keys out of the database<\/h2>\n<p>Any provider key can be defined in <code>wp-config.php<\/code> instead of stored in the database. The settings screen tells you the constant name for each provider. A key set that way takes precedence over anything saved in the plugin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Five providers behind one interface. You supply the key and pay that provider directly; we never see it and never mark up model costs. The five Google Gemini Has a free tier.&hellip;<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":20,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":0,"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/pages\/6\/revisions"}],"wp:attachment":[{"href":"https:\/\/wpcontentwriter.com\/kb\/wp-json\/wp\/v2\/media?parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}