Generowanie obrazów za pomocą modelu Imagen 3

Interfejs Gemini API zapewnia dostęp do Obraz 3, zdjęcie Google nowoczesny model generowania obrazów. 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 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. Obraz 3:

  • generować obrazy o większej szczegółowości, bogatszym oświetleniu i mniejszej liczbie rozpraszających artefaktów niż w przypadku poprzednich modeli.
  • rozumienie promptów napisanych w naturalnym, codziennym języku, dzięki czemu łatwiej aby generować spójne dane wyjściowe bez skomplikowanej prac nad promptami.
  • Twórz obrazy w różnych formatach i stylach, od fotorealistycznych pejzaży po bogato teksturowane obrazy olejne czy dziwaczne sceny z wykorzystaniem gliny.
  • Renderuj tekst skuteczniej niż w poprzednich modelach, tworząc nowe i daje wiele możliwości, na przykład do wykorzystania stylizowanych kartek urodzinowych, prezentacji i innych.

Imagen 3 został opracowany z wykorzystaniem najnowszych innowacji Google w zakresie bezpieczeństwa i odpowiedzialności, począwszy od rozwoju danych i modeli, a skończywszy na produkcji. Zespół Google DeepMind wykorzystał zaawansowane filtrowanie i oznaczanie danych etykietami w celu zminimalizowania szkodliwych treści w zbiorach danych. i zmniejszyć ryzyko wystąpienia szkodliwych danych. Zespół przeprowadził też redteaming i oceny dotyczące uczciwości, stronniczości i bezpieczeństwa treści.

Aby dowiedzieć się więcej i zobaczyć przykładowe dane wyjściowe, zapoznaj się z Omówienie 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 zainstalowano Pillow i pakiet SDK Pythona, możesz użyć tego kodu aby wygenerować obrazy:

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: prompt tekstowy dla obrazu.
  • negative_prompt: opis tego, co chcesz pominąć w wygenerowanych obrazach. Domyślnie brak.

    Na przykład: „Weź pod uwagę deszczową ulicę nocą w mieście bez osób”. Model może interpretować „ludzie” jako instrukcję dotyczącą tego, co należy uwzględnić, a nie pominąć. Aby uzyskać lepsze wyniki, możesz użyć prompta „a rainy” ulica w nocy” z negatywną kwestią „ludzie”.

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

  • aspect_ratio: zmienia współczynnik proporcji wygenerowanego obrazu. Obsługiwane wartości to "1:1", "3:4", "4:3", "9:16" i "16:9". Wartość domyślna to "1:1".

  • safety_filter_level: dodaje poziom filtra do filtrowania bezpieczeństwa. Poniżej prawidłowe wartości:

    • "block_low_and_above": blokowanie, gdy wynik prawdopodobieństwa lub wynik wagi ma wartość LOW, MEDIUM lub HIGH.
    • "block_medium_and_above": blokowanie, gdy wynik prawdopodobieństwa lub wynik wagi wynosi MEDIUM lub HIGH.
    • "block_only_high": blokuj, gdy wynik prawdopodobieństwa lub ważność jest HIGH.
  • person_generation: zezwalaj modelowi na generowanie obrazów ludzi. obsługiwane są następujące wartości:

    • "dont_allow": blokowanie generowania obrazów przedstawiających osoby.
    • "allow_adult": generowanie obrazów przedstawiających dorosłych, ale nie dzieci.

Co dalej?

Imagen 3 w interfejsie Gemini API jest w wersji wczesnej. Wkrótce podamy kolejne informacje: o stanie funkcji.