Skip to main content
Glama

submit_image

Destructive

Read image-gen Skill first. Submit an image generation job and create image, GIF or SVG asset(s) in the project library. Requires ChatCut Pro and consumes credits for every model. This tool does not place generated images on the timeline; after the job completes, use track_progress to get asset ids and edit_item to place them. See the image-gen skill for model, reference, aspect-ratio, and quality guidance.

External MCP spend rule: this tool costs ChatCut credits and starts an async generation job. Only call it when the user's request or confirmation clearly covers this exact generation; do not silently create extra variants, longer durations, higher quality, or additional outputs.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "prompt": "<prompt>"
    },
    "name": "submit_image"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoAsset name shown in the library. Defaults to a truncated form of the prompt.
countNoNumber of images to generate. Each becomes a separate job.
modelNoImage model. Defaults to gpt-image-2.6-flare for everyday generation and edits. gpt-image-2.6-sunburst for demanding detail, layout or edit accuracy. gpt-image-2.5-flare, gpt-image-2.5-sunburst and gpt-image-2 remain available. nano-banana is Nano Banana Pro (Gemini 3 Pro Image); nano-banana-2.1 is Nano Banana 2.1, Google's update to nano-banana-2 (Gemini 3.1 Flash Image). All three support up to 14 combined references. Honor the image model attached to the prompt.gpt-image-2.6-flare
promptYesDescription of the image. Mention text content in quotes when text rendering is needed.
qualityNoOpenAI models only. Defaults to high. xhigh and max require Image 2.5 or later.
imageSizeNoOutput size. Defaults to 1K. 512 is available for nano-banana-2 only. Only pass 2K or 4K when the user asks for it, directly or by approving a plan that names it. They are EXPERIMENTAL and may take longer and cost more.
projectIdNoFull project UUID. Required for external browser work; internal agents may omit. Execution/explicit-timeline calls never change later calls' target.
backgroundNoImage 2.5 or later. Use transparent for a cutout, sticker or logo; defaults to auto.
complexityNoImage 2.6 and nano-banana-2.1. How much the model plans before rendering. Use low for focused edits or fast drafts, high for dense text or complex layouts. Defaults to high on Image 2.6, where it does not change the price, and medium on nano-banana-2.1, where low costs about 18% less and is about 40% faster.
frameCountNoGIF only. Number of frames, from 2 to 16; defaults to 9. Any count up to 8 costs the same, so prefer 8, 9, 12 or 16. More frames means a smaller frame size.
timelineIdNoFull timeline UUID, not a prefix. Required for browser work, even unplaced assets. Get it from read_project or manage_timelines action="list". Never switches visible timeline.
aspectRatioNoOutput aspect ratio. Defaults to 16:9. 1:4, 4:1, 1:8 and 8:1 require nano-banana-2.1 or nano-banana-2. Match how the image will be used (the project composition for full-frame use, or the ratio the user asked for); ask only when that is unclear.
outputFormatNoImage 2.6 only; default png. gif creates a short loop (stickers, animated icons, reactions); svg creates an editable vector (logos, icons, flat illustrations). Both accept references and require imageSize 1K. Use submit_video for real motion or footage.
referenceUrlsNoPublic HTTPS or s3:// image resource URLs, in order after referenceAssetIds. Used directly as generation references without importing them into the user's asset library. Do not download and push_asset merely to reference an image.
idempotencyKeyNoStable key for this browser execution. Reuse only with identical scope and parameters after a lost acknowledgement; applies only to this call.
frameDurationMsNoGIF only. Milliseconds per frame, from 20 to 2000; defaults to 200. frameCount times this is the loop length.
browserProfileIdNoOptional browser profile override. Omit to select automatically; do not ask the user to choose.
referenceAssetIdsNoProject asset ids to reference. Pass when the user @-references an image asset; the runtime resolves the image bytes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / outputFormat / description
      Previous value: -"Image 2.6 only. Defaults to png. gif makes a short looping animation, for a sticker, animated icon or reaction. svg makes an editable vector, for a logo, icon or flat illustration. Both are text-only: they cannot take references and use imageSize 1K. Use submit_video for real motion or footage."New value: +"Image 2.6 only; default png. gif creates a short loop (stickers, animated icons, reactions); svg creates an editable vector (logos, icons, flat illustrations). Both accept references and require imageSize 1K. Use submit_video for real motion or footage."
  2. Changed11 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / aspectRatio / description
      Previous value: -"Output aspect ratio. Defaults to 16:9. 1:4, 4:1, 1:8 and 8:1 require nano-banana-2. Match how the image will be used (the project composition for full-frame use, or the ratio the user asked for); ask only when that is unclear."New value: +"Output aspect ratio. Defaults to 16:9. 1:4, 4:1, 1:8 and 8:1 require nano-banana-2.1 or nano-banana-2. Match how the image will be used (the project composition for full-frame use, or the ratio the user asked for); ask only when that is unclear."
    • changedInput schema / properties / background / description
      Previous value: -"Image 2.5 only. Use transparent for a PNG cutout; defaults to auto."New value: +"Image 2.5 or later. Use transparent for a cutout, sticker or logo; defaults to auto."
    • addedInput schema / properties / complexity
      Added value: +{
      +  "description": "Image 2.6 and nano-banana-2.1. How much the model plans before rendering. Use low for focused edits or fast drafts, high for dense text or complex layouts. Defaults to high on Image 2.6, where it does not change the price, and medium on nano-banana-2.1, where low costs about 18% less and is about 40% faster.",
      +  "enum": [
      +    "low",
      +    "medium",
      +    "high"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / frameCount
      Added value: +{
      +  "description": "GIF only. Number of frames, from 2 to 16; defaults to 9. Any count up to 8 costs the same, so prefer 8, 9, 12 or 16. More frames means a smaller frame size.",
      +  "maximum": 16,
      +  "minimum": 2,
      +  "type": "integer"
      +}
    • addedInput schema / properties / frameDurationMs
      Added value: +{
      +  "description": "GIF only. Milliseconds per frame, from 20 to 2000; defaults to 200. frameCount times this is the loop length.",
      +  "maximum": 2000,
      +  "minimum": 20,
      +  "type": "integer"
      +}
    • changedInput schema / properties / model / default
      Previous value: -"gpt-image-2.5-flare"New value: +"gpt-image-2.6-flare"
    • changedInput schema / properties / model / description
      Previous value: -"Image model. Defaults to gpt-image-2.5-flare for everyday generation and edits. gpt-image-2.5-sunburst for precision editing; gpt-image-2 remains available. nano-banana is Gemini 3 Pro Image; nano-banana-2 is Gemini 3.1 Flash Image. Both support up to 14 combined references. Honor the image model attached to the prompt."New value: +"Image model. Defaults to gpt-image-2.6-flare for everyday generation and edits. gpt-image-2.6-sunburst for demanding detail, layout or edit accuracy. gpt-image-2.5-flare, gpt-image-2.5-sunburst and gpt-image-2 remain available. nano-banana is Nano Banana Pro (Gemini 3 Pro Image); nano-banana-2.1 is Nano Banana 2.1, Google's update to nano-banana-2 (Gemini 3.1 Flash Image). All three support up to 14 combined references. Honor the image model attached to the prompt."
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "gpt-image-2.5-flare",
      -  "gpt-image-2.5-sunburst",
      -  "gpt-image-2",
      -  "nano-banana",
      -  "nano-banana-2"
      -]New value: +[
      +  "gpt-image-2.6-flare",
      +  "gpt-image-2.6-sunburst",
      +  "gpt-image-2.5-flare",
      +  "gpt-image-2.5-sunburst",
      +  "gpt-image-2",
      +  "nano-banana",
      +  "nano-banana-2.1",
      +  "nano-banana-2"
      +]
    • addedInput schema / properties / outputFormat
      Added value: +{
      +  "description": "Image 2.6 only. Defaults to png. gif makes a short looping animation, for a sticker, animated icon or reaction. svg makes an editable vector, for a logo, icon or flat illustration. Both are text-only: they cannot take references and use imageSize 1K. Use submit_video for real motion or footage.",
      +  "enum": [
      +    "png",
      +    "gif",
      +    "svg"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / quality / description
      Previous value: -"OpenAI models only. Defaults to high. xhigh and max require Image 2.5."New value: +"OpenAI models only. Defaults to high. xhigh and max require Image 2.5 or later."
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations (readOnly=false, destructive=true, idempotent=false, openWorld=false) by disclosing the Pro-tier requirement, that credits are consumed per model, that the job is asynchronous, and that nothing is placed on the timeline automatically. That lifecycle and cost information is exactly what an agent needs before triggering a paid write.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the mandatory prerequisite and the core action, then lifecycle, then the spend guardrail. Slightly redundant in pointing to the image-gen skill twice, but every paragraph carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter async, credit-consuming generation tool with no output schema, the description covers prerequisites, cost, follow-up tools for retrieving results, and where the assets do and do not land. Nothing an agent needs to call it safely is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real decision guidance beyond the schema: it constrains count/quality/frameCount escalation and routes model, reference, aspect-ratio and quality questions to the image-gen skill. It stops short of restating per-parameter rules (e.g. which sizes are experimental), which remains schema territory.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Submit an image generation job and create image, GIF or SVG asset(s) in the project library" gives a concrete verb, resource and output surface. It cleanly separates this tool from siblings like submit_video (named explicitly as the alternative for real motion) and submit_shader/submit_avatar_video.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit sequencing is spelled out: read the image-gen Skill first, call this, then use track_progress for asset ids and edit_item to place them. The external spend rule adds a clear when-not-to-call condition (no silent extra variants, longer durations, higher quality, or extra outputs), and submit_video is named as the alternative for real motion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.