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:
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"
i"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 toLOW
,MEDIUM
lubHIGH
."block_medium_and_above"
: blokowanie, gdy wynik prawdopodobieństwa lub wynik wagi wynosiMEDIUM
lubHIGH
."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.