If you run a WordPress or WooCommerce site that sends AI requests to OpenAI, Claude, or another single provider, you already know the pain: one outage takes down your entire chatbot, content assistant, or product recommendation engine. You also know the cost pain when you hit rate limits or your provider raises prices. Fugu AI solves both problems by routing each request to the best-suited model from a pool of providers, splitting complex tasks across specialized models and failing over automatically when one service goes down. This article shows you exactly how Fugu orchestrates multiple AI models for your WordPress site, what setup paths exist, and the three specific failure modes you will hit when switching from a single-model integration.
The setup
Fugu AI is not a WordPress plugin you install from the repository. It is an API endpoint you point your existing AI integration toward, replacing a single-provider endpoint like api.openai.com or api.anthropic.com. You configure your AI plugin or custom code to send requests to Fugu's API, which then routes each request to one or more underlying models based on the task type, cost constraints, and current provider availability. This does not change your WordPress settings menu or add a new admin screen.
How Fugu routes requests across multiple models
Fugu functions as a multi-agent orchestrator developed by Sakana AI, a Tokyo-based research lab. When your WordPress site sends a prompt to Fugu's API endpoint, the system evaluates the request and decides which external model or combination of models should handle it. For a simple product description rewrite, Fugu might send the job to a fast, cheap model like GPT-3.5 Turbo. For a multi-step reasoning task like generating a custom WooCommerce discount rule with validation logic, Fugu Ultra can split the task: one model drafts the rule structure, another validates the syntax, and a third checks for conflicts with existing rules.
Fugu launched on June 22, 2026, and offers four variants. Fugu balances performance and latency for general use. Fugu Ultra prioritizes answer quality by assembling different models for different subtasks within one request. Fugu Max optimizes for cost-performance, selecting the cheapest model that meets a minimum quality threshold. Fugu Cyber targets cybersecurity tasks, routing requests to models trained on security data. You select the variant when you configure your API endpoint URL, and you can switch variants without changing your WordPress code.

The orchestration happens server-side. Your WordPress plugin or custom function sends a standard JSON payload with your prompt and parameters. Fugu receives it, checks its internal routing rules, queries one or more underlying models in parallel or sequence, aggregates the responses, and returns a single unified answer to your site. This means you get the speed of a small model when appropriate and the depth of a large model when needed, without writing conditional logic in your WordPress theme or plugin.
Configuring your WordPress AI integration to use Fugu
Most WordPress AI plugins that support custom API endpoints will work with Fugu. If your plugin has an "API Base URL" field in its settings panel, you replace the OpenAI or Anthropic base URL with Fugu's endpoint. For example, if you use a custom GPT chatbot plugin, navigate to the plugin's settings screen, locate the API configuration section, and change the base URL from:
https://api.openai.com/v1
to:
https://api.fugu.ai/v1
You append the variant name as a query parameter if you want to use Fugu Ultra or another variant:
https://api.fugu.ai/v1?variant=ultra
Your API key changes, too. Instead of an OpenAI key, you generate a Fugu API key from the Fugu dashboard and paste it into your plugin's API key field. The plugin sends its requests exactly as before, but Fugu intercepts them and routes to the best model. If your plugin expects OpenAI-compatible response formatting, Fugu returns responses in that format by default. Most plugins designed for OpenAI's chat completions endpoint will accept Fugu's responses without modification.
If you built a custom integration using the OpenAI PHP library or direct cURL calls, you update your code to point to the new base URL and swap the API key. The request structure remains the same. Fugu's GitHub repository includes example code for common use cases, including a PHP snippet that mirrors the OpenAI client initialization pattern.
Handling multi-model responses in WooCommerce workflows
WooCommerce shops often chain AI requests: generate a product title, then write a meta description, then suggest related products. With a single-model setup, each request waits for the previous one to finish. Fugu Ultra can parallelize these steps when they do not depend on each other. You submit a batch request with three prompts, Fugu assigns each to a different model based on task type, executes them concurrently, and returns an array of responses.
This matters most when you auto-generate content for bulk product imports. If you import 200 products and need AI-generated descriptions for each, sending 200 sequential requests to a single model can take 15 minutes and cost $8 at OpenAI's GPT-4 pricing. Fugu Max routes each description request to the cheapest model that can handle simple product text, cutting cost by 60% and reducing total time to under 5 minutes by batching requests across multiple providers.
Your WooCommerce plugin or custom import script needs to support batch API requests. Many bulk-edit and CSV import plugins allow you to define a custom content generation callback. You write a function that sends an array of prompts to Fugu's batch endpoint and receives an array of responses. The function maps each response back to the corresponding product ID and saves it as the product description. If your import plugin does not support batch callbacks, you can hook into woocommerce_new_product and send individual requests, and Fugu will still save cost by routing each to a cheaper model when appropriate.
What breaks
API key permissions mismatch blocks certain models
Fugu routes requests to underlying providers like OpenAI, Anthropic, and Cohere. If your Fugu account does not have valid API keys configured for all providers Fugu might use, certain requests fail silently or fall back to a lower-quality model. You generate a Fugu API key from the Fugu dashboard, but you also need to add your own OpenAI, Anthropic, and other provider keys in the Fugu account settings under "Provider Credentials." If you skip this step, Fugu defaults to models that work without external keys, which may not include the best model for your task. The fix: log into the Fugu dashboard, navigate to Settings > Provider Credentials, and paste your OpenAI key, Anthropic key, and any other provider keys you want Fugu to use. Fugu tests each key and displays a green checkmark when it successfully authenticates. Without these keys, Fugu cannot route to those providers.
Response format changes break your parsing logic
Fugu aggregates responses from multiple models and returns a single JSON object. When you switch from OpenAI's API to Fugu, the response structure may include extra metadata fields Fugu adds, such as model_used or routing_path. If your WordPress code parses the response by extracting response['choices'][0]['message']['content'] and nothing else, the metadata fields do not affect you. But if you log or display the entire response object, or if you check specific field names that Fugu renames, your code throws undefined index errors. The fix: update your parsing logic to look for the standard OpenAI fields Fugu preserves, and ignore or optionally log the extra Fugu fields. Fugu's GitHub repository includes a response schema comparison that lists every field Fugu adds. Wrap your field access in isset() checks or use the null coalescing operator to prevent errors when optional fields are missing.
Rate limits still apply per underlying provider
Fugu reduces your exposure to a single provider's rate limit by spreading requests across multiple models, but each underlying provider still enforces its own rate limits on the API keys you provide. If you send 100 requests per minute through Fugu and 80 of them route to OpenAI because they are complex reasoning tasks, you hit OpenAI's rate limit even though you are calling Fugu's endpoint. Fugu does not automatically back off or queue requests when a provider rate-limits you; it returns the rate limit error from the provider in its response. The fix: monitor the model_used field in Fugu's responses to see which provider is handling most of your traffic. If one provider dominates, switch to Fugu Max or set explicit cost constraints in your request payload to force Fugu to prefer cheaper, less rate-limited models. You can also add a retry loop in your WordPress code that catches rate limit errors and resubmits the request after a delay, but this only defers the problem. The real solution is to configure Fugu to spread load more evenly by adjusting your variant choice or adding more provider keys to your Fugu account.
FAQs
Can I use Fugu with the WordPress block editor for inline AI suggestions?
Yes, if your block editor AI plugin supports custom API endpoints. Some Gutenberg AI plugins hardcode the OpenAI endpoint and do not expose a settings field to change it. In those cases, you need to fork the plugin or use a WordPress filter to rewrite the API URL before the HTTP request is sent. The pre_http_request filter intercepts outgoing HTTP requests, checks if the URL matches api.openai.com, and replaces it with api.fugu.ai before the request executes. This approach works for any plugin that uses wp_remote_post() to call the OpenAI API. Add the filter to your theme's functions.php or a custom plugin, and all OpenAI requests from any plugin will route through Fugu automatically.
Does Fugu store my prompts or responses for training?
Fugu itself does not train models on your data. It is an orchestrator, not a model provider. However, the underlying providers Fugu routes to (OpenAI, Anthropic, Cohere) each have their own data retention and usage policies. If you send a request through Fugu to OpenAI, OpenAI's data policy applies. Fugu does log request metadata (timestamp, model used, token count) for billing and debugging, but it does not store prompt content by default. If you enable detailed logging in your Fugu account settings for troubleshooting, Fugu temporarily stores full request and response payloads for 7 days. Check each underlying provider's terms and disable API data usage for training in their dashboards if your site handles sensitive customer data.
What happens if one provider goes down during a request?
Fugu detects provider outages and automatically fails over to a backup model within 2 seconds. If you send a request to Fugu Ultra and the first-choice model is unavailable, Fugu selects the next-best model from a different provider based on task type and cost. Your WordPress site receives a response without knowing a failover occurred, unless the backup model returns a slightly different format or lower-quality answer. Fugu logs the failover event in your account dashboard under Request History, showing which provider was unavailable and which model handled the request instead. This resilience is the main reason sites switch from single-provider integrations to Fugu. You can test failover behavior by temporarily revoking one provider's API key in your Fugu account settings and sending a request that would normally route to that provider.
Can I force Fugu to use a specific model for certain WordPress pages?
Yes, by passing a model parameter in your API request payload. Fugu's orchestration is optional. If you want a specific page or post type to always use GPT-4 regardless of cost, you modify your WordPress code to include "model": "gpt-4" in the JSON payload sent to Fugu's endpoint. Fugu honors this parameter and routes the request to GPT-4 through OpenAI, bypassing its normal model selection logic. This is useful when you need deterministic behavior for a custom post type like legal disclaimers or policy pages, where you cannot risk Fugu choosing a different model that might generate inconsistent tone. The parameter works with any model name the underlying provider supports, so you can also specify "model": "claude-3-opus-20240229" to force Anthropic's Claude Opus.
How do I track which model Fugu chose for each WooCommerce product description?
Fugu's API response includes a model_used field that names the specific model that generated the content. If you want to store this information in WordPress for auditing or debugging, modify your content generation callback to extract response['model_used'] and save it as post meta. For WooCommerce products, use update_post_meta($product_id, '_ai_model_used', $model_used) after saving the description. You can then filter the Products list in WP Admin by this meta key or display it in the product edit screen. Some shops use this data to A/B test descriptions generated by different models and identify which models produce higher conversion rates. Add a custom column to the WooCommerce product list table by hooking into manage_product_posts_columns and manage_product_posts_custom_column, then query the _ai_model_used meta field to populate the column.
Verdict: Use Fugu if you need automatic failover across AI providers or want to reduce vendor lock-in for your WordPress site's AI features. Use Fugu Max if you bulk-generate WooCommerce product content and need to cut API costs by 50% or more without changing your existing plugin integration.