Gemini

Comprehensive Gemini integration supporting Veo 3 video generation, Gemini Flash text generation (Nano Banana), chat completions, and multimodal AI capabilities via the Google Gemini API.

7 actions Integration catalog
Request access
Connect Gemini once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Count Tokens (Gemini)GEMINI_COUNT_TOKENS
Counts the number of tokens in text using Gemini tokenization. Useful for estimating costs, checking input limits, and optimizing prompts before making API calls.
Embed Content (Gemini)GEMINI_EMBED_CONTENT
Generates text embeddings using Gemini embedding models. Converts text into numerical vectors for semantic search, similarity comparison, clustering, and classification tasks.
Generate Content (Gemini)GEMINI_GENERATE_CONTENT
Generates text content or speech audio from prompts using Gemini models. Supports text generation models (Gemini Flash, Pro) and text-to-speech models with configurable parameters. Generated text is nested at results[i].response.data.text. Output may be wrapped in markdown fences (e.g., ```html...```) or preceded by explanatory prose; strip these before file writing or rendering.
Generate Image (Nano Banana)GEMINI_GENERATE_IMAGE
Generates images from text prompts using Gemini models (Nano Banana). Supports models: 'gemini-2.5-flash-image' (GA stable, fast), 'gemini-3-pro-image-preview' (Nano Banana Pro - advanced with 4K resolution, thinking mode, up to 14 reference images), and 'gemini-2.0-flash-exp-image-generation' (2.0 Flash experimental). Returns one downloadable image per call, or a text-type entry in data.content when no image is produced. Always validate that an image was returned before treating the call as successful. Output formats are raster only (JPG/PNG/WebP); request PNG for transparency. Concurrent usage may trigger HTTP 429/RESOURCE_EXHAUSTED — keep concurrency ≤3 and use exponential backoff (1s→2s→4s, ~5 retries). NOTE NEVER EVER TRUE SYNC_TO_WORKBENCH IN RUBE_MULTI_EXECUTE_TOOL
Generate Videos (Veo)GEMINI_GENERATE_VIDEOS
Generates videos from text prompts using Google's Veo models. Returns an operation_name for tracking; pass it verbatim (no edits) to GEMINI_WAIT_FOR_VIDEO or GEMINI_GET_VIDEOS_OPERATION. Jobs take 30–180+ seconds; wait 10s before first poll, then poll every 10–30s (allow up to 12 min). Successful results include data.video_file.s3url — missing s3url means failure. If done=true but no video_file, check raiMediaFilteredReasons (safety block); revise prompt and regenerate. Text-only; cannot accept image inputs. Max ~3–5 concurrent jobs; 429 RESOURCE_EXHAUSTED requires exponential backoff. For retries, always start a fresh call — never reuse a failed operation_name.
Get Videos Operation (Veo) (Deprecated)GEMINI_GET_VIDEOS_OPERATION
DEPRECATED: Use WaitForVideo instead. Checks status of a Veo video generation operation. Use operation_name from GenerateVideos to track progress. Wait several seconds after starting GenerateVideos before first call to avoid OPERATION_NOT_FOUND. Poll at 10–30s intervals; use exponential backoff on HTTP 429 RESOURCE_EXHAUSTED; cap total polling at ~15 minutes. Complete when done=true AND a valid video URI is present; done=true without video_file indicates safety filtering blocked output — inspect raiMediaFilteredReasons and rephrase prompt. Video URL is at generatedSamples[].video.uri — persist promptly as URLs are time-limited. Keep concurrent polling to 3–5 parallel calls to avoid rate limits. If WaitForVideo times out, continue polling here using the same operation_name rather than starting a new GenerateVideos job.
List Models (Gemini API)GEMINI_LIST_MODELS
Lists available Gemini and Veo models with their capabilities and limits. Useful for discovering supported models and their features before making generation requests.
Wait and Download Video (Veo)GEMINI_WAIT_FOR_VIDEO
Polls a Veo video generation operation until completion, then downloads and returns the video file. Generation takes 30–120+ seconds (up to ~10–12 min); long waits are normal, not failures. A done=true response without a video file indicates safety filter rejection (check raiMediaFilteredReasons) or quota exhaustion — adjust the prompt and regenerate. On timeout, use GEMINI_GET_VIDEOS_OPERATION with incremental backoff before starting a new job. Keep parallel jobs to 3–5 to avoid 429 RESOURCE_EXHAUSTED errors.