Skip to main content
Niniejszy dokument przedstawia integrację i użycie Nano Banana Images API. Interfejs obsługuje dwie funkcjonalności: generowanie obrazów (generate) oraz edycję obrazów (edit).

Proces aplikacji

Aby korzystać z Nano Banana Images API, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, który należy zachować na przyszłość. Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę. Jeden token API wystarczy do korzystania ze wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku przyznawana jest darmowa pula, którą można wykorzystać bezpłatnie; w przypadku niewystarczającej puli można doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: Nano Banana Images API →

Przegląd interfejsu

  • Base URL: https://api.acedata.cloud
  • Endpoint: POST /nano-banana/images
  • Metoda autoryzacji: Nagłówek HTTP zawiera authorization: Bearer {token}
  • Nagłówki żądania:
    • accept: application/json
    • content-type: application/json
  • Akcja (action):
    • generate: generowanie obrazu na podstawie podanego tekstu
    • edit: edycja na podstawie podanego obrazu
  • Model (model) (opcjonalnie):
    • nano-banana (domyślny): oparty na Gemini 2.5 Flash Image, szybki, niskokosztowy
    • nano-banana-2-lite: oparty na Gemini 3.1 Flash Lite Image, obsługuje tylko 1K, szybkie generowanie
    • nano-banana-2: oparty na Gemini 3.1 Flash Image Preview, jakość Pro + szybkość Flash
    • nano-banana-pro: oparty na Gemini 3 Pro Image Preview, najwyższa jakość
    • nano-banana:official, nano-banana-2-lite:official, nano-banana-2:official, nano-banana-pro:official: oficjalne wersje modeli, lepsza jakość obrazu i stabilność, różne zasady rozliczeń
  • Asynchroniczny callback: opcjonalnie, przez callback_url można otrzymać powiadomienia o zakończeniu zadania i wyniki
  • Liczba obrazów: opcjonalnie, przez count można określić 1–4 obrazy, domyślnie 1; każdy obraz jest generowany w osobnym wywołaniu; zwykłe błędy techniczne lub odmowy bezpieczeństwa dostawcy wpływają tylko na odpowiednie wywołanie, pozostałe obrazy są zwracane normalnie i są rozliczane według faktycznej liczby udanych obrazów

Szybki start: generowanie obrazów (action=generate)

Minimalne wymagane parametry: action, prompt Gdy chcesz bezpośrednio wygenerować obraz na podstawie podanego tekstu, ustaw action na generate i podaj jasny prompt.

Przykład żądania (cURL)

Przykład żądania (Python)

Przykład udanej odpowiedzi

Opis pól

  • success: czy to żądanie zakończyło się sukcesem.
  • task_id: identyfikator zadania.
  • trace_id: identyfikator śledzenia, ułatwiający rozwiązywanie problemów.
  • count: liczba obrazów do wygenerowania lub edytowania, obsługuje 1–4, domyślnie 1. data zawiera tylko obrazy, które zostały pomyślnie wygenerowane, a rozliczenie odbywa się według faktycznej liczby zwróconych obrazów. Każde wywołanie generujące korzysta z oryginalnej polityki bezpieczeństwa dostawcy; jeśli jakieś wywołanie zostanie odrzucone, nie wpłynie to na inne udane wywołania, a jeśli wszystkie wywołania zostaną odrzucone, zwróci 403.
  • data[]: lista wyników.
    • prompt: użyty do generowania tekst (echo).
    • image_url: bezpośredni URL do wygenerowanego obrazu.
Uwaga: /nano-banana/images wymaga jedynie action i prompt, aby wygenerować obraz.

Edycja obrazów (action=edit)

Gdy chcesz edytować istniejący obraz, ustaw action na edit i przekaż listę linków do obrazów do edytowania przez image_urls (1 lub więcej), jednocześnie podając opis celu edycji w prompt. Na przykład, jeśli dostarczymy zdjęcie osoby i zdjęcie ubrania, aby osoba mogła założyć to ubranie, możemy jednocześnie przesłać linki do obrazów i określić akcję jako edit. URL może być publicznie dostępnym linkiem HTTP, z protokołem https lub http, lub może być obrazem zakodowanym w Base64, takim jak data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+gAAAVGCAMAAAA6u2FyAAADAFBMVEXq6uwdHCEeHyMdHS....

Przykład żądania (cURL)

Przykład żądania (Python)

Przykład udanej odpowiedzi

Opis pól

  • image_urls[]: lista URL obrazów do edycji (musi być dostępna publicznie). Można przesłać wiele, usługa połączy te materiały z prompt w celu edycji.
  • Pozostałe pola są takie same jak w odpowiedzi „generowanie obrazów”.

Asynchroniczny callback (opcjonalny, zalecany)

Generowanie lub edytowanie może zająć trochę czasu. Aby uniknąć zajmowania zasobów przez długie połączenia, zaleca się użycie callback_url do Webhook callback:
  1. Dodaj callback_url do ciała żądania, na przykład adres Webhook na swoim serwerze (musi być dostępny publicznie, obsługujący POST JSON).
  2. API natychmiast zwróci odpowiedź zawierającą task_id (lub podstawowy wynik).
  3. Gdy zadanie zostanie zakończone, platforma wyśle pełny JSON do callback_url metodą POST. Możesz powiązać żądanie z wynikiem za pomocą task_id.
Przykład ładunku callback (struktura pól jest zgodna z synchronizowaną odpowiedzią sukcesu):

Obsługa błędów

W przypadku niepowodzenia wywołania zwróci standardowy format błędu oraz identyfikator śledzenia. Powszechne błędy to:
  • 400 token_mismatched: żądanie nielegalne lub błąd parametrów.
  • 400 api_not_implemented: interfejs nie został zaimplementowany (proszę skontaktować się z pomocą techniczną).
  • 401 invalid_token: niepowodzenie autoryzacji lub brak tokena.
  • 403 forbidden: natywna polityka bezpieczeństwa dostawcy odrzuciła żądanie lub wynik generacji. To wywołanie nie zwróci obrazu i nie będzie obciążane; żądania z wieloma obrazami mogą nadal zwracać i obciążać inne udane wywołania.
  • 429 too_many_requests: przekroczono limit częstotliwości żądań.
  • 500 api_error: wyjątek po stronie serwera.

Przykład odpowiedzi błędu


Zestawienie parametrów i uwagi

  • Wymagane: action, prompt
  • Specjalne dla edycji: image_urls (tablica, co najmniej 1 pozycja)
  • Opcjonalne: model (domyślnie nano-banana, opcjonalnie nano-banana-2-lite, nano-banana-2, nano-banana-pro, lub odpowiadająca wersja :official), aspect_ratio (proporcje, np. 1:1, 16:9), resolution (rozdzielczość, np. 1K, 2K, 4K; nano-banana-2-lite obsługuje tylko 1K), callback_url (do asynchronicznego callbacku)
  • Nagłówki: należy podać authorization: Bearer {token}; accept zaleca się ustawić na application/json
  • Dostępność obrazów: image_urls muszą być bezpośrednimi linkami dostępnymi publicznie (HTTP/HTTPS), zaleca się użycie HTTPS
  • Idempotencja i śledzenie: zachowaj task_id i trace_id, aby ułatwić rozwiązywanie problemów i powiązanie wyników