Why is AI copy generation blocked or failing?
Last updated June 10, 2026
When the "Generate with AI" button does nothing, errors out, or shows a red toast, it's almost always one of three things: your workspace hit its monthly spend cap, your API key is missing or invalid, or the model you picked can't read images. Each one has a clear fix. uplads runs AI on your own OpenAI or Anthropic key and never proxies your requests, so most errors actually come straight from the provider.
Spend cap reached: what's blocked and when it resets
Workspace owners can set a monthly AI spend cap in Settings → AI text generation. Once your spend for the current calendar month reaches that cap, the next AI call is blocked with a toast like:
Monthly AI limit reached. You've used $X of $Y this month. Raise the cap in Settings or wait until next month.
A few things to know:
- The cap is workspace-wide and counts every AI feature together — shared and per-creative copy, brand voice, AI naming detection, translate, and optimize all draw from the same monthly budget.
- It resets automatically at the start of each calendar month — spend is summed only from the first of the current month onward.
- The check runs before each call, so a single in-flight generation can overshoot the cap by at most a few cents.
- A blank cap means unlimited — no limit is enforced.
To unblock, the owner can raise or clear the cap in Settings, or simply wait for the month to roll over.
See How to set a monthly AI spend cap and How to track AI usage and estimated cost to keep an eye on spend before you hit the limit.
Missing or invalid API key (use the Test button)
If you see "No API key saved. Add one in Settings" or your key fails when you generate, head to Settings → AI text generation:
- Open the tab for your provider (OpenAI or Anthropic). A Saved badge means a key is already stored.
- To verify an existing key, click Test connection. A success toast ("connection works") confirms the key is valid and reachable.
- To add or replace a key, paste it into the API key field (OpenAI keys start with
sk-…, Anthropic withsk-ant-…) and click Save key / Replace key. uplads verifies the key as it saves it.
If saving fails, the provider rejected the key — double-check you copied the whole thing and that it hasn't been revoked. If you ever see "AI API key could not be decrypted. Re-save it in Settings", just paste the key again and save; this re-encrypts it. Keys are stored encrypted (AES-256-GCM) and are never sent back to your browser after saving.
Full walkthrough: How to set up your AI provider and API keys.
Choosing a vision-capable model for per-creative generation
The Different copy per creative (Vision) mode shows the AI each selected creative and writes copy tailored to what's in the image. This only works with a model that can actually see images.
- Vision-capable models include gpt-4o, gpt-4o mini, gpt-4.1 (and mini), and Claude Sonnet, Opus, and Haiku.
- Pick your model under Settings → AI text generation → Model. The default for each provider already supports vision.
- If the per-creative option is greyed out, that's usually because no creatives are selected — pick creatives in Step 1 of the launch first.
- Per-creative mode runs one call per creative, so it costs roughly N× a normal generation. The dialog shows this estimate before you run it.
More detail in How to generate ad copy with AI and How naming field values are auto-detected (including AI vision).
Provider billing errors come from OpenAI/Anthropic, not uplads
Because uplads calls the provider directly with your key, billing and quota errors are returned verbatim from OpenAI or Anthropic — uplads just surfaces them. Common ones:
- Insufficient quota / billing not active — add a payment method or credits in your OpenAI/Anthropic account.
- Rate limit exceeded — you're sending requests faster than your provider tier allows; wait a moment and retry.
- 401 / invalid API key — the key was revoked or mistyped (see the section above).
If the error text mentions billing, quota, or your account, fix it in the provider's dashboard — uplads can't change those settings for you.
Switching providers or rotating your key
You can keep both an OpenAI and an Anthropic key saved and switch between them per generation. To swap which provider you use, pick it in the Provider dropdown in the AI dialog when launching. To rotate a key:
- Go to Settings → AI text generation and open the provider tab.
- Paste the new key over the masked one and click Replace key.
- Click Test connection to confirm the new key works.
To stop using a provider entirely, click Remove key. You can re-add it any time.
Still stuck?
- Confirm the right person is making changes — see Why is configuration greyed out or read-only for me? if Settings appears locked.
- If copy generates but the launch itself fails, that's a different issue: Why did my launch fail and how do I fix it?.