{"id":316721,"date":"2026-05-29T16:25:17","date_gmt":"2026-05-29T16:25:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/aipcf-ai-provider-for-cloudflare\/"},"modified":"2026-05-29T18:46:18","modified_gmt":"2026-05-29T18:46:18","slug":"aipcf-ai-provider-for-cloudflare","status":"publish","type":"plugin","link":"https:\/\/ug.wordpress.org\/plugins\/aipcf-ai-provider-for-cloudflare\/","author":5876920,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.0","requires":"7.0","requires_php":"7.4","requires_plugins":null,"header_name":"AIPCF - AI Provider for Cloudflare","header_author":"Abhishek Deshpande","header_description":"Run Cloudflare Workers AI models from your WordPress site \u2014 edge inference, free tier, data stays on Cloudflare's network.","assets_banners_color":"3e230f","last_updated":"2026-05-29 18:46:18","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/whoisabhi.com\/plugins\/aipcf\/","header_author_uri":"https:\/\/whoisabhi.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"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":"deshabhishek007","date":"2026-05-29 16:24:58"},"1.0.1":{"tag":"1.0.1","author":"deshabhishek007","date":"2026-05-29 17:53:54"},"1.0.2":{"tag":"1.0.2","author":"deshabhishek007","date":"2026-05-29 18:14:08"},"1.0.3":{"tag":"1.0.3","author":"deshabhishek007","date":"2026-05-29 18:46:18"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3553852,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3553852,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3553852,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3553852,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3554062,"resolution":"1","location":"assets","locale":"","width":961,"height":659},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3554062,"resolution":"2","location":"assets","locale":"","width":1281,"height":830},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3554062,"resolution":"3","location":"assets","locale":"","width":1215,"height":687},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3554062,"resolution":"4","location":"assets","locale":"","width":1131,"height":799},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3554062,"resolution":"5","location":"assets","locale":"","width":953,"height":682},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3554062,"resolution":"6","location":"assets","locale":"","width":1220,"height":648},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3554062,"resolution":"7","location":"assets","locale":"","width":1462,"height":737},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3554062,"resolution":"8","location":"assets","locale":"","width":1300,"height":828}},"screenshots":{"1":"Settings page before entering credentials \u2014 enter your Account ID here.","2":"Adding your API key via Settings \u2192 Connectors.","3":"Cloudflare Workers AI shows as Connected on the Connectors screen.","4":"Connector Approvals \u2014 allow AIPCF to use the Cloudflare connector.","5":"Settings page after a successful connection test.","6":"AI-powered content suggestions working in the WordPress block editor.","7":"AI-generated meta description for a page.","8":"AI Request Logs showing Cloudflare Workers AI handling requests."}},"plugin_section":[],"plugin_tags":[2353,3882,223625,253206,264978],"plugin_category":[],"plugin_contributors":[138954,138953],"plugin_business_model":[],"class_list":["post-316721","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-cloudflare","plugin_tags-llama","plugin_tags-mistral","plugin_tags-workers-ai","plugin_contributors-deshabhishek007","plugin_contributors-fitehal","plugin_committers-deshabhishek007"],"banners":{"banner":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/banner-772x250.png?rev=3553852","banner_2x":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/banner-1544x500.png?rev=3553852","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/icon-128x128.png?rev=3553852","icon_2x":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/icon-256x256.png?rev=3553852","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-1.png?rev=3554062","caption":"Settings page before entering credentials \u2014 enter your Account ID here."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-2.png?rev=3554062","caption":"Adding your API key via Settings \u2192 Connectors."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-3.png?rev=3554062","caption":"Cloudflare Workers AI shows as Connected on the Connectors screen."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-4.png?rev=3554062","caption":"Connector Approvals \u2014 allow AIPCF to use the Cloudflare connector."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-5.png?rev=3554062","caption":"Settings page after a successful connection test."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-6.png?rev=3554062","caption":"AI-powered content suggestions working in the WordPress block editor."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-7.png?rev=3554062","caption":"AI-generated meta description for a page."},{"src":"https:\/\/ps.w.org\/aipcf-ai-provider-for-cloudflare\/assets\/screenshot-8.png?rev=3554062","caption":"AI Request Logs showing Cloudflare Workers AI handling requests."}],"raw_content":"<!--section=description-->\n<p>This plugin connects WordPress to <a href=\"https:\/\/developers.cloudflare.com\/workers-ai\/\">Cloudflare Workers AI<\/a>, making its hosted large language models available to any WordPress feature or plugin that uses the WordPress AI Client (introduced in WordPress 7.0).<\/p>\n\n<h4>Supported models<\/h4>\n\n<p>The plugin fetches the full list of available text generation models directly from your Cloudflare account and shows them in the settings dropdown, so you always see what is actually available to you. The list is cached for 12 hours and refreshed whenever you save your credentials.<\/p>\n\n<p>A built-in fallback list is used when your credentials are not yet configured or the API is unreachable. See <a href=\"https:\/\/developers.cloudflare.com\/workers-ai\/models\/\">Cloudflare's model catalogue<\/a> for the current full list.<\/p>\n\n<h4>Why Cloudflare Workers AI?<\/h4>\n\n<p>Unlike hosted AI services that charge per seat or per API call at a premium rate, Cloudflare Workers AI runs inference at the edge on a usage-based model. The free tier covers 10,000 neurons per day (Cloudflare's billing unit \u2014 roughly 200\u2013500 average generation requests) \u2014 enough for a content-heavy site to generate post summaries, meta descriptions, and moderation checks without any cost. Paid usage is billed per neuron, making it significantly cheaper at scale compared to per-token pricing from closed providers.<\/p>\n\n<p>Your prompts and completions also never leave Cloudflare's network to reach a third-party AI company's servers, which matters for sites with privacy or data-residency requirements.<\/p>\n\n<h4>What you need<\/h4>\n\n<ol>\n<li>A <a href=\"https:\/\/dash.cloudflare.com\/sign-up\">Cloudflare account<\/a> with Workers AI enabled.<\/li>\n<li>Your <strong>Account ID<\/strong> \u2014 visible on the Workers AI dashboard sidebar.<\/li>\n<li>A <strong>Cloudflare API token<\/strong> with the \"Workers AI - Edit\" permission.<\/li>\n<\/ol>\n\n<h3>Usage<\/h3>\n\n<p>Once the plugin is configured, any WordPress AI Client-compatible feature or plugin will automatically use Cloudflare Workers AI as its provider.<\/p>\n\n<p>Developers can also call it directly:<\/p>\n\n<pre><code>use WordPress\\AiClient\\AiClient;\n\n$result = AiClient::prompt( 'Summarise this post in two sentences.' )\n    -&gt;usingProvider( 'cloudflare-workers-ai' )\n    -&gt;usingModel( '@cf\/meta\/llama-4-scout-17b-16e-instruct' )\n    -&gt;generateTextResult();\n\necho $result-&gt;toText();\n<\/code><\/pre>\n\n<p>Switch models without changing any other code \u2014 swap <code>llama-4-scout-17b-16e-instruct<\/code> for <code>qwen2.5-coder-32b-instruct<\/code> and you are running a coding assistant instead.<\/p>\n\n<p>This plugin does not add a chatbot or front-end widget by itself. It registers the provider so that other AI Client-powered features, plugins, and themes can use it.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to the Cloudflare Workers AI REST API to run AI inference.<\/p>\n\n<p>The service is used to:<\/p>\n\n<ul>\n<li>Run text generation requests against the model you select.<\/li>\n<li>Verify your Account ID and API token when you click \"Test connection\".<\/li>\n<\/ul>\n\n<h4>What data is sent and when<\/h4>\n\n<p>When you click \"Test connection\" in the plugin settings, your Account ID and API token are sent to <code>https:\/\/api.cloudflare.com\/client\/v4\/accounts\/{account_id}\/ai\/models\/search<\/code> to verify the credentials. No prompt data is sent during this check.<\/p>\n\n<p>When a compatible AI Client feature generates text, the plugin sends your API token, the selected model ID, and the prompt messages to <code>https:\/\/api.cloudflare.com\/client\/v4\/accounts\/{account_id}\/ai\/run\/{model_id}<\/code>. Requests are only made when AI generation is explicitly triggered \u2014 nothing is sent automatically in the background.<\/p>\n\n<h4>Service provider<\/h4>\n\n<p>Cloudflare Workers AI is provided by Cloudflare, Inc.<\/p>\n\n<ul>\n<li>Cloudflare Workers AI documentation: https:\/\/developers.cloudflare.com\/workers-ai\/<\/li>\n<li>Cloudflare Terms of Service: https:\/\/www.cloudflare.com\/terms\/<\/li>\n<li>Cloudflare Privacy Policy: https:\/\/www.cloudflare.com\/privacypolicy\/<\/li>\n<\/ul>\n\n<h3>Roadmap<\/h3>\n\n<p>Current version supports Workers AI edge inference. AI Gateway support for caching, rate-limiting, and analytics coming soon.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Settings \u2192 Cloudflare Workers AI<\/strong>.<\/li>\n<li>Enter your Cloudflare <strong>Account ID<\/strong> and <strong>API token<\/strong>.<\/li>\n<li>Click <strong>Save Changes<\/strong>, then <strong>Test connection<\/strong> to verify.<\/li>\n<li>Use the <strong>Text generation model<\/strong> dropdown to choose your preferred model. The full list is fetched live from your Cloudflare account and cached for 12 hours.<\/li>\n<\/ol>\n\n<h4>wp-config.php constants (optional)<\/h4>\n\n<p>You can define credentials in <code>wp-config.php<\/code> instead of the settings page:<\/p>\n\n<pre><code>define( 'CLOUDFLARE_WORKERS_AI_ACCOUNT_ID', 'your-account-id' );\ndefine( 'CLOUDFLARE_WORKERS_AI_API_TOKEN',  'your-api-token' );\n<\/code><\/pre>\n\n<p>You can also hard-code the default model (the settings page dropdown takes precedence over this constant):<\/p>\n\n<pre><code>define( 'CLOUDFLARE_WORKERS_AI_DEFAULT_MODEL', '@cf\/meta\/llama-3.3-70b-instruct-fp8-fast' );\n<\/code><\/pre>\n\n<p>Environment variables with the same names are also supported.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20account%20id%3F\"><h3>Where do I find my Account ID?<\/h3><\/dt>\n<dd><p>Go to <a href=\"https:\/\/dash.cloudflare.com\/?to=\/:account\/home\">dash.cloudflare.com<\/a> and select your account. The Account ID appears in the right-hand sidebar of the account home page.<\/p><\/dd>\n<dt id=\"how%20do%20i%20create%20an%20api%20token%3F\"><h3>How do I create an API token?<\/h3><\/dt>\n<dd><p>Visit <a href=\"https:\/\/dash.cloudflare.com\/profile\/api-tokens\">dash.cloudflare.com\/profile\/api-tokens<\/a>, click <strong>Create Token<\/strong>, and select the <strong>Workers AI<\/strong> template (or manually add \"Workers AI - Edit\" permission).<\/p><\/dd>\n<dt id=\"can%20i%20choose%20which%20model%20wordpress%20ai%20features%20use%3F\"><h3>Can I choose which model WordPress AI features use?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Settings \u2192 Cloudflare Workers AI<\/strong> and use the <strong>Text generation model<\/strong> dropdown. The list is fetched live from your Cloudflare account (all text generation models available to you are shown) and cached for 12 hours.<\/p>\n\n<p>The default when nothing is selected is Meta Llama 4 Scout 17B \u2014 a good all-round starting point. You can also override the model in <code>wp-config.php<\/code> \u2014 the settings page takes precedence over the constant.<\/p><\/dd>\n<dt id=\"results%20look%20off%20%E2%80%94%20what%20should%20i%20try%3F\"><h3>Results look off \u2014 what should I try?<\/h3><\/dt>\n<dd><p>Different models have different strengths, response styles, and context lengths. If the default model isn't producing the results you want:<\/p>\n\n<ul>\n<li>Try <strong>Meta Llama 3.3 70B<\/strong> for richer, more detailed output.<\/li>\n<li>Try <strong>Meta Llama 3.2 3B<\/strong> or <strong>Meta Llama 3.1 8B<\/strong> for faster, lighter responses.<\/li>\n<li>Try <strong>Qwen QwQ 32B<\/strong> or <strong>DeepSeek R1<\/strong> for reasoning-heavy tasks.<\/li>\n<\/ul>\n\n<p>Swap models from the <strong>Text generation model<\/strong> dropdown in Settings \u2014 no code changes needed.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20support%20image%20generation%3F\"><h3>Does this plugin support image generation?<\/h3><\/dt>\n<dd><p>Not in version 1.0. Text generation is supported in this release. Image generation support via Cloudflare Workers AI is planned for a future version.<\/p><\/dd>\n<dt id=\"i%20get%20%22connector%20has%20not%20been%20approved%22%20%E2%80%94%20what%20does%20that%20mean%3F\"><h3>I get \"connector has not been approved\" \u2014 what does that mean?<\/h3><\/dt>\n<dd><p>WordPress requires site administrators to explicitly allow each AI connector before any feature can use it. Go to <strong>Settings \u2192 Connectors<\/strong>, find Cloudflare Workers AI, and click <strong>Allow<\/strong>. You only need to do this once.<\/p><\/dd>\n<dt id=\"does%20this%20work%20without%20wordpress%207.0%3F\"><h3>Does this work without WordPress 7.0?<\/h3><\/dt>\n<dd><p>No. The WordPress AI Client API is introduced in WordPress 7.0. The plugin will not register itself if the AI Client is not available.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed \"API token is not set\" error on the Test Connection button when the API key is managed via Settings \u2192 Connectors. The plugin now reads the key from the AI Client registry as a final fallback so all credential sources are covered.<\/li>\n<li>Updated model selector to note that different models produce different results, with the default recommended for most use cases.<\/li>\n<li>Added screenshots and model troubleshooting guidance.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed \"It was not possible to connect to the provider using this key\" error on the Connectors screen. The plugin now reads the API key from the AI Client registry so keys set via Settings \u2192 Connectors are correctly recognised. Token validation no longer requires the Account ID to be saved first.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed broken Cloudflare dashboard link \u2014 updated to the Workers AI API quick-start page.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Text generation support \u2014 live model list fetched from your Cloudflare account, with a built-in fallback.<\/li>\n<li>Settings page with Account ID and API token fields.<\/li>\n<li>Connection test button.<\/li>\n<li>Support for wp-config.php constants and environment variables.<\/li>\n<\/ul>","raw_excerpt":"Run Cloudflare Workers AI models from your WordPress site \u2014 edge inference, a generous free tier, and your data stays on Cloudflare&#039;s network.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/316721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=316721"}],"author":[{"embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/deshabhishek007"}],"wp:attachment":[{"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=316721"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=316721"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=316721"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=316721"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=316721"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ug.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=316721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}