Your use case is currently not supported. — Veo API 400 on lastFrame, extension or reference images
The exact error
Your use case is currently not supported. Please refer to Gemini API documentation for current model offering.
The Gemini API refused a Veo request before any generation started. The message is generic: it does not name the parameter it objects to. In the reported cases, the request used one of Veo 3.1’s advanced modes (first and last frames, video extension, or reference images) with a combination of settings that mode does not accept.
What it means
The error comes back as HTTP 400 with status INVALID_ARGUMENT, as quoted in
js-genai issue #1265 and python-genai issue #1981. Note the two spaces after
the first sentence in the raw message; some log tools collapse them, so search
on the first sentence alone.
Google’s Veo docs spell out constraints that are easy to miss. In the
parameter table, durationSeconds “must be “8” when using extension, reference
images or with 1080p and 4k resolutions” on Veo 3.1 and Veo 3.1 Fast. Extension
has its own input rules: only Veo-generated videos, 720p, 9:16 or 16:9, 141
seconds or less, and generated or referenced within the last two days. The
docs also say extension is available for Veo 3.1 and Veo 3.1 Fast only, not
Veo 3.1 Lite.
The community reports line up with those rules:
- First and last frames. In js-genai issue #1265 the reporter got this
error calling
veo-3.1-fast-generate-previewwithimageplusconfig.lastFrame. They later wrote that the cause was additional config, and thatdurationSecondsneeded to be 8. Another commenter said the same 8-second requirement fixed it in the Python SDK. - Video extension. In python-genai issue #1981 the reporter extended a
Veo video with
duration_seconds=4, which the docs say must be 8 for extension. The discussion also covers passing a self-constructedVideoobject instead of the one returned by the first generation. The issue is still open, so treat both as possible causes rather than a confirmed one. - Reference images. In forum thread 111853 a user got this error for any
request with
reference_imagesonveo-3.1-generate-previewat 9:16. A reply said reference images supported only 16:9 at that time (December 2025) and that 9:16 support was being worked on. Check the current parameter table before assuming that still holds.
It has also been suggested that this error means a feature is not enabled for your project or region, or that it stands in for a safety refusal. None of the sources above confirm either. One user in thread 111853 said they got it after a few successful requests, which was not explained.
How to confirm it’s this
- HTTP 400, status
INVALID_ARGUMENT, returned when you submit, not while polling. - The request uses
lastFrame,referenceImages, orvideofor extension. - Plain text-to-video on the same model and key works, as it did for the user in thread 111853. That points away from a key or model-access problem.
Fix
Change one setting at a time and resubmit, so you learn which constraint failed.
- Set
durationSecondsto 8 for extension and reference images on Veo 3.1 and Veo 3.1 Fast, and for 1080p or 4k output. Users reported 8 also fixed first-and-last-frame requests. - Check the model. Extension is documented for Veo 3.1 and Veo 3.1 Fast only, not Veo 3.1 Lite. For reference images, check the model columns of the current parameter table.
- For extension, pass the video from the previous operation. The docs
say the input “should come from a previous generation, like
operation.response.generated_videos[0].video”, and only videos generated or referenced in the last two days can be extended. Extension output is 720p only. - For reference images, try 16:9. That was the fix given in thread 111853; confirm against the current docs.
- Keep
lastFramepaired withimage. The parameter table sayslastFrame“must be used in combination with the image parameter”.
Retry or not
No. Google’s troubleshooting guide says not to retry client errors such as 400 because they indicate a problem with the request itself. The same payload will be rejected again. Fix the parameters and send a new request.
For agents, treat this as a configuration error: log the full request config (mode, model, duration, resolution, aspect ratio) with the error, because the message will not tell you which field was wrong.
When it’s not this
last_frame parameter is not supported in Gemini API.A different message that nameslast_frameexplicitly; it has its own page.Negative prompt is not supported in your use case. Similar wording, but it names the negative prompt. A forum user reports it whennegative_promptis combined with reference images.fileUriisn’t supported by this model. A community guide in thread 111853 attributes it to attaching images by Files API URI. It is about how the image is sent, not about the mode.- The input video was not generated by Veo. Extension only accepts Veo output; there is a separate error for that.
- Frame interpolation not allowlisted. A separate message that names the allowlist rather than the use case; see its page.
Related errors
- last_frame is not supported in Gemini API
- Veo input video was not generated by Veo
- Veo fileUri isn’t supported
- Veo frame interpolation not allowlisted
- Model not found (v1beta)
- Veo could not process the input image
Error text last verified against the sources below on .