{"servers":[{"url":"https://api.modellix.ai/api/v1/google/nano-banana-2.1-edit"}],"post":{"description":"[Core Function] Nano Banana 2.1 Edit is Google's fast image-editing and video-to-image model, exposed as google/nano-banana-2.1-edit. [Strengths] It edits up to 14 reference images, or one HTTPS video plus up to 10 images, at 1K, 2K, or 4K, with improved character and multi-reference consistency. thinkingLevel defaults to medium. Optional systemInstruction is omitted when blank. enableWebSearch turns on Google Search grounding (web and image search) only when true. [Best For] Prompted restyling, multi-image product and character edits, and turning a video into a still. [Limitations] Do NOT use this model for text-only generation, 512-pixel output, or audio generation. At least one of image or video is required. seed, temperature, topP, topK, and logprobs are rejected. [Routing] Use this endpoint when the user provides images or a video and wants Nano Banana 2.1. Use google/nano-banana-2-edit for the previous Gemini 3.1 Flash Image editor, including 512 output. Use google/nano-banana-2.1 when there is no visual input. Use google/nano-banana-pro-edit for the highest-fidelity still edits that do not need video input.","operationId":"nanoBanana21I2IAsync","requestBody":{"content":{"application/json":{"examples":{"basic_edit":{"summary":"Basic image editing","value":{"image":["https://example.com/image.jpg"],"prompt":"Transform this into a watercolor painting"}},"video_input":{"summary":"Generate an image from a video","value":{"aspectRatio":"16:9","imageSize":"1K","prompt":"Generate a cinematic key frame that best represents the video's main subject and scene","video":"https://example.com/video.mp4","videoMimeType":"video/mp4"}},"video_with_images":{"summary":"Generate an image from video and image references","value":{"aspectRatio":"16:9","image":["https://example.com/reference-1.jpg","https://example.com/reference-2.jpg"],"imageSize":"2K","prompt":"Use the video's composition and apply the visual style of the reference images","video":"https://example.com/video.mp4","videoMimeType":"video/mp4"}}},"schema":{"description":"At least one of image or video must be provided. Both may be provided together.","properties":{"aspectRatio":{"default":"1:1","description":"Output image aspect ratio. Defaults to 1:1.","enum":["1:1","3:2","2:3","3:4","1:4","4:1","4:3","4:5","5:4","1:8","8:1","9:16","16:9","21:9","9:21"],"example":"16:9","type":"string"},"enableWebSearch":{"description":"When true, enables Google Search grounding with web search and image search. Image search cannot be used to look up people. Omitted or false does not send the tool. Search uses extra tokens.","type":"boolean"},"image":{"description":"Input image URLs. At least one of image or video must be provided. Supports up to 14 images, or up to 10 images when video is also provided.","example":["https://example.com/image.jpg"],"items":{"description":"Image URL (e.g. `https://example.com/image.jpg`).","type":"string"},"maxItems":14,"minItems":1,"type":"array"},"imageSize":{"default":"1K","description":"Output image resolution. Defaults to 1K. 512 is not supported.","enum":["1K","2K","4K"],"example":"1K","type":"string"},"prompt":{"description":"Editing instruction describing the desired transformation","example":"Transform this into a watercolor painting","minLength":1,"type":"string"},"systemInstruction":{"description":"Optional system instruction. Omitted when empty. Not sent upstream when blank.","type":"string"},"thinkingLevel":{"default":"medium","description":"Thinking effort. minimal is fastest; high spends more thinking. Defaults to medium.","enum":["minimal","medium","high"],"example":"medium","type":"string"},"video":{"description":"Input video URL. At least one of image or video must be provided. Must be a publicly accessible HTTPS URL without cookies, authentication, or custom headers. Maximum file size: 15 MB.","example":"https://example.com/video.mp4","type":"string"},"videoMimeType":{"default":"video/mp4","description":"MIME type of the input video. Requires video. Defaults to video/mp4.","enum":["video/x-flv","video/quicktime","video/mpeg","video/mpegs","video/mpg","video/mp4","video/webm","video/wmv","video/3gpp"],"example":"video/mp4","type":"string"}},"required":["prompt"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"code":0,"data":{"get_result":{"method":"GET","url":"https://api.modellix.ai/api/v1/tasks/task-nb21e"},"model_id":"google/nano-banana-2.1-edit","status":"pending","task_id":"task-nb21e"},"message":"success"},"schema":{"properties":{"code":{"description":"Response code, 0 indicates success","example":0,"type":"integer"},"data":{"description":"Detailed data about the submitted asynchronous task.","properties":{"get_result":{"description":"API information to query the task result","properties":{"method":{"description":"HTTP method","example":"GET","type":"string"},"url":{"description":"Full URL to query the task result","example":"https://api.modellix.ai/api/v1/tasks/task-abc123","type":"string"}},"type":"object"},"model_id":{"description":"Model ID","example":"google/nano-banana-edit","type":"string"},"status":{"description":"Task status","enum":["pending","processing"],"example":"pending","type":"string"},"task_id":{"description":"Unique task identifier","example":"task-abc123","type":"string"}},"required":["status","task_id","model_id"],"type":"object"},"message":{"description":"Response message","example":"success","type":"string"}},"required":["code","message","data"],"type":"object"}}},"description":"Task submitted successfully"},"400":{"content":{"application/json":{"example":{"code":400,"message":"Invalid parameters: parameter 'prompt' is required"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Invalid request parameters"},"401":{"content":{"application/json":{"example":{"code":401,"message":"Authentication failed: invalid API key"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Unauthorized - Invalid or missing API Key"},"429":{"content":{"application/json":{"example":{"code":429,"message":"Rate limit exceeded: 100 requests per minute, retry after 60 seconds"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Too many requests - Rate limit exceeded","headers":{"X-RateLimit-Limit":{"description":"Maximum requests per minute","schema":{"example":100,"type":"integer"}},"X-RateLimit-Remaining":{"description":"Remaining quota in current window","schema":{"example":0,"type":"integer"}},"X-RateLimit-Reset":{"description":"Rate limit window reset time (Unix timestamp)","schema":{"example":1704067260,"type":"integer"}}}},"500":{"content":{"application/json":{"example":{"code":500,"message":"Internal server error"},"schema":{"properties":{"code":{"description":"Error code (equals HTTP status code)","example":400,"type":"integer"},"message":{"description":"Error message in format 'Category: detail'","example":"Invalid parameters: parameter 'prompt' is required","type":"string"}},"required":["code","message"],"type":"object"}}},"description":"Internal server error"}},"summary":"Nano Banana 2.1 Edit","x-mint":{"href":"google/nano-banana-2-1-edit"}}}