{"id":351004,"date":"2026-08-26T18:29:48","date_gmt":"2026-08-26T18:29:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-provider-for-fal-ai\/"},"modified":"2026-08-26T18:29:39","modified_gmt":"2026-08-26T18:29:39","slug":"ai-provider-for-fal-ai","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ai-provider-for-fal-ai\/","author":13827860,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.12","stable_tag":"1.1.12","tested":"7.1","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"AI Provider for fal.ai","header_author":"Krafty Sprouts Media, LLC","header_description":"fal.ai image-generation provider for the WordPress AI Client (Seedream, GPT Image, Nano Banana, Flux, and related models).","assets_banners_color":"","last_updated":"2026-08-26 18:29:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ai-provider-for-fal-ai\/","header_author_uri":"https:\/\/kraftysprouts.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.12":{"tag":"1.1.12","author":"iamkingsleyf","date":"2026-08-26 18:29:39","revision":3667629}},"upgrade_notice":{"1.1.6":"<p>Clearer generation notice and auto-save after featured-image generation completes.<\/p>","1.1.5":"<p>Prevents duplicate featured-image generation clicks (and extra fal charges) when the editor sidebar switches.<\/p>","1.1.4":"<p>Uses fal\u2019s queue API so slow image models no longer time out while fal still finishes the job.<\/p>","1.1.3":"<p>Connectors no longer reports fal as Connected without an API key.<\/p>","1.0.1":"<p>Plugin Check \/ WordPress.org compliance fixes.<\/p>","1.0.0":"<p>Initial release. Activate, then add your fal API key under Settings \u2192 Connectors.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.12"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2353,259397,277712,151837,25198],"plugin_category":[],"plugin_contributors":[267025],"plugin_business_model":[],"class_list":["post-351004","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-connectors","plugin_tags-fal","plugin_tags-flux","plugin_tags-image-generation","plugin_contributors-iamkingsleyf","plugin_committers-iamkingsleyf"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ai-provider-for-fal-ai.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>AI Provider for fal.ai is a <strong>standalone<\/strong> WordPress plugin. It integrates <a href=\"https:\/\/fal.ai\/\">fal.ai<\/a> with the WordPress <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_ai_client_prompt\/\">AI Client<\/a> and <a href=\"https:\/\/make.wordpress.org\/core\/2026\/03\/18\/introducing-the-connectors-api-in-wordpress-7-0\/\">Connectors<\/a> APIs.<\/p>\n\n<p>It is not tied to any other commercial plugin. Any theme, plugin, or custom code that uses <code>wp_ai_client_prompt()-&gt;generateImage()<\/code> can use fal once this provider is active and an API key is configured.<\/p>\n\n<p>After you activate the plugin and save a fal API key under <strong>Settings \u2192 Connectors<\/strong>, image generation requests that the AI Client routes to fal run through Flux, Recraft, and related models \u2014 without each consumer embedding fal-specific HTTP code or storing API keys itself.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Image generation with Seedream 5.0 Pro, GPT Image 2, Nano Banana Pro\/2, Flux, and Recraft V3<\/li>\n<li>Appears automatically on <strong>Settings \u2192 Connectors<\/strong> (API key authentication)<\/li>\n<li>Uses fal\u2019s official <code>FAL_KEY<\/code> environment variable \/ PHP constant when set<\/li>\n<li>Sends the correct <code>Authorization: Key \u2026<\/code> header required by fal<\/li>\n<\/ul>\n\n<p><strong>Requirements<\/strong><\/p>\n\n<ul>\n<li>PHP 7.4 or higher<\/li>\n<li>WordPress 7.0 or higher (built-in AI Client), <strong>or<\/strong> WordPress 6.9 with the <a href=\"https:\/\/github.com\/WordPress\/php-ai-client\">php-ai-client<\/a> package available<\/li>\n<li>A fal.ai API key from <a href=\"https:\/\/fal.ai\/dashboard\/keys\">fal.ai Dashboard \u2192 Keys<\/a><\/li>\n<\/ul>\n\n<p>This plugin does <strong>not<\/strong> contact fal until another plugin or custom code requests image generation through the AI Client, or until Connectors checks provider availability.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>fal.ai Model APIs<\/strong> to generate images when an AI Client consumer requests it.<\/p>\n\n<ul>\n<li><strong>Endpoints:<\/strong> <code>https:\/\/queue.fal.run\/<\/code> (submit \/ status \/ result), <code>https:\/\/api.fal.ai\/v1\/models\/requests\/by-endpoint<\/code> (authenticated request-history recovery), and related fal CDN URLs for completed images. Legacy sync <code>https:\/\/fal.run\/<\/code> is not used by this provider\u2019s image path.<\/li>\n<li><strong>Data sent:<\/strong> fal API key (<code>Authorization: Key \u2026<\/code> header); prompt text and generation parameters supplied by the calling code.<\/li>\n<li><strong>When:<\/strong> only when a consumer requests image generation through the AI Client or via <code>FalQueueClient<\/code>, or when Connectors validates that the provider is configured\/available.<\/li>\n<li><strong>Service provider:<\/strong> <a href=\"https:\/\/fal.ai\/\">fal.ai<\/a><\/li>\n<li><strong>Terms:<\/strong> <a href=\"https:\/\/fal.ai\/legal\/terms-of-service\">https:\/\/fal.ai\/legal\/terms-of-service<\/a><\/li>\n<li><strong>Privacy:<\/strong> <a href=\"https:\/\/fal.ai\/legal\/privacy-policy\">https:\/\/fal.ai\/legal\/privacy-policy<\/a><\/li>\n<\/ul>\n\n<p>You are responsible for complying with fal\u2019s terms and with applicable privacy laws for any content you send.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>This plugin does not set cookies, does not track users, and does not phone home to the plugin author beyond normal plugin updates after listing on WordPress.org.<\/p>\n\n<p>API credentials are handled by WordPress Connectors (or <code>FAL_KEY<\/code>). Generated image binaries are returned to the calling code (for example to sideload into the Media Library); this plugin does not persist generation history of its own.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ai-provider-for-fal-ai<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Activate <strong>AI Provider for fal.ai<\/strong> through the <strong>Plugins<\/strong> screen.<\/li>\n<li>Go to <strong>Settings \u2192 Connectors<\/strong>, open the fal.ai card, enter your API key, and save.\nAlternatively, define the <code>FAL_KEY<\/code> environment variable or PHP constant.<\/li>\n<li>Call image generation from any AI Client consumer (core features, third-party plugins, or your own code).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20a%20fal.ai%20api%20key%3F\"><h3>How do I get a fal.ai API key?<\/h3><\/dt>\n<dd><p>Create an account at <a href=\"https:\/\/fal.ai\/\">fal.ai<\/a> and generate a key under <a href=\"https:\/\/fal.ai\/dashboard\/keys\">Dashboard \u2192 Keys<\/a>.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20store%20my%20api%20key%3F\"><h3>Does this plugin store my API key?<\/h3><\/dt>\n<dd><p>No. Keys are stored by WordPress <strong>Connectors<\/strong> (encrypted), or you can supply <code>FAL_KEY<\/code> via environment \/ <code>wp-config.php<\/code> constant. This plugin does not write its own options for credentials.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20without%20the%20wordpress%20ai%20client%3F\"><h3>Does this plugin work without the WordPress AI Client?<\/h3><\/dt>\n<dd><p>No. On WordPress 7.0+ the AI Client is built in. On WordPress 6.9 you must have the PHP AI Client package available. Without it, the plugin loads but does not register a provider.<\/p><\/dd>\n<dt id=\"which%20models%20are%20available%3F\"><h3>Which models are available?<\/h3><\/dt>\n<dd><p>Version 1.1.0 ships a static catalog including Seedream 5.0 Pro, GPT Image 2, Nano Banana Pro, Nano Banana 2, Flux Schnell\/Dev\/Pro\/Ultra, and Recraft V3. Prefer a model with <code>using_model_preference()<\/code> \/ provider preference APIs when your consumer supports it; otherwise the AI Client selects a suitable image-capable model.<\/p><\/dd>\n<dt id=\"who%20can%20use%20this%20provider%3F\"><h3>Who can use this provider?<\/h3><\/dt>\n<dd><p>Anyone. It registers with the shared WordPress AI Client registry. Themes, plugins, mu-plugins, and custom PHP that call <code>wp_ai_client_prompt()<\/code> can request images once fal is configured in Connectors.<\/p><\/dd>\n<dt id=\"what%20data%20leaves%20my%20site%3F\"><h3>What data leaves my site?<\/h3><\/dt>\n<dd><p>When image generation runs, the fal API key and the text prompt (plus generation parameters such as image size) are sent to fal.ai. See <strong>External services<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.12<\/h4>\n\n<ul>\n<li>Verified WordPress 7.1 compatibility (\"Tested up to\" bump).<\/li>\n<li>External services section now links fal.ai's canonical legal pages (terms of service \/ privacy policy).<\/li>\n<\/ul>\n\n<h4>1.1.11<\/h4>\n\n<ul>\n<li>Slimmed fal request-history payloads to prompt + image URL so large recoveries do not exhaust WordPress memory.<\/li>\n<\/ul>\n\n<h4>1.1.10<\/h4>\n\n<ul>\n<li>Added authenticated recent-request history lookup with input\/output payloads so consumers can recover orphaned completed generations automatically.<\/li>\n<li>Fixed request-ID recovery returning HTTP 405 by reading completed output from fal's durable history payload.<\/li>\n<li>Added submit\/poll\/fetch\/history lifecycle tests.<\/li>\n<\/ul>\n\n<h4>1.1.9<\/h4>\n\n<ul>\n<li>FalQueueClient::fetchByRequestId() for recovering completed queue results by model + request id.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Added FalQueueClient for non-blocking fal queue submit\/status\/fetch (parallel batch consumers).<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Seedream 16:9 \/ landscape now requests 2048\u00d71152 (cheap fal pixel-area tier) instead of a larger enum size.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Clearer featured-image generation notice (don\u2019t click Generate again; don\u2019t click into the post content).<\/li>\n<li>Auto-saves the post when featured-image generation completes so the assignment is not lost if the tab closes.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Added an editor guard so accidental Post\u2192Block switches \/ second clicks during \u201cGenerate featured image\u201d do not start another paid fal request.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fixed timeouts on slow models (e.g. Seedream): use fal queue submit\/poll\/result instead of one long fal.run request.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed Connectors \u201cConnected\u201d status showing without an API key (availability now requires a non-empty key).<\/li>\n<li>Injects FAL_KEY from the environment when Connectors does not pass a DB key.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed a fatal\/notice when remapping the fal Connectors card: unregister the auto-discovered connector before re-registering with FAL_KEY.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed generated images so they include inline base64 data for WordPress AI Client consumers that do not accept remote URLs alone.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added Seedream 5.0 Pro, GPT Image 2, Nano Banana Pro, and Nano Banana 2 to the model catalog.<\/li>\n<li>Safer per-model request parameter mapping for image_size vs aspect_ratio.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Plugin Check fixes: escape exception messages, ABSPATH guard on autoload, remove discouraged textdomain loader, limit readme tags, use connector registry instead of <code>wp_get_connector()<\/code>.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Registers fal.ai (<code>fal-ai<\/code>) with the WordPress AI Client \/ Connectors.<\/li>\n<li>Image generation for Flux Schnell, Flux Dev, Flux Pro, Flux Pro Ultra, and Recraft V3.<\/li>\n<li>Uses <code>Authorization: Key<\/code> and the official <code>FAL_KEY<\/code> credential name.<\/li>\n<\/ul>","raw_excerpt":"Standalone fal.ai image-generation provider for the WordPress AI Client (Flux, Recraft, and related models).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351004","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=351004"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/iamkingsleyf"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351004"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351004"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351004"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351004"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351004"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}