Burve Google Image Gen (Vertex AI)
The Vertex AI twin
- reference_images
- character_pipe
- previous_interaction
- reference_pack
- input_files
- video
- image
- thinking_image
- thinking_process
- system_messages
- generated_image_pipe
- response_text
- grounding_metadata_json
- interleaved_content
- interaction_pipe
This is the same image-generation node as Burve Google Image Gen, with one difference that matters: it authenticates through Google Cloud Vertex AI instead of AI Studio. Same models, same DynamicCombo dropdown, same inputs, same four outputs. The only thing you don't need is a GEMINI_API_KEY - in fact the node won't read it at all.
When would you pick this over the AI Studio version? Mostly when your image gen already lives inside a Google Cloud project. If you're on an organization account, need project-level quotas and billing visibility, or want generation metered against GCP rather than a personal API key, this is the version to reach for. If you're a hobbyist who just wants Nano Banana in a graph, the AI Studio node is less setup and the same output. Don't use Vertex because it sounds more "enterprise" - use it because your money and auth already flow through Google Cloud.
How it works
The node constructs the client with genai.Client(vertexai=True, project=..., location=...) and reads three environment variables: GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION, and - if you're using a service-account JSON - GOOGLE_APPLICATION_CREDENTIALS. The generation logic, model specs, timeout budget, and retry behavior are shared with the AI Studio node, so everything in that article applies here except the auth path.
Setup that actually works
The README's sequence is the ground truth, but the short version:
gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="global"
Start with global for location - the gemini-3.1-flash-image-preview model is global-only on Vertex, and it's the one most likely to trip you up on region errors. Project and location are both mandatory: having only credentials is not enough, and the node will refuse to run without all three. Add GOOGLE_APPLICATION_CREDENTIALS only if you're using a service-account key file; the plain gcloud auth application-default login flow needs nothing more.
On macOS standalone builds, remember the GUI-launch problem from the AI Studio node: launchctl setenv the three variables, then fully quit and relaunch ComfyUI. On Windows, setx them and start a fresh process.
The inputs and outputs
Identical to Burve Google Image Gen: prompt, model (DynamicCombo), resolution, aspect_ratio, seed, search_mode, thinking_mode, plus optional system_instructions, reference_images, and character_pipe. Outputs are image, thinking_image, thinking_process, and system_messages - the last one being where you'll find the actual error text when a request fails.
Troubleshooting
- "Vertex AI configuration is incomplete" - a missing
GOOGLE_CLOUD_PROJECTorGOOGLE_CLOUD_LOCATION. Set both and restart. - Auth or permission errors after the vars look right - ADC is missing or stale. Re-run
gcloud auth application-default login. - Requests fail but auth looks fine - billing disabled or the Vertex AI API not enabled on the project.
- Node seems stuck forever - it's now on a bounded timeout with retries, so it will come back with an explicit error. If
gemini-3.1-flash-image-previewis the culprit, drop to1K/2K, useMINIMALthinking, and give the request a longer timeout budget.
Use Burve Debug Vertex Auth before anything else - it reports exactly which variables ComfyUI can see, which is where 90% of Vertex setup problems live.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| model | COMBO | 4 options: [object Object], [object Object], [object Object], [object Object] | |
| seed | INT | 00–18446744073709550000 | — |
| system_instructionsopt | STRING | — | |
| reference_imagesopt | IMAGE_LIST | — | |
| character_pipeopt | CHARACTER_GEN_PIPE | — | |
| aspect_ratio_overrideopt | STRING | Optional override for the selected model's aspect_ratio. Connect Burve Crop + Mask Load here. | |
| request_timeout_secondsopt | INT | 12010–1800 | Overall timeout budget for the Gemini request, in seconds. |
| retry_attemptsopt | INT | 51–10 | Total attempts for transient Gemini request failures. 1 disables retries. |
| api_modeopt | COMBO | auto | 3 options: auto, generate_content, interactions |
| response_modeopt | COMBO | text_and_image | 2 options: text_and_image, image_only |
| conversation_modeopt | COMBO | stateless | 2 options: stateless, stateful |
| previous_interactionopt | GEMINI_INTERACTION_PIPE | — | |
| reference_packopt | GEMINI_REFERENCE_PIPE | — | |
| input_filesopt | GEMINI_INPUT_FILES_PIPE | — | |
| videoopt | VIDEO | — | |
| video_urlopt | STRING | — | |
| temperatureopt | FLOAT | 1.000–2 | — |
| top_popt | FLOAT | 0.950–1 | — |
| grounding_rendereropt | STRING | Managed by the Burve frontend extension for Image Search attribution. | |
| vertex_location_modeopt | COMBO | auto | 2 options: auto, configured |
| vertex_output_mime_typeopt | COMBO | default | 6 options: default, image/png, image/jpeg, image/webp, image/heic, image/heif |
| output_compression_qualityopt | INT | 900–100 | — |
| person_generationopt | COMBO | default | 4 options: default, ALLOW_ALL, ALLOW_ADULT, ALLOW_NONE |
| prominent_peopleopt | COMBO | default | 3 options: default, allow, block |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| thinking_image | IMAGE | — |
| thinking_process | STRING | — |
| system_messages | STRING | — |
| generated_image_pipe | GENERATED_IMAGE_PIPE | — |
| response_text | STRING | — |
| grounding_metadata_json | STRING | — |
| interleaved_content | GEMINI_CONTENT_PIPE | — |
| interaction_pipe | GEMINI_INTERACTION_PIPE | — |