AI Models troubleshooting.
A dead key fails silently — generation just falls back to our included AI and nothing tells you. If your credits are still moving after connecting a key, start here.
One problem accounts for most of the reports we get here, and it's an ugly one. Read the first section even if it isn't the symptom you came for.
A dead or rate-limited key fails silently
If your API key stops working — it expired, you rotated it, your balance hit zero, you hit a rate limit, or the model ID is wrong — ScoutRival quietly falls back to its included AI and finishes the job. The post or article arrives looking completely normal. No error, no banner, no email. The provider card on the AI Models page still shows green with your masked key, because we only ever test a key at the moment you connect it and we never re-check it afterwards.
So the symptom is not an error. The symptom is an absence: your provider's usage dashboard shows nothing, and your ScoutRival credits keep going down exactly as they did before you connected anything.
This is the first thing to suspect any time a key “doesn't seem to be doing anything”. We know it's the wrong behaviour and it's on the list to fix.
The three-minute check
If you suspect your key isn't being used, work through this in order. It's quicker than it looks.
Look at your provider's usage dashboard
This is the only reliable ground truth. Generate a post in Compose, then check whether your OpenAI, Anthropic, Google or OpenRouter account registered a request in the last few minutes. If it didn't, your key isn't in play — keep going.
Check the routing row still points at your connection
On the AI Models page, the Text and Blog rows should show a green Your key chip, not a grey Included one. If a row says Included, it was never routed — or a disconnect cleared it. Routing →
Check the connection has a model selected
Click Manage on the provider card. If the default text or image model field is blank, there's nothing to send the request to and the row falls back to our AI even though it looks routed. Pick a model and save. This is the most common cause after a dead key.
Reconnect the key
Create a fresh key at your provider, then click Manage and paste it in over the top. Reconnecting replaces the old key and keeps your routing intact. If the key is genuinely dead, this is the moment you'll find out — the save will fail with your provider's error, because we test before we store.
Confirm the row still points at it
Reconnecting keeps routing. Disconnecting clears it. If you removed the connection before adding the new key, re-assign the rows.
Reconnect the key. The connect flow makes a live call to your provider and refuses to save anything that fails — so a successful ✓ Verified proves the key works right now, which nothing else in the app will tell you.
“My key was rejected when I tried to connect it”
Good — that's the system doing its job. We test the key against the provider before storing it, so a bad key never gets saved, and you're shown the provider's own error message with its status code rather than something we made up.
Read that message. It's almost always one of these:
- 401 / invalid key — the key is wrong, was rotated, or a stray space came along with the paste. Use the eye icon to reveal the field and check the ends. Re-copy the whole key.
- 402 / 429, insufficient credit or quota — the key is real but there's no billing set up on the provider's side, or the balance is zero. This is the single most common rejection on OpenAI. Add a card and a few dollars, then try again.
- 403 / not verified — most often OpenAI's organisation verification requirement for image generation.
- A timeout — we give up after 15 seconds. Usually the provider having a moment. Try again.
The per-provider guides list the exact strings each one returns and how to clear them: OpenRouter, OpenAI, Anthropic, Google.
“Anthropic doesn't show up under Image”
Correct, and it never will. Anthropic cannot generate images — Claude is a text model and there's no image endpoint to call. The Image dropdown only lists connections that can actually render, so Anthropic is filtered out entirely. The Connect modal says the same thing where the image model field would otherwise be.
If Claude is your writer and you want pictures too, connect a second provider — Google (Gemini), OpenAI or OpenRouter — and point only the Image row at it. Your Blog row can stay on Claude.
“My image model returns nothing”
You clicked Generate with my model and got “Your image model couldn't render this”, or nothing came back at all.
- The model can't actually generate images. The most likely cause on OpenRouter: image generation there is reliable on Google's Nano Banana models, while several other image models in the list aren't fully wired up yet and will fail. Switch to a Google image model. More on this →
- Your account can't use that model. OpenAI requires a verified organisation before image generation works. Verify in your OpenAI dashboard, or render on Google instead.
- No image model is set on the connection. The button can appear even when the model field is blank. Open Manage and pick one.
- The render timed out. We wait two minutes. Very large or very slow models occasionally exceed it — try again, or move to a faster model.
- Your balance is empty. Renders cost real money on your provider's account. Check it.
“I get a prompt but never a picture”
Different problem — that's the Image row not being set at all, and it's by design. ScoutRival has no included image model, so with nothing connected you only ever get the prompt. Image mode explained →
“I disconnected a provider — what happens now?”
Nothing breaks. Disconnecting deletes the encrypted key and clears every routing row that pointed at it, so:
- Compose and BlogCraft carry on on ScoutRival's included AI, exactly as they did before you ever connected a key.
- Image rendering stops, because there's no included image model to fall back to. You'll get prompts, not pictures.
- Everything you already made is untouched — posts, articles and rendered images all stay where they are.
- Your routing is not remembered. Reconnect later and you'll need to re-assign the rows. (Reconnecting over an existing connection, by contrast, keeps them.)
Smaller things
- “I connected a key but my credits still went down.” That's expected. Connecting a key changes which AI account does the generating; it doesn't switch ScoutRival's metering off. The one action that's genuinely free on your own key is rendering an image. How credits work →
- “My Daily Brief doesn't seem to use my model.” It doesn't. Only Compose text, BlogCraft article writing and image rendering are routable. The brief, competitor analysis and the SEO and AI-visibility checks always run on our AI.
- “Can I have two OpenAI keys?” No — one connection per provider. Connecting again replaces the existing key.
- “Can I see my key again?” No. It's encrypted on save and only ever displayed masked. If you've lost it, create a new one at your provider and reconnect.
- “My provider card says Legacy.” It's a connection to a provider we no longer offer (xAI, DeepSeek, or a custom endpoint). It still works, but once you remove it you can't add it back.
- Still stuck? Contact support — tell us the provider and the model ID and we'll look.