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

Proces aplikacji

Przed użyciem, proszę przejść na platformę XHuoAPI i wejść do Nano Banana Images API oraz kliknąć “Acquire”, aby złożyć wniosek o aktywację. Przy pierwszym wniosku zazwyczaj dostępny jest darmowy limit. Po zakończeniu aktywacji, można uzyskać Bearer Token do wywoływania API na platformie.

Przegląd interfejsu

  • Base URL: https://api.xhuoapi.ai/v1
  • Endpoint: POST /nano-banana/images
  • Metoda autoryzacji: W nagłówku HTTP należy przesłać authorization: Bearer {token}
  • Nagłówki żądania:
    • accept: application/json
    • content-type: application/json
  • Akcja (action):
    • generate: generowanie obrazu na podstawie tekstowego opisu
    • edit: edytowanie na podstawie podanego obrazu
  • Model (model) (opcjonalnie):
    • nano-banana (domyślny): oparty na Gemini 2.5 Flash Image, szybki, niskokosztowy
    • 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ść
  • Asynchroniczny callback: opcjonalnie, można otrzymać powiadomienie o zakończeniu zadania i wyniku przez callback_url

Szybki start: generowanie obrazu (action=generate)

Minimalne wymagane parametry: action, prompt Gdy chcesz bezpośrednio wygenerować obraz na podstawie opisu, 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: ID zadania.
  • trace_id: ID śledzenia, ułatwiające rozwiązywanie problemów.
  • data[]: Lista wyników.
    • prompt: Użyty do generacji opis (echo).
    • image_url: Bezpośredni URL do wygenerowanego obrazu.
Uwaga: /nano-banana/images wymaga jedynie action i prompt, aby wygenerować obraz.

Edytowanie obrazu (action=edit)

Gdy chcesz edytować istniejący obraz, ustaw action na edit i przekaż listę linków do obrazów do edycji w image_urls (1 lub więcej), jednocześnie podając opis celu edycji w prompt. Na przykład, jeśli dostarczymy zdjęcie osoby oraz 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, np. 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ć publicznie dostępna). Można przesłać wiele obrazów, a usługa połączy te materiały z prompt, aby zakończyć edycję.
  • Pozostałe pola są takie same jak w odpowiedzi „generowanie obrazu”.

Asynchroniczne wywołanie zwrotne (opcjonalne, zalecane)

Generowanie lub edytowanie może zająć trochę czasu. Aby uniknąć zajmowania zasobów przez długie połączenia, zaleca się użycie wywołania zwrotnego Webhook przez callback_url:
  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 zwrotnego (struktura pól zgodna z synchronizowanym zwrotem 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 jest nieprawidłowe lub parametry są błędne.
  • 400 api_not_implemented: Interfejs nie został zaimplementowany (proszę skontaktować się z pomocą techniczną).
  • 401 invalid_token: Nieudana autoryzacja lub brak tokena.
  • 429 too_many_requests: Przekroczono limit częstotliwości żądań.
  • 500 api_error: Błąd serwera.

Przykład odpowiedzi błędu


Zestawienie parametrów i uwagi

  • Wymagane: action, prompt
  • Tylko do edycji: image_urls (tablica, co najmniej 1 pozycja)
  • Opcjonalne: model (domyślnie nano-banana, opcjonalnie nano-banana-2 lub nano-banana-pro), aspect_ratio (proporcje, np. 1:1, 16:9), resolution (rozdzielczość, np. 1K, 2K, 4K), callback_url (do asynchronicznego wywołania zwrotnego)
  • 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ć diagnozowanie problemów i powiązanie wyników