Nano Banana Image Generation API Nano Banana AI image generation and editing service.
API home page: Ace Data Cloud - Nano Banana Image Generation
Keywords: nanobanana-api, ai-image, image-editing, image-generation, rest-api, ai-api, aiimage, AI API, REST API, Developer API, Ace Data Cloud
Why Use Nano Banana Image Generation on Ace Data Cloud Unified developer platform with one API key, billing system, and usage tracking Production-ready AI API endpoints served from https://api.acedata.cloud English integration guides, API references, and service documentation Global-ready workflow for developers building chat, image, video, music, and search products <style> .nb-page * { box-sizing: border-box; } .nb-page h1, .nb-page h2, .nb-page h3, .nb-page h4, .nb-page h5, .nb-page h6, .nb-page p, .nb-page ul, .nb-page ol, .nb-page li, .nb-page pre, .nb-page blockquote, .nb-page table, .nb-page td, .nb-page th { margin: 0; padding: 0; } .nb-page { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: var(--el-text-color-primary); background: var(--el-bg-color); line-height: 1.6; } .nb-page a { text-decoration: none; color: inherit; } .nb-page a:hover { text-decoration: none; } .nb-page ul { list-style: none; } .markdown-body .nb-page a { color: inherit !important; text-decoration: none !important; } .markdown-body .nb-page a:hover { text-decoration: none !important; } .markdown-body .nb-page a.s-btn-primary, .markdown-body .nb-page a.price-btn-fill, .markdown-body .nb-page a.btn-cta-light { color: #ffffff !important; } .markdown-body .nb-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; } .markdown-body .nb-page a.price-btn-out { color: var(--el-text-color-primary) !important; } .markdown-body .nb-page a.btn-cta-ghost { color: #94a3b8 !important; } .markdown-body .nb-page a.btn-cta-ghost:hover { color: #e2e8f0 !important; } .markdown-body .nb-page h1, .markdown-body .nb-page h2 { border-bottom: none !important; padding-bottom: 0 !important; } .s-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; } .s-container-narrow { max-width: 800px; margin: 0 auto; padding: 0 24px; } .s-container-wide { max-width: 1100px; margin: 0 auto; padding: 0 32px; } .s-section { padding: 80px 0; } .s-section-lg { padding: 100px 0; } .s-section-sm { padding: 48px 0; } .s-bg-white { background: var(--el-bg-color); } .s-bg-gray { background: var(--el-bg-color-page); } .s-bg-dark { background: #0f172a; color: #f8fafc; } .s-header { text-align: center; margin-bottom: 64px; } .s-header h2 { font-size: clamp(28px, 4vw, 40px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; margin-bottom: 20px; line-height: 1.15; } .s-header p { font-size: clamp(16px, 2vw, 18px); color: var(--el-text-color-regular); max-width: 640px; margin: 0 auto; line-height: 1.6; } .s-bg-dark .s-header h2 { color: #f8fafc; } .s-bg-dark .s-header p { color: var(--el-text-color-secondary); } .nb-page .s-btn-primary { display: inline-flex; align-items: center; gap: 6px; padding: 14px 28px; background: #4285F4; color: #ffffff !important; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: background 0.2s, transform 0.15s; border: none; cursor: pointer; text-decoration: none !important; } .nb-page .s-btn-primary:hover { background: #3367D6; transform: translateY(-1px); text-decoration: none !important; } .nb-page .s-btn-secondary { display: inline-flex; align-items: center; gap: 6px; padding: 14px 28px; background: var(--el-bg-color); color: var(--el-text-color-primary) !important; border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 15px; font-weight: 600; transition: border-color 0.2s, background 0.2s; cursor: pointer; text-decoration: none !important; } .nb-page .s-btn-secondary:hover { background: var(--el-bg-color-page); text-decoration: none !important; } .nb-hero { padding: 100px 0 80px; text-align: center; background: var(--el-bg-color); position: relative; overflow: hidden; } .nb-hero::before { content: ''; position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 900px; height: 500px; background: radial-gradient(ellipse, rgba(66, 133, 244, 0.06) 0%, transparent 70%); pointer-events: none; } .hero-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 13px; font-weight: 600; color: var(--el-text-color-regular); margin-bottom: 28px; } .hero-badge .badge-dot { width: 6px; height: 6px; background: #10b981; border-radius: 50%; display: inline-block; } .nb-hero h1 { font-size: clamp(36px, 5vw, 60px); font-weight: 700; line-height: 1.05; letter-spacing: normal; color: var(--el-text-color-primary); margin-bottom: 20px; position: relative; } .nb-hero h1 span { color: #4285F4; } .nb-page .hero-subtitle { font-size: clamp(16px, 2vw, 20px); color: var(--el-text-color-regular); line-height: 1.6; max-width: 620px; margin: 0 auto 56px; position: relative; } .hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 56px; position: relative; } .hero-highlights { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; position: relative; } .hero-highlights .h-item { font-size: 14px; color: var(--el-text-color-regular); font-weight: 500; } .hero-highlights .h-div { width: 1px; height: 16px; background: var(--el-border-color-light); } @media (max-width: 640px) { .hero-highlights .h-div { display: none; } .hero-highlights { gap: 8px 16px; } .hero-actions { flex-direction: column; align-items: center; } .hero-actions a { width: 100%; max-width: 280px; justify-content: center; } } .nb-stats { padding: 48px 0; background: var(--el-bg-color-page); border-top: 1px solid var(--el-border-color-lighter); border-bottom: 1px solid var(--el-border-color-lighter); } .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center; } .stat-icon { font-size: 28px; margin-bottom: 12px; } .stat-val { font-size: clamp(28px, 4vw, 40px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; margin-bottom: 4px; } .stat-lbl { font-size: 14px; color: var(--el-text-color-secondary); font-weight: 500; } @media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } } @media (max-width: 480px) { .stats-grid { grid-template-columns: 1fr; gap: 20px; } } ```css .features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; } .feat-card { padding: 32px 28px; border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); background: var(--el-bg-color); transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .feat-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .feat-icon { font-size: 32px; margin-bottom: 16px; } .feat-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .feat-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .features-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 640px) { .features-grid { grid-template-columns: 1fr; } } .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } .gallery-item { border-radius: 20px; overflow: hidden; border: 1px solid var(--el-border-color-light); transition: transform 0.2s, box-shadow 0.2s; position: relative; } .gallery-item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); } .gallery-item img { width: 100%; height: auto; display: block; } .gallery-caption { padding: 12px 14px; background: var(--el-bg-color); } .gallery-caption h4 { font-size: 13px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; } .gallery-caption p { font-size: 11px; color: var(--el-text-color-secondary); line-height: 1.4; } .gallery-note { text-align: center; margin-top: 20px; font-size: 13px; color: var(--el-text-color-secondary); font-style: italic; } @media (max-width: 1024px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .gallery-grid { grid-template-columns: 1fr; } } html.dark .gallery-item { border-color: var(--el-border-color); } html.dark .gallery-caption { background: var(--el-bg-color-page); } html.dark .gallery-caption h4 { color: var(--el-text-color-primary); } html.dark .gallery-caption p { color: var(--el-text-color-regular); } .code-split { display: flex; gap: 48px; align-items: flex-start; } .code-left { flex: 1; min-width: 0; } .code-right { flex: 1; } .code-wrap { border-radius: 16px !important; overflow: hidden !important; border: 1px solid #334155 !important; background: #0f172a !important; } .markdown-body .nb-page .code-wrap { border-radius: 16px !important; overflow: hidden !important; border: 1px solid #334155 !important; background: #0f172a !important; } .code-bar { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 12px 20px !important; background: #1e293b !important; border-bottom: 1px solid #334155 !important; } .code-dots { display: flex; gap: 6px; } .code-dots i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; } .code-dots .r { background: #ef4444; } .code-dots .y { background: #f59e0b; } .code-dots .g { background: #10b981; } .code-lang { font-size: 12px; color: var(--el-text-color-secondary); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; } .code-block { padding: 24px !important; margin: 0 !important; overflow-x: auto !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important; white-space: pre !important; background: transparent !important; border: none !important; border-radius: 0 !important; } .markdown-body .nb-page .code-block { padding: 24px !important; margin: 0 !important; overflow-x: auto !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; font-size: 13.5px !important; line-height: 1.7 !important; color: #e2e8f0 !important; white-space: pre !important; background: transparent !important; border: none !important; border-radius: 0 !important; } .code-right h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 12px; letter-spacing: normal; } .code-right > p { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 32px; } .explain-steps { display: flex; flex-direction: column; gap: 20px; } .explain-step { display: flex; gap: 16px; align-items: flex-start; } .step-num { width: 32px; height: 32px; border-radius: 50%; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; color: var(--el-text-color-regular); flex-shrink: 0; } .step-text h4 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; } .step-text p { font-size: 14px; color: var(--el-text-color-secondary); line-height: 1.5; } @media (max-width: 768px) { .code-split { flex-direction: column; } .code-left { order: 2; } .code-right { order: 1; } } .actions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .act-card { padding: 28px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); text-align: center; transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .act-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .act-icon { font-size: 36px; margin-bottom: 16px; } .act-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .act-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .actions-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .actions-grid { grid-template-columns: 1fr; } } .usecases-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } .uc-card ``` { padding: 28px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); text-align: center; transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; } .uc-card:hover { box-shadow: 0 8px 24px 0 rgba(0,0,0,0.12); transform: translateY(-2px); } .uc-icon { font-size: 36px; margin-bottom: 16px; } .uc-card h3 { font-size: 17px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 8px; } .uc-card p { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.6; } @media (max-width: 1024px) { .usecases-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .usecases-grid { grid-template-columns: 1fr; } } .steps-row { display: flex; align-items: flex-start; justify-content: center; margin-bottom: 48px; } .stp-card { flex: 1; max-width: 320px; text-align: center; padding: 0 24px; } .stp-num { font-size: clamp(48px, 6vw, 72px); font-weight: 700; color: #e2e8f0; letter-spacing: -0.04em; line-height: 1; margin-bottom: 20px; } .stp-card h3 { font-size: 18px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 10px; } .stp-card p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; } .stp-conn { width: 60px; height: 2px; background: var(--el-border-color-light); margin-top: 36px; flex-shrink: 0; } .steps-cta { text-align: center; } @media (max-width: 768px) { .steps-row { flex-direction: column; align-items: center; gap: 32px; } .stp-conn { width: 2px; height: 32px; margin: 0; } .stp-card { max-width: 100%; } } .cmp-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; } .nb-page .cmp-table { display: table !important; width: 100%; max-width: 860px; margin: 0 auto; border-collapse: collapse; font-size: 15px; } .nb-page .cmp-table th, .cmp-table td { padding: 16px 20px; text-align: center; border-bottom: 1px solid var(--el-border-color-light); } .nb-page .cmp-table th { font-weight: 700; color: var(--el-text-color-regular); font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em; background: var(--el-bg-color-page); } .nb-page .cmp-table td:first-child, .cmp-table th:first-child { text-align: left; font-weight: 600; color: var(--el-text-color-primary); } .cmp-us { font-weight: 700; } .cmp-brand { font-weight: 700; color: var(--el-text-color-primary); } .ck { color: #10b981; font-weight: 700; font-size: 18px; } .cx { color: #d1d5db; font-weight: 700; font-size: 18px; } @media (max-width: 640px) { .cmp-table th, .cmp-table td { padding: 12px 10px; font-size: 13px; } } .models-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 720px; margin: 0 auto; } .mdl-card { padding: 32px 28px; border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); background: var(--el-bg-color); position: relative; } .mdl-card.mdl-rec { border-color: #4285F4; border-width: 2px; } .mdl-rec-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); padding: 4px 14px; background: #4285F4; color: #ffffff; border-radius: 9999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; } .mdl-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .mdl-head h3 { font-size: 20px; font-weight: 700; color: var(--el-text-color-primary); } .mdl-tag { padding: 3px 10px; background: var(--el-bg-color-page); border-radius: 9999px; font-size: 11px; font-weight: 700; color: var(--el-text-color-regular); text-transform: uppercase; letter-spacing: 0.04em; } .mdl-tag-blue { background: #eff6ff; color: #2563eb; } .mdl-tag-purple { background: #EBF2FE; color: #4285F4; } .nb-page .mdl-desc { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.6; margin-bottom: 20px; } .mdl-feats { display: flex; flex-direction: column; gap: 8px; } .mdl-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; } @media (max-width: 768px) { .models-grid { grid-template-columns: 1fr; } } .price-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 24px !important; max-width: 720px !important; margin: 0 auto !important; align-items: start; } .price-card { padding: 36px 32px; border: 1px solid var(--el-border-color-light); border-radius: 20px; background: var(--el-bg-color); position: relative; } .price-card-feat { border: 2px solid #4285F4; box-shadow: 0 8px 32px rgba(0,0,0,0.08); transform: scale(1.03); } .price-feat-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 5px 18px; background: #4285F4; color: #ffffff; border-radius: 9999px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; } .price-tier { font-size: 16px; font-weight: 700; color: var(--el-text-color-regular); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px; } .price-amt { font-size: clamp(36px, 5vw, 48px); font-weight: 700; color: var(--el-text-color-primary); letter-spacing: normal; } .price-per { font-size: 16px; color: var(--el-text-color-secondary); font-weight: 500; } .nb-page .price-desc { font-size: 14px; color: var(--el-text-color-secondary); margin-bottom: 24px; margin-top: 8px; } .nb-page .price-feats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 36px; } .nb-page .price-feats li { font-size: 14px; color: var(--el-text-color-regular); line-height: 1.4; display: flex; align-items: center; gap: 8px; } .price-ck { color: #10b981; font-weight: 700; font-size: 14px; flex-shrink: 0; } .price-btn { display: block; text-align: center; padding: 14px 0; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: background 0.2s, border-color 0.2s, transform 0.15s; width: 100%; cursor: pointer; } .nb-page .price-btn-fill { background: #4285F4; color: #ffffff !important; border: none; text-decoration: none !important; } .nb-page .price-btn-fill:hover { background: #3367D6; transform: translateY(-1px); text-decoration: none !important; } .nb-page .price-btn-out { background: var(--el-bg-color); color: var(--el-text-color-primary) !important; border: 1px solid var(--el-border-color-light); text-decoration: none !important; } .nb-page .price-btn-out:hover { background: var(--el-bg-color-page); text-decoration: none !important; } @media (max-width: 768px) { .price-grid { grid-template-columns: 1fr; } .price-card-feat { transform: none; } } .faq-list { display: flex; flex-direction: column; } .faq-item { border-bottom: 1px solid var(--el-border-color-light); } .faq-item:first-child { border-top: 1px solid #e5e7eb; } .faq-q { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--el-text-color-primary); list-style: none; user-select: none; transition: color 0.2s; } .faq-q::-webkit-details-marker { display: none; } .faq-q:hover { color: var(--el-text-color-primary); } .faq-chev { font-size: 18px; color: var(--el-text-color-secondary); transition: transform 0.2s; flex-shrink: 0; } .faq-item[open] .faq-chev { transform: rotate(180deg); } .faq-a { padding: 0 0 20px; } .faq-a p { font-size: 15px; color: var(--el-text-color-regular); line-height: 1.7; } .rel-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 800px; margin: 0 auto; } .rel-card { display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: var(--el-bg-color); border: none; border-radius: 20px; box-shadow: 0 2px 12px 0 rgba(0,0,0,0.08); transition: border-color 0.2s, box-shadow 0.2s; } .rel-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.05); } .rel-icon { font-size: 28px; flex-shrink: 0; } .rel-info { flex: 1; min-width: 0; } .rel-info h3 { font-size: 15px; font-weight: 700; color: var(--el-text-color-primary); margin-bottom: 2px; } .rel-info p { font-size: 13px; color: var(--el-text-color-secondary); line-height: 1.4; } .rel-arrow { font-size: 18px; color: #cbd5e1; flex-shrink: 0; transition: color 0.2s, transform 0.2s; } .rel-card:hover .rel-arrow { color: var(--el-text-color-regular); transform: translateX(3px); } @media (max-width: 640px) { .rel-grid { grid-template-columns: 1fr; } } .nb-cta { padding: 100px 0; background: #0f172a; text-align: center; position: relative; overflow: hidden; } .nb-cta::before { content: ''; position: absolute; top: -100px; left: 50%; transform: translateX(-50%); width: 700px; height: 400px; background: radial-gradient(ellipse, rgba(66, 133, 244, 0.12) 0%, transparent 70%); pointer-events: none; } .nb-cta h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 700; color: #f8fafc; letter-spacing: normal; margin-bottom: 28px; position: relative; } .nb-cta > div > p { font-size: clamp(16px, 2vw, 18px); color: var(--el-text-color-secondary); max-width: 520px; margin: 0 auto 56px; line-height: 1.6; position: relative; } .cta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; position: relative; } .nb-page .btn-cta-light { display: inline-flex; align-items: center; gap: 6px; padding: 14px 32px; background: #4285F4; color: #ffffff !important; border-radius: 9999px; font-size: 15px; font-weight: 700; transition: background 0.2s, transform 0.15s; text-decoration: none !important; } .nb-page .btn-cta-light:hover { background: #3367D6; transform: translateY(-1px); text-decoration: none !important; } .nb-page .btn-cta-ghost { display: inline-flex; align-items: center; padding: 14px 32px; background: transparent; color: #94a3b8 !important; border: 1px solid #334155; border-radius: 9999px; font-size: 15px; font-weight: 600; transition: border-color 0.2s, color 0.2s; text-decoration: none !important; } .nb-page .btn-cta-ghost:hover { border-color: var(--el-text-color-regular); color: #e2e8f0 !important; text-decoration: none !important; } .nb-page code { background: #dbeafe !important; padding: 2px 8px !important; border-radius: 5px !important; font-size: 13px !important; font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace !important; color: #1e40af !important; border: 1px solid #bfdbfe !important; } .s-text-dark { color: var(--el-text-color-primary); } .s-text-brand { color: #4285F4; } .s-section-body { font-size: 16px; color: var(--el-text-color-regular); line-height: 1.8; text-align: center; max-width: 680px; margin: 0 auto; } .s-section-body p + p { margin-top: 16px; } .s-text-muted { color: var(--el-text-color-secondary); } .tag-row { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; margin-top: 16px; } .tag-item ```css { padding: 4px 12px; background: var(--el-bg-color-page); border: 1px solid var(--el-border-color-light); border-radius: 9999px; font-size: 12px; font-weight: 600; color: var(--el-text-color-regular); } html.dark .nb-page { background: var(--el-bg-color); color: var(--el-text-color-primary); } html.dark .nb-page a { color: inherit; } html.dark .markdown-body .nb-page a { color: inherit !important; } html.dark .markdown-body .nb-page a.s-btn-primary, html.dark .markdown-body .nb-page a.price-btn-fill, html.dark .markdown-body .nb-page a.btn-cta-light { color: #ffffff !important; } html.dark .markdown-body .nb-page a.s-btn-secondary { color: var(--el-text-color-primary) !important; } html.dark .markdown-body .nb-page a.price-btn-out { color: var(--el-text-color-primary) !important; } html.dark .markdown-body .nb-page a.btn-cta-ghost { color: #94a3b8 !important; } html.dark .markdown-body .nb-page a.btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; } html.dark .s-bg-white { background: var(--el-bg-color); } html.dark .s-bg-gray { background: var(--el-bg-color-page); } html.dark .s-bg-dark { background: var(--el-bg-color); } html.dark .s-header h2 { color: var(--el-text-color-primary); } html.dark .s-header p { color: var(--el-text-color-secondary); } html.dark .nb-page .s-btn-primary { background: #4285F4; color: #ffffff !important; } html.dark .nb-page .s-btn-primary:hover { background: #3367D6; } html.dark .nb-page .s-btn-secondary { background: #1e293b; color: var(--el-text-color-primary) !important; border-color: #475569; } html.dark .nb-page .s-btn-secondary:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); } html.dark .nb-hero { background: var(--el-bg-color); } html.dark .nb-hero::before { background: radial-gradient(ellipse, rgba(66, 133, 244, 0.15) 0%, transparent 70%); } html.dark .hero-badge { background: var(--el-bg-color-page); border-color: var(--el-border-color); color: var(--el-text-color-secondary); } html.dark .nb-hero h1 { color: var(--el-text-color-primary); } html.dark .nb-hero h1 span { color: #6EA8FE; } html.dark .nb-page .hero-subtitle { color: var(--el-text-color-secondary); } html.dark .hero-highlights .h-item { color: var(--el-text-color-secondary); } html.dark .hero-highlights .h-div { background: var(--el-border-color); } html.dark .nb-stats { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .stat-val { color: var(--el-text-color-primary); } html.dark .stat-lbl { color: var(--el-text-color-regular); } html.dark .feat-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .feat-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .feat-card h3 { color: var(--el-text-color-primary); } html.dark .feat-card p { color: var(--el-text-color-secondary); } html.dark .code-right h2 { color: var(--el-text-color-primary); } html.dark .code-right > p { color: var(--el-text-color-secondary); } html.dark .step-num { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); } html.dark .step-text h4 { color: var(--el-text-color-primary); } html.dark .step-text p { color: var(--el-text-color-regular); } html.dark .nb-page code { background: #1e3a5f !important; color: #93c5fd !important; border-color: #2563eb !important; } html.dark .s-text-dark { color: var(--el-text-color-primary); } html.dark .s-text-brand { color: #6EA8FE; } html.dark .s-section-body { color: var(--el-text-color-secondary); } html.dark .act-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .act-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .act-card h3 { color: var(--el-text-color-primary); } html.dark .act-card p { color: var(--el-text-color-secondary); } html.dark .uc-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .uc-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 16px rgba(0,0,0,0.3); } html.dark .uc-card h3 { color: var(--el-text-color-primary); } html.dark .uc-card p { color: var(--el-text-color-secondary); } html.dark .stp-num { color: #334155; } html.dark .stp-card h3 { color: var(--el-text-color-primary); } html.dark .stp-card p { color: var(--el-text-color-secondary); } html.dark .stp-conn { background: var(--el-border-color); } html.dark .cmp-table th { background: var(--el-bg-color-page); color: var(--el-text-color-secondary); } html.dark .cmp-table td { border-color: var(--el-border-color); } html.dark .cmp-table th { border-color: var(--el-border-color); } html.dark .cmp-table td:first-child { color: var(--el-text-color-primary); } html.dark .cmp-brand { color: var(--el-text-color-primary); } html.dark .cx { color: var(--el-text-color-regular); } html.dark .mdl-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .mdl-card.mdl-rec { border-color: #4285F4; } html.dark .mdl-head h3 { color: var(--el-text-color-primary); } html.dark .mdl-tag { background: var(--el-border-color); color: var(--el-text-color-secondary); } html.dark .mdl-tag-blue { background: #1e3a5f; color: #60a5fa; } html.dark .mdl-tag-purple { background: rgba(66, 133, 244, 0.2); color: #6EA8FE; } html.dark .mdl-desc { color: var(--el-text-color-secondary); } html.dark .mdl-feats li { color: var(--el-text-color-secondary); } html.dark .price-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .price-card-feat { border-color: #4285F4; box-shadow: 0 8px 32px rgba(0,0,0,0.3); } html.dark .price-tier { color: var(--el-text-color-secondary); } html.dark .price-amt { color: var(--el-text-color-primary); } html.dark .price-desc { color: var(--el-text-color-regular); } html.dark .price-feats li { color: var(--el-text-color-secondary); } html.dark .nb-page .price-btn-out { background: #1e293b; color: var(--el-text-color-primary) !important; border-color: #334155; } html.dark .nb-page .price-btn-out:hover { background: var(--el-border-color); border-color: var(--el-text-color-regular); } html.dark .faq-item { border-color: var(--el-border-color); } html.dark .faq-q { color: var(--el-text-color-primary); } html.dark .faq-q:hover { color: #ffffff; } html.dark .faq-chev { color: var(--el-text-color-regular); } html.dark .faq-a p { color: var(--el-text-color-secondary); } html.dark .rel-card { background: var(--el-bg-color-page); border-color: var(--el-border-color); } html.dark .rel-card:hover { border-color: var(--el-text-color-regular); box-shadow: 0 4px 12px rgba(0,0,0,0.3); } html.dark .rel-info h3 { color: var(--el-text-color-primary); } html.dark .rel-info p { color: var(--el-text-color-regular); } html.dark .rel-arrow { color: var(--el-text-color-regular); } html.dark .rel-card:hover .rel-arrow { color: var(--el-text-color-secondary); } html.dark .nb-cta { background: #020617; } html.dark .nb-cta::before { background: radial-gradient(ellipse, rgba(66, 133, 244, 0.2) 0%, transparent 70%); } html.dark .tag-item { background: var(--el-border-color); border-color: var(--el-text-color-regular); color: var(--el-text-color-secondary); } html.dark .nb-page .btn-cta-light { color: #ffffff !important; } html.dark .nb-page .btn-cta-ghost { color: #94a3b8 !important; } html.dark .nb-page .btn-cta-ghost:hover { color: var(--el-text-color-primary) !important; } html.dark .nb-page .price-btn-fill { color: #ffffff !important; } </style> Nano Banana API · Ace Data Cloud
Nano Banana API: Generate AI Images Based on the Google Gemini 2.5 Flash/3 Pro Image model, it achieves high-quality image generation and editing through a simple REST API. Supports various scenarios such as text-to-image, multi-image editing, virtual dressing, product background changing, and more. ```
🖼️ 2 Operation Modes 🤖 2 Model Versions 📐 7 Aspect Ratios 🔑 Bearer Token Authentication
Nano Banana is a unified API wrapper based on the Google Gemini image generation model. It simplifies and optimizes the Gemini 2.5 Flash Image and Gemini 3 Pro Image models, providing a more user-friendly interface and lower prices.
Ace Data Cloud offers lower prices than the official (about 1/3 of the official price), while providing higher concurrency support , dedicated customer service, and 7×24 hours of stability assurance. No need to deal with the complex configurations of Google Cloud; it's ready to use.
Core Capabilities of Nano Banana API Text-to-Image and Multi-Image Editing, covering the complete workflow of image creation
✨
High-Quality Text-to-Image Input detailed text descriptions (subject, atmosphere, lighting, lens), and generate professional-grade high-quality images. Suitable for brand visuals, product posters, cover images, and more.
🔀
Multi-Image Joint Editing Upload multiple images (e.g., portrait + clothing), and the AI will intelligently merge them. Supports advanced editing operations such as virtual try-ons, product placements, and scene compositions.
👗
Provide portrait photos and clothing PNGs, automatically completing the dressing effect. Very suitable for e-commerce clothing displays and rapid expansion of live stream images.
🏠
Product Scene Replacement Place white-background product images into real scenes (wooden table, grass, bathroom, office desk), making detail pages richer and more lively.
🎨
Change materials, colors, and styles. Change bags to leather, drinks to different flavors, shoes to different colors—making visual SKU testing easier.
⚡
Set the callback_url, and results will be automatically pushed after the task is completed. No polling required, suitable for batch production scenarios.
Showcase of AI Generated Works The following images were all generated by the Nano Banana API—what you see is what you get
nano-banana · 3:2 · Text-to-Image
nano-banana · 16:9 · Text-to-Image
Luxury Product Photography nano-banana-pro · 1:1 · Text-to-Image
Golden Retriever Puppy in the Sun nano-banana · 3:4 · Text-to-Image
💡 All images were generated through a single API call, without any post-processing
curl -X POST https://api.acedata.cloud/nano-banana/images \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "action": "generate", "prompt": "White porcelain coffee cup, morning light windowsill, 85mm lens, shallow depth of field, soft highlights, healing, clean", "model": "nano-banana", "aspect_ratio": "3:2" }' { "success": true, "task_id": "c1075552-a527-4a70-8d98-ef783f4087c1", "trace_id": "3352b744-d17e-4d01-b1ef-a8c8e2ca3d2e", "data": [{ "image_url": "https://cdn.acedata.cloud/d635720766.png" }] } Quick Start—Get Started in 3 Minutes A simple REST API using Bearer Token authentication. One request can generate your first AI image.
1
Register on Ace Data Cloud and obtain your Bearer Token from the console
2
Send a request to /nano-banana/images with the prompt and parameters
3
Receive a permanently accessible image URL—ready for production use
From e-commerce content to brand creativity—Nano Banana can cover these scenarios
👗
Influencers take a single styling photo, and then use different clothing PNGs to batch generate "outfit images," quickly expanding store materials
📦
A single white-background product image can be synthesized into multiple scene images like wooden tables/grass/bathrooms, making detail pages richer and more persuasive
🎨
Quickly generate brand KVs, event posters, and cover images. Switch styles/holiday themes for the same main visual with one click
🤖
Integrate with Claude, ChatGPT through MCP Server or Dify plugin to achieve natural language image generation
Nano Banana is not just a simple text-to-image tool; it can also accomplish these advanced tasks
🎭
Convert anime characters/portraits into commercial figurine models, displayed with packaging boxes
🔧
Show the internal structure of products, with metal parts and electronic components decomposed and suspended, showcasing technical aesthetics
📷
Repair scratched and damaged black-and-white old photos, enhancing clarity and naturally coloring them
🚗
Naturally merge models, products, backgrounds, and other materials into a high-quality image
+ Multi-Angle Lenses + Emoji Generation + Sketch to Real Image + Map to Real Scene
3 Steps to Get Started Quickly From registration to generating your first AI image, it takes less than 3 minutes
01
Create a free account on Ace Data Cloud. Generate your Bearer Token from the API management console.
02
Initiate Your First API Call Send a POST request with a text prompt to /nano-banana/images. You can use SDK, cURL, or any HTTP client.
03
Integration and Expansion Embed the API into your application. Use Webhook for asynchronous processing, confidently expanding to production environments.
Why Choose Ace Data Cloud? Compare with Google official and see our advantages
Feature Ace Data Cloud Google Official Price As low as $0.0133 / call $0.039 Interactive / $0.02 Batch Activation Threshold ✓ Ready to use ✗ Requires Google Cloud configuration Concurrency Support ✓ High concurrency guarantee ✗ Default quota is low Webhook Callback ✓ Partial support Task Polling ✓ Free — MCP Server ✓ ✗ Dify Plugin ✓ ✗ Dedicated Customer Service ✓ ✗ 7×24 Monitoring ✓ Partial support
Which Model is Right for You? Choose the right model based on your quality and speed needs
Recommended
Based on Gemini 2.5 Flash Image. Faster generation speed, lower cost, suitable for batch content production and prototype validation.
✓ Faster response time ✓ As low as $0.0133 / call ✓ 7 aspect ratios ✓ Suitable for high-frequency scenarios New
Based on Gemini 3.1 Flash Image. Pro-level quality + Flash speed, a cost-effective choice.
✓ Pro-level image quality ✓ Flash-level response speed ✓ As low as $0.0267 / call ✓ Suitable for most scenarios Based on Gemini 3 Pro Image. Highest quality output, supports 2K/4K resolution. Suitable for flagship products and high-demand scenarios.
✓ Highest image quality ✓ As low as $0.0333 / call ✓ Supports 1K/2K/4K resolutionQuick Start curl --request POST " https://api.acedata.cloud/nano-banana/images" \ --header " Authorization: Bearer YOUR_API_KEY" \ --header " Content-Type: application/json" \ --data ' {}' Explore the supported endpoints and integration guides for Nano Banana Image Generation.
If you meet any issue, please check support info or browse the latest documentation on docs.acedata.cloud .