Veo could not generate videos because the input image violates … — Veo API support codes explained
The exact error
Veo could not generate videos because the input image violates Agent Platform's usage guidelines. If you think this was an error, send feedback. Support codes: 15236754
Veo on Vertex rejected your request because a safety filter matched the input image, and gave you an eight-digit support code. Google publishes a table that maps each code to a safety category, which tells you what the filter objected to.
What it means
Google’s Responsible AI page for Veo on Gemini Enterprise Agent Platform (the new name for Vertex AI) says text, image and video inputs are assessed against safety filters, and that “the code listed in the output corresponds to a specific harmful category.”
The wording changed with the rename. The current page quotes the message with Agent Platform’s usage guidelines; earlier versions of the same page used Vertex AI’s usage guidelines. Both can appear in logs depending on when the request ran, so match on the start of the sentence and on the code, not on the product name.
The same page also covers a second, shorter input-side message: The prompt couldn’t be submitted or it might violate our policies. Google says that if the model responds with an error like this, “the input is triggering a safety filter”. It is the same mechanism without a code to look up.
Support code table
This is Google’s table, in the order it is published. The “What to check” column is our summary of the category description, not Google’s wording.
| Support codes | Category | Google’s description | What to check |
|---|---|---|---|
| 58061214, 17301594 | Child | Rejects requests to generate content depicting children if personGeneration isn’t set to "allow_all" or if the project isn’t on the allowlist for this feature. | The personGeneration value and whether your project is allowlisted |
| 29310472, 15236754 | Celebrity | Rejects requests to generate a photorealistic representation of a prominent person or if the project isn’t on the allowlist for this feature. | Whether the image shows, or resembles, a prominent person; allowlist status |
| 64151117, 42237218 | Video safety violation | General safety violation. | The overall content of the image and prompt |
| 62263041 | Dangerous content | Potentially dangerous content. | Dangerous activities in the input |
| 57734940, 22137204 | Hate | Hate-related content. | Hateful content in the input |
| 74803281, 29578790, 42876398 | Other | Miscellaneous safety issues with the request | The whole request; no single category is named |
| 89371032, 49114662, 63429089, 72817394, 60599140 | Prohibited content | Prohibited content related to child safety or other sensitive content. | Content that cannot be generated at all |
| 35561574, 35561575 | Third-party content | Guardrails related to third-party content. | Material owned by others in the input |
| 90789179, 43188360 | Sexual | Sexual or suggestive content. | Sexual or suggestive content in the input |
| 78610348 | Toxic | Toxic content. | Toxic language in the prompt |
| 61493863, 56562880 | Violence | Violent content. | Violent content in the input |
| 32635315 | Vulgar | Vulgar content. | Vulgar content in the input |
A code not in this table is undocumented; treat it as an unknown safety rejection rather than guessing.
How to confirm it’s this
- The request went to Veo through Vertex (a Google Cloud project and region).
- The message starts with “Veo could not generate videos because the input
image violates” and ends with
Support codes:and one or more numbers. - Look each number up in the table above. The example Google itself quotes, 15236754, is a Celebrity code.
The page is written for Veo on Vertex and does not say whether Gemini API filter messages carry these codes.
Fix
- Find the category in the table: a setting, an allowlist, or the content itself.
- Child codes: check
personGeneration. Google’s description ties this category to that parameter and to an allowlist. Also check what your model and mode accept: the Gemini API Veo docs say image-to-video on Veo 3.1 accepts only"allow_adult", and that in EU, UK, CH and MENA locationsallow_adultis the only allowed value. - Celebrity codes: check the image. See the celebrity and likeness page below.
- Content categories: change the content. For the other categories the input itself is what the filter matched. Revise or replace it if it really falls in that category.
- Report false positives. The message says to send feedback if you think it was an error. Include the support code; it is the reference Google’s page gives for the category.
This page will not help disguise content to get it past a filter. That would be working around a safety control.
Retry or not
No. Google describes this as the input triggering a safety filter, and nothing in the documentation points to a transient cause. Expect the same image and prompt to fail the same way.
For agents, log the support codes, map them to a category with the table, and surface that category: “rejected: Celebrity” is far more useful to the caller than a generic failure.
When it’s not this
videos were filtered out because they violated Google's Responsible AI practices. The generated output was blocked afterward; no support code.- The Gemini API celebrity message. “Sorry, we can’t create videos from input images containing celebrity or their likenesses.” It covers the same ground as the Celebrity codes but arrives as a filter reason.
- Gemini image
IMAGE_PROHIBITED_CONTENT. Code 42876398 is listed here as “Other” for Veo. The same number appears in a blocked Gemini image response quoted in litellm issue #20357; the Gemini image page covers that case.
Related errors
- Celebrity or their likenesses (Veo image-to-video)
- personGeneration allow_all (Veo)
- personGeneration allow_adult (Veo)
- Imagen: the prompt couldn’t be submitted
- IMAGE_PROHIBITED_CONTENT (Gemini image)
- videos were filtered out (Veo output filter)
Error text last verified against the sources below on .