Generowanie obrazów za pomocą modelu Imagen 3

Gemini API zapewnia dostęp do Imagen 3, najnowocześniejszego modelu generowania obrazów od Google. Za pomocą Imagen możesz generować nowe obrazy na podstawie promptów tekstowych. Integracja Gemini API z Imagen została zaprojektowana tak, aby ułatwić Ci tworzenie aplikacji AI nowej generacji, które w kilka sekund przekształcają prompty użytkownika w wysokojakościowe komponenty wizualne.

Z tego przewodnika dowiesz się, jak zacząć korzystać z Imagen za pomocą pakietu Python SDK dla interfejsu Gemini API.

Informacje o Imagen 3

Imagen 3 to nasz model do zamiany tekstu na obrazy najwyższej jakości, który oferuje wiele nowych i ulepszonych funkcji. Urządzenie Imagen 3 umożliwia:

  • generować obrazy o większej szczegółowości, bogatszym oświetleniu i mniejszej liczbie rozpraszających artefaktów niż w przypadku poprzednich modeli.
  • Rozumie prompty napisane w naturalnym, codziennym języku, co ułatwia generowanie dopasowanych wyników bez konieczności stosowania skomplikowanych metod tworzenia promptów.
  • Twórz obrazy w różnych formatach i stylach, od fotorealistycznych pejzaży po bogato teksturowane obrazy olejne czy dziwaczne sceny z wykorzystaniem gliny.
  • Renderowanie tekstu jest bardziej wydajne niż w przypadku poprzednich modeli, co otwiera nowe możliwości zastosowania, np. w przypadku stylizowanych kartek urodzinowych czy prezentacji.

Obrazn 3 powstał z wykorzystaniem najnowszych innowacji Google w zakresie bezpieczeństwa i odpowiedzialności, od opracowywania danych i modeli po produkcję. Zespół Google DeepMind zastosował rozbudowane filtrowanie i oznaczanie danych, aby zminimalizować szkodliwe treści w zbiorach danych i zmniejszyć prawdopodobieństwo szkodliwych wyników. Zespół przeprowadził też redteaming i oceny dotyczące uczciwości, stronniczości i bezpieczeństwa treści.

Więcej informacji i przykładowe dane wyjściowe znajdziesz w omówieniu Google DeepMind Imagen 3.

Zanim zaczniesz: skonfiguruj projekt i klucz interfejsu API

pip install -U git+https://github.com/google-gemini/generative-ai-python@imagen

Zanim wywołasz interfejs Gemini API, musisz skonfigurować projekt i klucz interfejsu API.

Generuj obrazy

Z tej sekcji dowiesz się, jak utworzyć instancję modelu Imagen i wygenerować obrazy.

Aby uruchomić przykładowy kod, musisz najpierw zainstalować Pillow:

pip install --upgrade Pillow

Następnie, gdy zainstalujesz Pillow i pakiet SDK Pythona, możesz generować obrazy za pomocą tego kodu:

import os
import google.generativeai as genai

genai.configure(api_key=os.environ['API_KEY'])

imagen = genai.ImageGenerationModel("imagen-3.0-generate-001")

result = imagen.generate_images(
    prompt="Fuzzy bunnies in my kitchen",
    number_of_images=4,
    safety_filter_level="block_only_high",
    person_generation="allow_adult",
    aspect_ratio="3:4",
    negative_prompt="Outside",
)

for image in result.images:
  print(image)

# The output should look similar to this:
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef370>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f3396ef700>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c2b0>
# <vertexai.preview.vision_models.GeneratedImage object at 0x78f33953c280>

for image in result.images:
  # Open and display the image using your local operating system.
  image._pil_image.show()

W notatniku powinny się wyświetlić 4 obrazy podobne do tego:

Obraz wygenerowany przez AI przedstawiający 2 puszystych zajączków w kuchni

Parametry modelu Imagen

W przypadku parametru generate_images() dostępne są te parametry:

  • prompt: tekst promptu dla obrazu.
  • negative_prompt: opis tego, co chcesz pominąć w wygenerowanych obrazach. Wartość domyślna to „brak”.

    Weźmy na przykład prompt „Ulica w mieście w deszczowy wieczór bez ludzi”. Model może interpretować „ludzie” jako instrukcję, co należy uwzględnić, a nie pomijać. Aby uzyskać lepsze wyniki, możesz użyć promptu „deszczowa ulica w mieście w nocy” z promptem wykluczającym „ludzie”.

  • number_of_images: liczba obrazów do wygenerowania, od 1 do 4 (włącznie). Wartość domyślna to 4.

  • aspect_ratio: zmienia format obrazu wygenerowanego przez AI. Obsługiwane wartości to "1:1", "3:4", "4:3", "9:16""16:9". Wartość domyślna to "1:1".

  • safety_filter_level: dodaje poziom filtra do filtrowania bezpieczeństwa. Dozwolone wartości:

    • "block_low_and_above": blokuj, gdy wynik prawdopodobieństwa lub wynik ważności to LOW, MEDIUM lub HIGH.
    • "block_medium_and_above": blokowanie, gdy wynik prawdopodobieństwa lub wynik wagi wynosi MEDIUM lub HIGH.
    • "block_only_high": blokowanie, gdy wynik prawdopodobieństwa lub wynik wagi ma wartość HIGH.
  • person_generation: zezwalaj modelowi na generowanie obrazów przedstawiających ludzi. Obsługiwane są te wartości:

    • "dont_allow": blokuj generowanie zdjęć ludzi.
    • "allow_adult": generowanie obrazów przedstawiających dorosłych, ale nie dzieci.

Język promptu tekstowego

Obsługiwane są te języki promptów tekstowych:

  • chiński (uproszczony) (zh/zh-CN)
  • chiński (tradycyjny) (zh-TW)
  • Angielski (en)
  • hindi (hi),
  • japoński (ja)
  • koreański (ko)
  • Portugalski (pt)
  • hiszpański (es),

Co dalej?

Obraz 3 w interfejsie Gemini API jest w fazie wcześniejszego dostępu. Bądź na bieżąco z informacjami o stanie tej funkcji.