WordPress Plugins Pricing Blog Support My Account
Support/SEObolt/AI Generation Fails

AI Generation Fails — “Generation Failed” / Model Not RecognizedPRO

If SEObolt Pro’s AI buttons (Generate, Optimize, Expand, Generate Description, Generate Alt Texts) return a red “Generation failed” toast and DevTools shows an HTTP 400 from api.anthropic.com/v1/messages, Anthropic dropped the older Claude model aliases when Claude 4 shipped. SEObolt 2.4.131 ships a Claude 4 model dropdown plus an idempotent migration that rewrites any stored alias on next admin page load.

Fixed automatically in SEObolt Pro 2.4.131+

Update SEObolt Pro to 2.4.131 or later and the issue resolves on the next admin page load — a one-time DB migration rewrites claude-3-5-haiku-latestclaude-haiku-4-5 and claude-3-5-sonnet-latestclaude-sonnet-4-5. The manual steps below only apply if you can’t update yet or if you previously picked a different model that’s no longer in Anthropic’s catalog.

Symptoms

You probably have this issue if all of the following are true:

The telltale signs

  • SEObolt is configured to use Anthropic as the AI provider (Settings → AI), either credit-based or BYOK
  • Clicking any AI button (Generate, Optimize, Expand, Generate Description, Generate Alt Texts) immediately returns a red “Generation failed” toast
  • Other Pro features — rank tracking, schema, sitemaps — work fine. Only the AI-generation surface is broken.
  • If you open DevTools → Network and re-click the button, the failing request is a POST to https://my.royalplugins.com/wp-json/seobolt/credits-proxy/... (credit-based) OR directly to https://api.anthropic.com/v1/messages (BYOK). The response body contains a Claude-API error mentioning “model” or “not found” or “not recognized”.
Verify via your AI Settings dropdown

Go to SEObolt → Settings → AI. If the “Model” dropdown shows claude-3-5-haiku-latest or claude-3-5-sonnet-latest as the saved value (look at the URL bar after the page loads, or the <select> element in DevTools), you’ve confirmed the cause. Those model strings stopped working when Anthropic shipped Claude 4.

The Fix

Option A: Update to SEObolt Pro 2.4.131+ (recommended)

The 2.4.131 release ships an idempotent DB migration (1.5.2) that rewrites stored aliases to their Claude 4 equivalents on the next admin page load. Zero manual steps.

Update SEObolt Pro

In wp-admin go to Plugins → Installed Plugins, find SEObolt Pro, and click Update. If you don’t see an update available yet, click Dashboard → Updates → Check Again.

Visit any wp-admin page

The migration fires on admin_init. Visiting SEObolt → Settings → AI is enough — you should see the saved model is now Claude Haiku 4.5 (or Claude Sonnet 4.5, depending on which alias you had).

Re-test AI generation

Edit any post and click an AI button. The Generation failed toast should be gone. If the migration silently picked the wrong tier for your needs, switch via the dropdown manually.

Migration is one-way + idempotent

The migration only runs once (gated on a seobolt_db_version option) and only rewrites the known broken aliases. Customer-picked models that are still valid (e.g. claude-3-opus-20240229) are left untouched. Re-running the migration is a no-op.

Option B: Manual model selection (if Option A isn’t possible)

If you can’t update yet, OR you picked a model that’s not in Anthropic’s current catalog (e.g. an internally-tested preview alias that got retired), manually pick a current model:

Open SEObolt → Settings → AI

Change the Model dropdown

Pick one of these Claude 4 entries (all verified working against Anthropic 2026-06):

  • Claude Haiku 4.5 — fastest + cheapest; recommended default
  • Claude Sonnet 4.5 — balanced quality & cost
  • Claude Sonnet 4 (dated) — lock to specific snapshot
  • Claude Opus 4.1 — highest quality, slowest, most expensive

Save Changes + retry

Save the page, then re-test an AI button. Should work first try.

Why Does This Happen?

Anthropic uses -latest aliases to point at the current snapshot of a model family. When Claude 4 shipped, the claude-3-5-*-latest aliases were retired — calls with those strings now return a model-not-recognized error instead of being remapped to the closest Claude 4 model.

SEObolt’s 2.4.130 release used claude-3-5-haiku-latest as the default for installs that hadn’t explicitly set a model. After the Claude 4 cutover, every fresh install and every customer who hadn’t manually re-picked their model was sending an invalid model string. The result was a generic “Generation failed” toast because the JS error handler bucketed the 400 alongside network errors and quota errors.

2.4.131 does three things to close the gap:

If your provider is OpenAI

Same class of symptom happens if a customer’s saved OpenAI model name was retired (e.g. gpt-4-vision-preview graduated out of preview). The fix path is the same — pick a current model from the OpenAI dropdown. SEObolt 2.4.131’s migration only covers the known Claude aliases; for OpenAI we rely on the dropdown being current.

Still Failing After 2.4.131+? Email Priority Support

If you’re on 2.4.131+ AND the Model dropdown shows a current Claude / OpenAI model AND AI generation still fails, email support@royalplugins.com with the diagnostic info below. Priority email support is included with your SEObolt Pro license — typical response time is within 24 hours.

Information we’ll need

  • SEObolt Pro version (Plugins → Installed Plugins)
  • AI Provider + Model shown in Settings → AI
  • Credit-based or BYOK — if BYOK, the first 8 chars of your API key (so we can confirm it’s a valid Anthropic / OpenAI key shape; we’ll never ask for the full key)
  • Network tab output — reproduce the failure with DevTools open, then copy the failing request’s Response body (the AI provider’s error message is in there)
  • Whether OTHER AI features work — e.g. does “Generate alt texts” fail but “Generate description” work? Helps narrow scope.