Hello,
I am experiencing a persistent error when using Vertex AI Batch Prediction with the Gemini 3.1 Flash Image model, also known as Nano Banana 2.
Environment:
- Project: [PROJECT_ID]
- Location: global
- Model: publishers/google/models/gemini-3.1-flash-image
- API: Vertex AI Batch Prediction
- Input/output format: JSONL in Google Cloud Storage
- Input type: Text-only requests
- Output: Generated images
- Aspect ratio: 16:9
- Requested image resolution: 1K
- Workflow: n8n using the Vertex AI REST API
The workflow had been working normally for a long time, and more than 1,000 images had been successfully generated using the same model, request structure, and JSONL format.
The problem started around the afternoon of September 18, 2026, Brazil time, possibly after a backend or model update. Since then, some requests initially failed intermittently, while others succeeded after resubmission. More recently, all requests have started failing, including jobs containing only a single request.
The batch jobs complete with errors, but no image is returned. The response field is empty and the status field contains the following error:
"Multiple extensions set in beyond.RecipeConfig; RPC to BAG server failed: INVALID_ARGUMENT: Multiple extensions set in beyond.RecipeConfig
=== Source Location Trace: ===
net/rpc/rpc-status.cc:573
; Error raised from operator beyond_api_gateway
Source Locations:
net/rpc/rpc-status.cc:573
cloud/ai/platform/orcas/groot/shared/actions/ops/beyond_api_gateway/beyond_api_gateway_lib.cc:564
cloud/ai/platform/orcas/groot/shared/actions/ops/beyond_api_gateway/beyond_api_gateway_lib.cc:652
net/plaque/functor_op.cc:286
Received from stmt:6 in g0#0; during execution of action graph"
Example of the failed batch output:
{
“request”: {
“contents”: [
{
“parts”: [
{
“text”: “A cozy editorial photograph of a small stainless-steel pot with boiling water, orange peels, and lemon slices on a clean kitchen stove. Soft translucent steam rises from the pot, suggesting a fresh citrus aroma. Warm kitchen lighting, polished stainless-steel and ceramic surfaces, horizontal wide composition.”
}
],
“role”: “user”
}
],
“generationConfig”: {
“imageConfig”: {
“aspectRatio”: “16:9”,
“imageSize”: “1K”
},
“responseModalities”: [
“IMAGE”
]
}
},
“status”: “{“code”:3,“space”:“generic”,“message”:“Multiple extensions set in beyond.RecipeConfig; RPC to BAG server failed: INVALID_ARGUMENT: Multiple extensions set in beyond.RecipeConfig\n=== Source Location Trace: === \nnet/rpc/rpc-status.cc:573\n; Error raised from operator beyond_api_gateway\nSource Locations:\n net/rpc/rpc-status.cc:573\n cloud/ai/platform/orcas/groot/shared/actions/ops/beyond_api_gateway/beyond_api_gateway_lib.cc:564\n cloud/ai/platform/orcas/groot/shared/actions/ops/beyond_api_gateway/beyond_api_gateway_lib.cc:652\n net/plaque/functor_op.cc:286; Received from stmt:6 in g0#0; during execution of action graph”}”,
“response”: {},
“processed_time”: “2026-09-19T20:05:25.354269+00:00”
}
I have already performed the following tests:
- Used different prompts.
- Tested a batch containing only one request.
- Put the complete JSON request on a single JSONL line.
- Removed the imageSize: “1K” parameter.
- Kept only the basic text prompt, responseModalities: [“IMAGE”], and aspectRatio: “16:9”.
- Confirmed that no extensions, tools, grounding, image references, fileData, or inlineData are being sent.
- Confirmed that the Cloud Storage paths are used only for the JSONL input and batch output, not as image inputs.
- Confirmed that the same general request format successfully generated more than 1,000 images before the issue began.
The same error persists even with a single-request batch and a minimal JSONL payload.
The error appears to be generated internally by the batch execution gateway, because the request itself does not contain any “extensions” field. The error also refers to internal components such as beyond_api_gateway and beyond.RecipeConfig.
I have not found a matching incident in Google Cloud Service Health.
Questions:
- Is this a known issue or a recent backend rollout/regression affecting Gemini 3.1 Flash Image batch inference?
- Is there any required change to the JSONL request format or REST API request?
- Is there a documented workaround that allows us to continue using gemini-3.1-flash-image / Nano Banana 2?
- Is there an estimated time for a fix?
- Are batch requests that fail with this internal INVALID_ARGUMENT error billed?
- Should users migrate to another endpoint or model, or is the current model and batch configuration still supported?
The model is critical for image quality, so switching to an older or lower-quality image model is not an acceptable long-term workaround.
Any confirmation, workaround, or technical guidance from Google engineers or other users experiencing the same issue would be greatly appreciated.
Thank you.