Use nano-banana-2.1 to generate a new image from text or edit with reference images. Each request delivers one image. This model is separate from Nano Banana 2 and does not substitute the older model on failure.
Property
Value
Public model ID
nano-banana-2.1
Resolutions
1K (default), 2K, 4K
Size
auto (default) or one of ten supported ratios
Count
n: 1 only
References
Up to 16 public URLs or PNG/JPEG/WebP Data URLs
Waiting response
data[].url, or HTTP 202 with a task if still running
Resolution
Price per delivered image
1K
$0.04 (4 FreeModel credits)
2K
$0.05 (5 FreeModel credits)
4K
$0.06 (6 FreeModel credits)
100 FreeModel credits = $1. References have no extra charge. Confirm current availability and prices with GET /v1/models and the live model page.
Optional, up to 16 publicly reachable HTTP(S) URLs or PNG, JPEG and WebP Data
URLs. Private, loopback and credentialed URLs are rejected. Data URL images
must be valid Base64 and at most 20 MiB decoded per image, with at most 50 MiB
decoded in total. The whole JSON request is subject to the gateway
request-size cap (default 10 MiB), so use public URLs for larger references.
This route does not support quality, custom pixel sizes, version, masks, video inputs or search controls. Official token-priced fallback is disabled; official_fallback: true is rejected before a billing reservation.
Send Prefer: respond-async to receive HTTP 202 immediately. Use Idempotency-Key (1–200 characters) for retries of the same submission. A normal waiting request can also return 202 when the job is still running. Read the gateway task ID and poll GET /v1/tasks/{id} with the same key until succeeded or failed.
The gateway reserves the selected resolution price before submitting the
request and settles the delivered image count against that immutable price
version. Explicit failure or cancellation releases the reservation. Uncertain
or invalid results are held for reconciliation. Repeated status polls do not
charge twice. Result URLs are temporary: download successful files promptly
and respect any returned expiry time.
Try Nano Banana 2.1
Generate from text or references in the model Playground and compare live
rates.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"FreeModel","description":"FreeModel API documentation for text, image, and video models, integrations, guides, and troubleshooting.","colors":{"primary":"#4F46E5","light":"#7C6FF0","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/freemodel/7w8_u0KneIRvUPMZ/logo/light.svg?fit=max\u0026auto=format\u0026n=7w8_u0KneIRvUPMZ\u0026q=85\u0026s=fcf236d6f35ffaaf9aeaf391b2fc3ffe","dark":"https://mintcdn.com/freemodel/7w8_u0KneIRvUPMZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=7w8_u0KneIRvUPMZ\u0026q=85\u0026s=a090a2c72503058cad34475464547785"},"favicon":"https://mintcdn.com/freemodel/2JFPcrdyx595AdAq/favicon.svg?fit=max\u0026auto=format\u0026n=2JFPcrdyx595AdAq\u0026q=85\u0026s=9140cf4a97dbc91f0e6d8495d203ec23","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.freemodel.app"}},"navbar":{"links":[{"href":"https://freemodel.app/dashboard","label":"Console"}],"primary":{"type":"button","label":"Get API Key","href":"https://freemodel.app/sign-up"}},"footer":{"socials":{"website":"https://freemodel.app"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"freemodel","hasAudioNarration":false,"actualSubdomain":"freemodel","customDomains":["docs.freemodel.app"],"gitSource":{"type":"github","owner":"bytevirts","repo":"freemodel-doc","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"89f073d7-bc5c-48ec-9cd7-2e2d9d441d1c","liveDeploymentHistoryId":"6ac7bf81cd1d8ab9d9586523","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac7bf81cd1d8ab9d9586523"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac7bf81cd1d8ab9d9586523","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Manual","count":66},{"language":"default","tag":"Video Series","count":35},{"language":"default","tag":"Text Series","count":18},{"language":"default","tag":"Seedance 2.0","count":9},{"language":"default","tag":"GPT-5","count":8},{"language":"default","tag":"Seedance 2.5","count":8},{"language":"default","tag":"Integrations","count":8},{"language":"default","tag":"Veo 3.1","count":7},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Image Series","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-manual/image/nano-banana-2-1","slug":"/api-manual/image/nano-banana-2-1","pageMetadata":{"title":"Nano Banana 2.1","description":"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.","api":"POST /v1/images/generations","href":"/api-manual/image/nano-banana-2-1"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CodeBlock,Heading,Note,ParamField,Table}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`nano-banana-2.1`}),` to generate a new image from text or edit with reference images. Each request delivers one image. This model is separate from Nano Banana 2 and does not substitute the older model on failure.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Public model ID`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`nano-banana-2.1`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Resolutions`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`1K`}),` (default), `,_jsx(_components.code,{children:`2K`}),`, `,_jsx(_components.code,{children:`4K`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Size`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`auto`}),` (default) or one of ten supported ratios`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Count`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`n: 1`}),` only`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`References`}),_jsx(_components.td,{children:`Up to 16 public URLs or PNG/JPEG/WebP Data URLs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Waiting response`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`data[].url`}),`, or HTTP `,_jsx(_components.code,{children:`202`}),` with a task if still running`]})]})]})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Resolution`}),_jsx(_components.th,{style:{textAlign:`right`},children:`Price per delivered image`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`1K`})}),_jsx(_components.td,{style:{textAlign:`right`},children:`$0.04 (4 FreeModel credits)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`2K`})}),_jsx(_components.td,{style:{textAlign:`right`},children:`$0.05 (5 FreeModel credits)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`4K`})}),_jsx(_components.td,{style:{textAlign:`right`},children:`$0.06 (6 FreeModel credits)`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`100 FreeModel credits = $1`}),`. References have no extra charge. Confirm current availability and prices with `,_jsx(_components.a,{href:`/api-reference/list-models`,children:_jsx(_components.code,{children:`GET /v1/models`})}),` and the `,_jsx(_components.a,{href:`https://freemodel.app/models/nano-banana-2-1`,children:`live model page`}),`.`]}),`\n`,_jsx(ParamField,{body:`model`,type:`string`,required:true,id:`param-model`,children:_jsxs(_components.p,{children:[`Set to `,_jsx(_components.code,{children:`nano-banana-2.1`}),`.`]})}),`\n`,_jsx(ParamField,{body:`prompt`,type:`string`,required:true,id:`param-prompt`,children:_jsx(_components.p,{children:`A non-empty visual brief of at most 100,000 characters. For edits, describe\nwhat to change and what to preserve.`})}),`\n`,_jsx(ParamField,{body:`resolution`,type:`string`,default:`1K`,id:`param-resolution`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`1K`}),`, `,_jsx(_components.code,{children:`2K`}),` or `,_jsx(_components.code,{children:`4K`}),`. This selects the billed resolution tier.`]})}),`\n`,_jsx(ParamField,{body:`size`,type:`string`,default:`auto`,id:`param-size`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`1:1`}),`, `,_jsx(_components.code,{children:`16:9`}),`, `,_jsx(_components.code,{children:`9:16`}),`, `,_jsx(_components.code,{children:`4:3`}),`, `,_jsx(_components.code,{children:`3:4`}),`, `,_jsx(_components.code,{children:`3:2`}),`, `,_jsx(_components.code,{children:`2:3`}),`, `,_jsx(_components.code,{children:`5:4`}),`, `,_jsx(_components.code,{children:`4:5`}),` or\n`,_jsx(_components.code,{children:`21:9`}),`.`]})}),`\n`,_jsx(ParamField,{body:`n`,type:`integer`,default:`1`,id:`param-n`,children:_jsx(_components.p,{children:`This route accepts one image per request. Submit separate requests for\nvariants.`})}),`\n`,_jsx(ParamField,{body:`image_urls`,type:`string[]`,id:`param-image-urls`,children:_jsx(_components.p,{children:`Optional, up to 16 publicly reachable HTTP(S) URLs or PNG, JPEG and WebP Data\nURLs. Private, loopback and credentialed URLs are rejected. Data URL images\nmust be valid Base64 and at most 20 MiB decoded per image, with at most 50 MiB\ndecoded in total. The whole JSON request is subject to the gateway\nrequest-size cap (default 10 MiB), so use public URLs for larger references.`})}),`\n`,_jsxs(_components.p,{children:[`This route does not support `,_jsx(_components.code,{children:`quality`}),`, custom pixel sizes, `,_jsx(_components.code,{children:`version`}),`, masks, video inputs or search controls. Official token-priced fallback is disabled; `,_jsx(_components.code,{children:`official_fallback: true`}),` is rejected before a billing reservation.`]}),`\n`,_jsx(Heading,{level:`2`,id:`generate-an-image`,children:`Generate an image`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.freemodel.app/v1/images/generations`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FREEMODEL_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"nano-banana-2.1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prompt\": \"A ceramic coffee mug on a walnut table, soft window light, product photo\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"resolution\": \"1K\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"size\": \"1:1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"n\": 1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`A normal request waits for a terminal result (default 180 seconds). Success returns image URLs:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1791460800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://cdn.example.com/generated-image.png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`edit-with-a-reference`,children:`Edit with a reference`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"nano-banana-2.1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Preserve the mug shape and replace the background with warm linen\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"resolution\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2K\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"size\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"4:3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"n\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"image_urls\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://cdn.example.com/reference-mug.png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`run-asynchronously`,children:`Run asynchronously`}),`\n`,_jsxs(_components.p,{children:[`Send `,_jsx(_components.code,{children:`Prefer: respond-async`}),` to receive HTTP `,_jsx(_components.code,{children:`202`}),` immediately. Use `,_jsx(_components.code,{children:`Idempotency-Key`}),` (1–200 characters) for retries of the same submission. A normal waiting request can also return `,_jsx(_components.code,{children:`202`}),` when the job is still running. Read the gateway task ID and poll `,_jsx(_components.a,{href:`/api-reference/task-status`,children:_jsx(_components.code,{children:`GET /v1/tasks/{id}`})}),` with the same key until `,_jsx(_components.code,{children:`succeeded`}),` or `,_jsx(_components.code,{children:`failed`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.freemodel.app/v1/images/generations`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FREEMODEL_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Prefer: respond-async\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Idempotency-Key: mug-concept-001\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{\"model\":\"nano-banana-2.1\",\"prompt\":\"A blue ceramic mug on linen\",\"resolution\":\"1K\",\"size\":\"16:9\",\"n\":1}'`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.freemodel.app/v1/tasks/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TASK_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$FREEMODEL_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The gateway reserves the selected resolution price before submitting the\nrequest and settles the delivered image count against that immutable price\nversion. Explicit failure or cancellation releases the reservation. Uncertain\nor invalid results are held for reconciliation. Repeated status polls do not\ncharge twice. Result URLs are temporary: download successful files promptly\nand respect any returned expiry time.`})}),`\n`,_jsx(Card,{title:`Try Nano Banana 2.1`,icon:`wand-magic-sparkles`,href:`https://freemodel.app/models/nano-banana-2-1`,children:_jsx(_components.p,{children:`Generate from text or references in the model Playground and compare live\nrates.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Nano Banana 2.1","description":"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.","api":"POST /v1/images/generations","href":"/api-manual/image/nano-banana-2-1"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Generate an image","slug":"generate-an-image","depth":2,"children":[]},{"title":"Edit with a reference","slug":"edit-with-a-reference","depth":2,"children":[]},{"title":"Run asynchronously","slug":"run-asynchronously","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Nano Banana 2.1","path":"/v1/images/generations","servers":[{"url":"https://api.freemodel.app"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"model":[{"type":"string","description":"Set to `nano-banana-2.1` .","required":true}],"prompt":[{"type":"string","description":"A non-empty visual brief of at most 100,000 characters. For edits, describe what to change and what to preserve.","required":true}],"resolution":[{"type":"string","description":"`1K` , `2K` or `4K` . This selects the billed resolution tier."}],"size":[{"type":"string","description":"`auto` , `1:1` , `16:9` , `9:16` , `4:3` , `3:4` , `3:2` , `2:3` , `5:4` , `4:5` or `21:9` ."}],"n":[{"type":"integer","description":"This route accepts one image per request. Submit separate requests for variants."}],"image_urls":[{"type":"array","items":[{"type":"string"}],"description":"Optional, up to 16 publicly reachable HTTP(S) URLs or PNG, JPEG and WebP Data URLs. Private, loopback and credentialed URLs are rejected. Data URL images must be valid Base64 and at most 20 MiB decoded per image, with at most 50 MiB decoded in total. The whole JSON request is subject to the gateway request-size cap (default 10 MiB), so use public URLs for larger references."}]}}],"examples":{"example":{"value":{"model":"\u003cstring>","prompt":"\u003cstring>","resolution":"\u003cstring>","size":"\u003cstring>","n":123,"image_urls":["\u003cstring>"]}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"freemodel","siteName":"FreeModel","title":"Nano Banana 2.1 - FreeModel","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T16:06:48.395Z","originalFileLocation":"api-manual/image/nano-banana-2-1.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\">\u003cmeta data-mint-head name=\"application-name\" content=\"FreeModel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Nano Banana 2.1 - FreeModel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"FreeModel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://freemodel.mintlify.app/_mintlify/api/og/v2?division=Image+Series\u0026amp;title=Nano+Banana+2.1\u0026amp;description=Generate+and+edit+1K%2C+2K+and+4K+images+with+nano-banana-2.1+and+predictable+per-image+billing.\u0026amp;theme=bf4a5e80ac9223cc9f3c7019\u0026amp;signature=7bbc32df570a54756f7d14e2b558b7f71a1c199c22ec7bf6990dd27083318031\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Nano Banana 2.1 - FreeModel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://freemodel.mintlify.app/_mintlify/api/og/v2?division=Image+Series\u0026amp;title=Nano+Banana+2.1\u0026amp;description=Generate+and+edit+1K%2C+2K+and+4K+images+with+nano-banana-2.1+and+predictable+per-image+billing.\u0026amp;theme=bf4a5e80ac9223cc9f3c7019\u0026amp;signature=7bbc32df570a54756f7d14e2b558b7f71a1c199c22ec7bf6990dd27083318031\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/freemodel/F9mArZ69D1lo8bcx/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"FreeModel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-manual/image/nano-banana-2-1.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.freemodel.app/#organization\",\"name\":\"FreeModel\",\"url\":\"https://docs.freemodel.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/freemodel/7w8_u0KneIRvUPMZ/logo/light.svg?fit=max\u0026auto=format\u0026n=7w8_u0KneIRvUPMZ\u0026q=85\u0026s=fcf236d6f35ffaaf9aeaf391b2fc3ffe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.freemodel.app#website\",\"name\":\"FreeModel\",\"url\":\"https://docs.freemodel.app\",\"publisher\":{\"@id\":\"https://docs.freemodel.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1#webpage\",\"url\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1\",\"name\":\"Nano Banana 2.1\",\"description\":\"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\",\"dateModified\":\"2026-10-08T16:06:48.395Z\",\"isPartOf\":{\"@id\":\"https://docs.freemodel.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"FreeModel\",\"item\":\"https://docs.freemodel.app\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nano Banana 2.1\",\"item\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1#apireference\",\"headline\":\"Nano Banana 2.1\",\"name\":\"Nano Banana 2.1\",\"description\":\"Generate and edit 1K, 2K and 4K images with nano-banana-2.1 and predictable per-image billing.\",\"url\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1\",\"mainEntityOfPage\":{\"@id\":\"https://docs.freemodel.app/api-manual/image/nano-banana-2-1#webpage\"},\"dateModified\":\"2026-10-08T16:06:48.395Z\",\"publisher\":{\"@id\":\"https://docs.freemodel.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.freemodel.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"FreeModel\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"FreeModel","nav":{"global":null,"tabs":[{"tab":"API Manual","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"FreeModel API Docs – GPT-5.x / Gemini / Seedance Unified Gateway","sidebarTitle":"FreeModel API overview","href":""}]},{"group":"Text Series","icon":"font","pages":[{"group":"GPT-5","pages":[{"title":"Free / Low-Cost GPT-5.4 API","sidebarTitle":"GPT-5.4","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-4"},{"title":"GPT-5.4 Mini","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-4-mini"},{"title":"GPT-5.4 Nano","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-4-nano"},{"title":"GPT-5.5","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-5"},{"title":"Free / Low-Cost GPT-5.6 Sol API","sidebarTitle":"GPT-5.6 Sol","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-sol"},{"title":"GPT-5.6 Terra","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-terra"},{"title":"GPT-5.6 Luna","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-luna"},{"title":"Free / Low-Cost GPT-5.6 API","sidebarTitle":"GPT-5.6","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6"}]},{"group":"Grok","pages":[{"title":"Grok 4.6","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-6"},{"title":"Grok 4.5","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-5"},{"title":"Grok 4.3","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-3"}]},{"group":"Gemini","pages":[{"title":"Gemini 3.8 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-8-flash"},{"title":"Gemini 3.6 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-6-flash"},{"title":"Gemini 3.5 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-5-flash"},{"title":"Gemini 3.1 Pro Preview","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-1-pro-preview"}]},{"group":"DeepSeek","pages":[{"title":"DeepSeek V4 Pro","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-v4-pro"},{"title":"DeepSeek V4 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-v4-flash"},{"title":"DeepSeek Flash","description":"Call DeepSeek DeepSeek Flash (`deepseek-flash`) through FreeModel with per-million-token pricing and curl examples.","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-flash"}]}]},{"group":"Image Series","icon":"image","pages":[{"title":"Nano Banana 2.1","api":"POST /v1/images/generations","href":"/api-manual/image/nano-banana-2-1"},{"title":"GPT Image 2","description":"Generate one image from $0.03 with quality and size controls.","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2"},{"title":"GPT Image 2.5 Ext","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-5-ext"},{"title":"GPT Image 2.5 Ext Sunburst","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-5-ext-sunburst"},{"title":"GPT Image 2 All","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-all"}]},{"group":"Video Series","icon":"video","pages":[{"group":"Seedance 2.0","pages":[{"title":"Seedance 2.0 T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-t2v"},{"title":"Seedance 2.0 I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-i2v"},{"title":"Seedance 2.0 R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-r2v"},{"title":"Seedance 2.0 Fast T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-t2v"},{"title":"Seedance 2.0 Fast I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-i2v"},{"title":"Seedance 2.0 Fast R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-r2v"},{"title":"Seedance 2.0 Mini T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-t2v"},{"title":"Seedance 2.0 Mini I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-i2v"},{"title":"Seedance 2.0 Mini R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-r2v"}]},{"group":"Seedance 2.5","pages":[{"title":"Seedance 2.5 T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-t2v"},{"title":"Seedance 2.5 I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-i2v"},{"title":"Seedance 2.5 R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-r2v"},{"title":"Seedance 2.5 Extend","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-extend"},{"title":"Seedance 2.5 480p","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-480p"},{"title":"Seedance 2.5 720p","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-720p"},{"title":"Seedance 2.5 480p V2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-480p-v2v"},{"title":"Seedance 2.5 720p V2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-720p-v2v"}]},{"group":"Gemini Omni Flash 1.1","pages":[{"title":"Gemini Omni Flash 1.1 T2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-t2v"},{"title":"Gemini Omni Flash 1.1 I2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-i2v"},{"title":"Gemini Omni Flash 1.1 R2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-r2v"},{"title":"Gemini Omni Flash 1.1 Extend","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-extend"}]},{"group":"Gemini Omni","pages":[{"title":"Gemini Omni T2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-t2v"},{"title":"Gemini Omni I2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-i2v"},{"title":"Gemini Omni R2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-r2v"},{"title":"Gemini Omni Extend","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-extend"}]},{"group":"Veo 3.1","pages":[{"title":"Veo 3.1 Lite","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-lite"},{"title":"Veo 3.1 Lite 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-lite-4k"},{"title":"Veo 3.1 Fast","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast"},{"title":"Veo 3.1 Fast 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast-4k"},{"title":"Veo 3.1 Fast Reference","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast-ref"},{"title":"Veo 3.1 Quality","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-quality"},{"title":"Veo 3.1 Quality 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-quality-4k"}]},{"group":"MiniMax H3","pages":[{"title":"MiniMax H3","api":"POST /v1/videos","href":"/api-manual/video/minimax-h3"},{"title":"MiniMax H3 2K","api":"POST /v1/videos","href":"/api-manual/video/minimax-h3-2k"}]},{"group":"Grok Imagine","pages":[{"title":"Grok Imagine 1.5 Fast","api":"POST /v1/videos","href":"/api-manual/video/grok-imagine-1-5-fast"}]}]},{"group":"Endpoint Reference","icon":"brackets-curly","pages":[{"title":"Chat Completions protocol","api":"POST /v1/chat/completions","href":"/api-reference/chat-completions"},{"title":"Claude Messages Compatible Endpoint","sidebarTitle":"Claude Messages","api":"POST /v1/messages","href":"/api-reference/claude-messages"},{"title":"Image API protocol","api":"POST /v1/images/generations","href":"/api-reference/images"},{"title":"Video API workflow","api":"POST /v1/videos","href":"/api-reference/video-generation"},{"title":"List models","api":"GET /v1/models","href":"/api-reference/list-models"}]},{"group":"Task Management","icon":"list-check","pages":[{"title":"Get task status","api":"GET /v1/tasks/{id}","href":"/api-reference/task-status"},{"title":"Task webhooks","href":"/api-reference/webhooks"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/quickstart"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/faqs"}]}]},"title":"Nano Banana 2.1 - FreeModel","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js"]}