Skip to content

AceDataCloud/NanoBananaAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

100 Commits
 
 
 
 

Repository files navigation

Nano Banana Image Generation API

Nano Banana AI image generation and editing service.

Platform API Docs

Nano Banana Image Generation

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

Overview

<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
🖼️
2
Operation Modes
🤖
2
Model Versions
📡
2
API Interfaces
📐
7
Aspect Ratio Options

What is Nano Banana?

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.

👗

Virtual Dressing

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.

🎨

Attribute Replacement

Change materials, colors, and styles. Change bags to leather, drinks to different flavors, shoes to different colors—making visual SKU testing easier.

Asynchronous Webhook

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

White porcelain coffee cup, morning light windowsill

Morning Light Coffee Cup

nano-banana · 3:2 · Text-to-Image

Cyberpunk city skyline

Cyber City Skyline

nano-banana · 16:9 · Text-to-Image

Luxury perfume product photography

Luxury Product Photography

nano-banana-pro · 1:1 · Text-to-Image

Golden retriever puppy sunflower

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
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" }'
Response
{ "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

Get API Key

Register on Ace Data Cloud and obtain your Bearer Token from the console

2

Send POST Request

Send a request to /nano-banana/images with the prompt and parameters

3

Get Image URL

Receive a permanently accessible image URL—ready for production use

Applicable Scenarios

From e-commerce content to brand creativity—Nano Banana can cover these scenarios

👗

E-commerce Clothing

Influencers take a single styling photo, and then use different clothing PNGs to batch generate "outfit images," quickly expanding store materials

📦

Product Detail Pages

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

🎨

Brand Visuals

Quickly generate brand KVs, event posters, and cover images. Switch styles/holiday themes for the same main visual with one click

🤖

AI Agent Integration

Integrate with Claude, ChatGPT through MCP Server or Dify plugin to achieve natural language image generation

Advanced Features

Nano Banana is not just a simple text-to-image tool; it can also accomplish these advanced tasks

🎭

2D to 3D Figurines

Convert anime characters/portraits into commercial figurine models, displayed with packaging boxes

🔧

Product Exploded View

Show the internal structure of products, with metal parts and electronic components decomposed and suspended, showcasing technical aesthetics

📷

Old Photo Restoration

Repair scratched and damaged black-and-white old photos, enhancing clarity and naturally coloring them

🚗

Multi-Element Images

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

Register and Get API Key

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

nano-banana

Fast

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

nano-banana-2

Balanced

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

nano-banana-pro

High Quality

Based on Gemini 3 Pro Image. Highest quality output, supports 2K/4K resolution. Suitable for flagship products and high-demand scenarios.

Releases

No releases published

Packages

 
 
 

Contributors