BananaBanana Image & Video Generation
Server Details
Generate images and video from any MCP client — Claude Code, Claude Desktop, Cursor, VS Code, Windsurf. Models: Nano Banana 2 / 2 Lite / Pro for images (up to 4K), Veo 3.1 / Fast / Lite for video (4/6/8 s, up to 4K, optional native audio), and Omni Flash (720p with sound).
Strictly pay-as-you-go: top up a balance, pay per generated item. Images from $0.03, video from $0.10. No subscription, no seats, no expiring credits — a month with no generations costs $0. Top up with crypto or Telegram Stars; no card required.
Built for agents, not just humans. Expensive calls return a cost quote and charge nothing until the agent repeats them with confirm_cost, so an agent cannot run up a surprise bill. Failed generations and content-filter rejections are refunded automatically. Optional daily spend caps per API key.
Seven tools, four of them free: list_models, get_account, get_result and list_generations cost nothing; only generate_image, edit_image and generate_video are billed. Nothing to install — hosted remote endpoint, no local runtime, no Google API keys needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 7 of 7 tools scored. Lowest: 3.9/5.
Each tool targets a distinct operation: editing, generating images, generating videos, account info, result polling, history listing, and model listing. No two tools have overlapping purposes.
All tool names follow a consistent verb_noun pattern in snake_case: edit_image, generate_image, generate_video, get_account, get_result, list_generations, list_models.
7 tools is well-scoped for an image/video generation service. It covers creation, editing, retrieval, account, history, and model info without unnecessary bloat.
Covers the core workflows: generating images/videos, editing, checking results, account balance, history, and model listing. Missing a cancel job tool but not critical; otherwise complete.
Available Tools
7 toolsedit_imageAInspect
Edit / refine a previously generated image with a text instruction (multi-turn editing: change colors, remove objects, restyle, etc.). Pass the job_id of a COMPLETED image generation as source_generation_id. Charged like a single image of the chosen model/resolution; auto-refund on failure. Example: {"source_generation_id": "cmxyz...", "prompt": "make the background pure white and add soft shadow"}
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | ||
| model | No | nano-banana-2 | |
| prompt | Yes | The edit instruction. | |
| resolution | No | 1024 | |
| aspect_ratio | No | 1:1 | |
| output_format | No | jpeg | |
| idempotency_key | No | ||
| source_generation_id | Yes | job_id of a completed image generation owned by this account. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses charging behavior, auto-refund on failure, and requirement for completed source. No annotations provided, so description carries burden. Lacks details on idempotency and whether original is preserved, but overall adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus an example. Front-loaded with verb and resource. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality, charging, and failure handling. No output schema, so missing return details. Siblings provided but no explicit comparison. Adequate for a single-purpose editing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 25%, only prompt and source_generation_id have descriptions. Description adds meaning for these key parameters (e.g., source must be completed) and provides example. Does not cover semantics of optional parameters like seed, model, resolution, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Edit / refine a previously generated image with a text instruction', specifying it's for multi-turn editing like changing colors, removing objects. Distinct from sibling generate_image which creates new images.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly requires source_generation_id from a COMPLETED image generation, indicating when appropriate. Example clarifies usage. Does not explicitly state when NOT to use, but context with siblings implies alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageAInspect
Start an AI image generation (Google Nano Banana family). Charges the account balance immediately and returns a job_id — poll get_result for the finished image URLs. Typical completion: 10–60 seconds. Costs $0.03–$0.20 per image depending on model and resolution (see list_models). Failed generations are automatically refunded. Generating several images at once (number_of_images > 1) is a batch: the first call returns a price quote and charges nothing — repeat the call with confirm_cost set to the quoted amount to start. Example: {"prompt": "studio photo of a ceramic mug on linen, soft daylight", "model": "nano-banana-2", "aspect_ratio": "4:5", "resolution": "1024"}
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | For reproducible results. | |
| model | No | nano-banana-2-lite: cheapest, 1K only. nano-banana-2: balanced default. nano-banana-pro: top quality, up to 4K. | nano-banana-2 |
| prompt | Yes | What to generate. English works best. | |
| resolution | No | 512 only on nano-banana-2; 1024 only on lite; 4096 costs the most. | 1024 |
| aspect_ratio | No | 1:1 | |
| confirm_cost | No | Required for batches (number_of_images > 1): the quoted total USD cost you accept. | |
| output_format | No | jpeg | |
| idempotency_key | No | Optional unique key; retries with the same key never double-charge. | |
| negative_prompt | No | ||
| number_of_images | No | Variants per call. >1 requires confirm_cost. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses behavioral traits: immediate account charge, job_id return, typical completion time (10-60s), cost range ($0.03-$0.20), automatic refunds on failure, and batch pricing flow. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but well-structured, front-loading key points. It includes an example and covers all necessary details. While informative, it could be slightly more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, batch behavior, cost, polling), the description is complete. It explains the full lifecycle from initiation to result retrieval, covers special cases (batches, refunds), and references list_models for cost details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, explaining the purpose of confirm_cost, the cost implications of model/resolution, and the batch workflow. It enhances understanding with an example and clarifies parameter relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Start an AI image generation (Google Nano Banana family).' It uses a specific verb ('start') and resource ('AI image generation'), and distinguishes from sibling tools like edit_image and generate_video.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use the tool, including batch behavior with confirm_cost, polling with get_result, cost details, and refund policy. It also indirectly distinguishes from other tools by focusing solely on generation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoAInspect
Start an AI video generation (Google Veo 3.1 family or Gemini Omni Flash). EXPENSIVE: $0.10–$4.40 per clip. Cost confirmation is mandatory: the first call always returns a USD quote and charges nothing — repeat the call with confirm_cost set to the quoted amount to actually start. Returns a job_id; poll get_result (videos take 1–10+ minutes). Failed generations are auto-refunded. Models: veo-3.1-fast (default, good quality/price), veo-3.1 (best Veo quality), veo-3.1-lite (cheapest, 720p/1080p), omni-flash (always has sound, model picks 3–10 s duration, flat $1.00, supports conversational editing via edit_from_generation_id). Example: {"prompt": "drone shot over a misty pine forest at sunrise", "model": "veo-3.1-fast", "duration": 8, "resolution": "720p", "confirm_cost": 0.70}
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Veo only. | |
| model | No | veo-3.1-fast | |
| prompt | Yes | ||
| duration | No | Seconds. Ignored by omni-flash (the model picks 3–10 s itself). | |
| resolution | No | 4k only on veo-3.1 / veo-3.1-fast; omni-flash is 720p only. | 720p |
| with_audio | No | Native audio for Veo models (costs more). omni-flash always has audio. | |
| aspect_ratio | No | 16:9 | |
| audio_prompt | No | Describe the desired sound (used when audio is on). | |
| confirm_cost | No | The quoted USD cost you accept. Omit on the first call to get the quote. | |
| idempotency_key | No | Optional unique key; retries with the same key never double-charge. | |
| negative_prompt | No | ||
| edit_from_generation_id | No | omni-flash only: job_id of a completed omni video to refine conversationally; prompt describes the changes. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavioral traits: expensive cost range, non-destructive quote step, auto-refund on failure, model-specific behaviors (resolution limits, audio availability), and idempotency key for safe retries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bullet points and an example, but slightly verbose. Could be tightened while retaining all information. Sentence-length explanation of cost confirmation is necessary and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all aspects of a complex 12-parameter tool: cost, models, dimensions, audio, editing, idempotency, polling. No missing critical information for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant meaning beyond schema: explains cost confirmation flow, model differences (e.g., omni-flash always has audio, edit_from_generation_id usage), and provides an example JSON with realistic values. Schema coverage is 67%, but description compensates thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool generates AI video using specific model families (Veo 3.1, Omni Flash). It distinguishes from sibling tools (e.g., generate_image) by focusing solely on video generation with detailed model and cost info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides comprehensive usage guidance: mandatory two-step cost confirmation, polling via get_result, model selection criteria, and when to use omni-flash for audio/editing. Clearly states when not to use certain parameters (e.g., duration ignored by omni-flash).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountAInspect
Get the current account balance (USD), this API key's name, optional daily spend cap and how much of it is used today. Free, no charge. Use it to check affordability before starting expensive generations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool is 'free, no charge,' indicating no destructive side effects. It could mention if it consumes API quota, but given its read-only nature and explicit 'free' label, it's sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first lists what it returns, second provides usage advice. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema), the description fully covers its purpose and utility. No missing information for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema description coverage is 100%. The description adds no param details because none are needed; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves account balance, API key name, daily spend cap, and usage. This specific verb+resource clearly distinguishes it from sibling tools like generate_image or list_generations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It advises using the tool to 'check affordability before starting expensive generations,' providing clear context. While it doesn't explicitly exclude other scenarios, the guidance is actionable and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_resultAInspect
Get the status and result of a generation job started with generate_image / edit_image / generate_video. Waits up to wait_seconds for completion before returning (long-poll). On success returns hosted media URLs (valid 24 h — call again for fresh links), cost_charged_usd and balance_remaining_usd, plus a small inline preview for images. Free, no charge. Poll roughly every 10–15 s for videos.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| wait_seconds | No | How long to wait server-side before answering. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses long-poll behavior, wait time, return values (URLs valid 24h, cost, balance, inline preview), and that the tool is free. It does not explicitly state read-only but the verb 'Get' implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: first states purpose and sibling relation, second details return values and expiry, third gives polling advice. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers main return values, polling behavior, and cost. It lacks error handling and job_id format but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (only wait_seconds is described in schema). The description adds context for wait_seconds (long-poll, polling interval) but does not describe job_id, so value added is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('get the status and result') and specifies the generation tools that initiate jobs (generate_image, edit_image, generate_video), distinguishing it from sibling tools like list_generations or get_account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains that the tool is used after starting a generation job and provides polling advice (10-15 s for videos). However, it does not explicitly contrast with alternatives like list_generations for checking multiple jobs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_generationsAInspect
List this account's recent generations (both MCP and website) — id, type, model, status, cost and prompt preview. Use it to find a job_id to re-download results or to pick a source for edit_image. Free, no charge.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter by media type. | |
| limit | No | ||
| status | No | Filter by status. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description adds value by stating the tool is free, lists fields returned, and mentions scope (both MCP and website). However, it does not specify ordering, pagination, or define 'recent' – leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and scope, then use cases and cost. No wasted words, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with 3 optional parameters and no output schema, the description covers purpose, return fields, and use cases. Lacks detail on pagination or ordering, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, but the description does not add any explanation of parameters beyond what the schema already provides. It focuses on output fields, not parameter meaning, missing an opportunity to clarify limit or enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool lists recent generations, specifies the account scope, lists returned fields, and differentiates from siblings by mentioning use cases to find job_id for re-download or as source for edit_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: finding a job_id for re-download or picking a source for edit_image. Does not explicitly state when not to use, but the context is clear enough to distinguish from generation or retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsAInspect
List all available image and video generation models with current per-unit USD prices, supported resolutions, durations and constraints. Prices come from the same source as the website — call this before quoting costs to a user or choosing a model. Free, no charge.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the tool is free, has no charge, and lists read-only data. It does not mention rate limits or response structure, but the simplicity of the tool (no parameters, no destructive actions) makes the disclosure sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The first sentence states the purpose and output, the second clarifies use case and cost. Every sentence provides value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and a simple purpose, the description is complete. It tells what it does, when to use, and what data it provides, covering all necessary context for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description has no burden to explain parameters. It adds meaning by describing what the tool returns (prices, resolutions, etc.), which aligns with the schema coverage being 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it lists all available models with prices, resolutions, durations, and constraints. It uses a specific verb ('list') and resource ('models'), and the content distinguishes it from sibling tools like generate_image or list_generations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use: 'call this before quoting costs to a user or choosing a model.' It also notes the tool is free, which informs usage context. No alternatives are listed, but the context is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!