TROUBLESHOOTING · ERROR FAQ
"Something went wrong and an AI response wasn't generated" — 6 Causes & Fixes
"Something went wrong and an AI response wasn't generated" is Google Flow's catch-all failure message. It fires when a prompt trips a safety filter, when a generation times out, or when the service is simply overloaded — and Flow rarely tells you which one happened. This guide breaks down each trigger in order of likelihood, the fixes that actually work (rewriting, splitting, retrying after cooldown), and how to confirm which case you hit. And if you batch-generate, the last section shows the API route: structured errors with {code, retryable, action} and no charge on failed runs, so one bad prompt never stalls the whole job.
Where the error appears
The message shows up in Google Flow when a generation stops mid-run: the canvas goes quiet, the progress indicator disappears, and the banner "something went wrong and an ai response wasn't generated" replaces your result. It is a fallback message, not a diagnosis — Flow collapses a dozen internal failure modes into one sentence and does not tell you which one fired.
Three patterns make it near-deterministic: very long multi-clause prompts, prompts that describe recognizable real people or faces, and batch jobs where several generations run back to back in one session. If your failure clusters around those, skip to cause #1 and #2 below.
The 6 causes, ranked by likelihood
- Content safety filter hit. A phrase in the prompt (celebrity likeness, violence-adjacent wording, medical or sexual framing) quietly fails review. Most common by a wide margin.
- Prompt too long or too complex. Multi-shot scene instructions exceed what the model reliably plans in one pass; the run dies mid-generation.
- Session concurrency or quota. Too many generations in a short window, or the account's soft quota for the day is exhausted.
- Server-side overload. Peak-hour demand; the run is dropped before it starts. Usually resolves on its own in minutes.
- Account or region restrictions. Feature availability varies by account type and geography; some runs fail where others succeed.
- Browser-side state. A stale session or cached workflow sends inconsistent payloads — rare, but it explains "works in an incognito window" cases.
The fix for each cause
- Safety filter (#1): rewrite the sensitive element — swap named people for role descriptions ("a news anchor" instead of a name), soften violence to aftermath ("the scene after the storm"), and keep children out of any action framing. Resubmit the edited prompt, not a retry of the same one.
- Overlong prompt (#2): split the scene into two generations and stitch, or cut to one subject, one action, one camera move. Short prompts that fail once usually succeed after a trim.
- Quota/concurrency (#3): wait 15 minutes, then run one generation at a time. If it succeeds sequentially but not in parallel, you have your answer.
- Overload (#4): retry off-peak. Early morning US hours carry measurably less load on video endpoints.
- Region/account (#5): test with a different account on the same network, or the same account on a different network, to isolate which side the limit lives on.
- Browser state (#6): sign out and back in, clear the site's storage, or reproduce in a fresh incognito profile before concluding anything else.
Prevention: templates, stepwise generation, automatic retry
Two habits remove most recurrence. First, templatize prompts: a fixed structure (subject / action / camera / lighting / style) keeps every field boring enough to pass review and short enough to plan reliably. Second, generate stepwise — one shot per generation, stitched in the editor — instead of asking for a multi-beat sequence in a single prompt.
If you run Flow inside an automation tool (n8n, Zapier, Make), wrap each generation in a retry branch with a 5–15 minute cooldown and a rewrite step between attempts. A retry of the identical prompt after a safety failure just fails again; a retry after a trim or rewrite usually passes.
The API route: same models, errors you can read
The same underlying models are available over API, and an API fails differently: every rejection comes back as a structured error object with a machine-readable code, a retryable flag, and a suggested action — not a one-sentence apology. Your pipeline can decide programmatically whether to retry, rewrite, or skip, and failed runs are not charged, so one bad prompt never stalls a batch.
Start from the 5-minute quickstart (curl / Python / JS), then look at the model pages for the two workhorses people migrate to from Flow: Veo 3.1 for video with native audio and Nano Banana Pro for image editing and local repaint.