Generowanie obrazów za pomocą Imagen

Imagen to model Google do generowania obrazów wysokiej jakości, który potrafi tworzyć realistyczne obrazy wysokiej jakości na podstawie promptów tekstowych. Wszystkie wygenerowane obrazy zawierają znak wodny SynthID. Więcej informacji o dostępnych wariantach modelu Imagen znajdziesz w sekcji Wersje modelu.

Migracja do Nano Banana

Modele Imagen są wycofywane i zostaną wyłączone 17 sierpnia 2026 r. Zalecamy przejście na Nano Banana, jeśli potrzebujesz generować obrazy.

Migracja obejmuje następujące zmiany:

  • Nazwa modelu: używaj symbolu gemini-2.5-flash-image zamiast nazw modeli Imagen.
  • Metoda: używaj client.models.generate_content zamiast client.models.generate_images.
  • Obsługa odpowiedzi: Nano Banana zwraca części treści, które mogą zawierać dane obrazu, zamiast konkretnego obiektu odpowiedzi obrazu.

Więcej informacji i przykładów znajdziesz w przewodniku po generowaniu obrazów.

Generowanie obrazów za pomocą modeli Imagen

Ten przykład pokazuje generowanie obrazów za pomocą modelu Imagen:

Python

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

client = genai.Client()

response = client.models.generate_images(
    model='imagen-4.0-generate-001',
    prompt='Robot holding a red skateboard',
    config=types.GenerateImagesConfig(
        number_of_images= 4,
    )
)
for generated_image in response.generated_images:
  generated_image.image.show()

JavaScript

import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  const response = await ai.models.generateImages({
    model: 'imagen-4.0-generate-001',
    prompt: 'Robot holding a red skateboard',
    config: {
      numberOfImages: 4,
    },
  });

  let idx = 1;
  for (const generatedImage of response.generatedImages) {
    let imgBytes = generatedImage.image.imageBytes;
    const buffer = Buffer.from(imgBytes, "base64");
    fs.writeFileSync(`imagen-${idx}.png`, buffer);
    idx++;
  }
}

main();

Go

package main

import (
  "context"
  "fmt"
  "os"
  "google.golang.org/genai"
)

func main() {

  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  config := &genai.GenerateImagesConfig{
      NumberOfImages: 4,
  }

  response, _ := client.Models.GenerateImages(
      ctx,
      "imagen-4.0-generate-001",
      "Robot holding a red skateboard",
      config,
  )

  for n, image := range response.GeneratedImages {
      fname := fmt.Sprintf("imagen-%d.png", n)
          _ = os.WriteFile(fname, image.Image.ImageBytes, 0644)
  }
}

REST

curl -X POST \
    "https://generativelanguage.googleapis.com/v1beta/models/imagen-4.0-generate-001:predict" \
    -H "x-goog-api-key: $GEMINI_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
        "instances": [
          {
            "prompt": "Robot holding a red skateboard"
          }
        ],
        "parameters": {
          "sampleCount": 4
        }
      }'
Obraz wygenerowany przez AI przedstawiający robota trzymającego czerwoną deskorolkę
Obraz wygenerowany przez AI przedstawiający robota trzymającego czerwoną deskorolkę

Konfiguracja Imagen

Obecnie Imagen obsługuje tylko prompty w języku angielskim i te parametry:

  • numberOfImages: liczba obrazów do wygenerowania, od 1 do 4 (włącznie). Wartość domyślna to 4.
  • imageSize: rozmiar wygenerowanego obrazu. Ta funkcja jest obsługiwana tylko w przypadku modeli Standard i Ultra. Obsługiwane wartości to 1K2K. Wartość domyślna to 1K.
  • aspectRatio: zmienia format wygenerowanego obrazu. Obsługiwane wartości to "1:1", "3:4", "4:3", "9:16""16:9". Wartość domyślna to "1:1".
  • personGeneration: zezwolenie modelowi na generowanie obrazów osób; Obsługiwane są te wartości:

    • "dont_allow": blokowanie generowania obrazów przedstawiających ludzi.
    • "allow_adult": generować obrazy przedstawiające osoby dorosłe, ale nie dzieci. Jest to ustawienie domyślne.
    • "allow_all": generować obrazy przedstawiające dorosłych i dzieci;

Przewodnik po tworzeniu promptów Imagen

W tej sekcji przewodnika po Imagen znajdziesz informacje o tym, jak modyfikowanie promptu do zamiany tekstu na obraz może dać różne wyniki, a także przykłady obrazów, które możesz utworzyć.

Podstawowe informacje o pisaniu promptów

Dobry prompt jest opisowy i jasny, a także zawiera odpowiednie słowa kluczowe i modyfikatory. Zacznij od określenia tematu, kontekstustylu.

Prompt z podkreślonym tematem, kontekstem i stylem
Tekst obrazu: Szkic (styl) nowoczesnego budynku mieszkalnego (obiekt) otoczonego wieżowcami (kontekst i tło).
  1. Temat: pierwszą rzeczą, o której należy pomyśleć w przypadku każdego prompta, jest temat, czyli obiekt, osoba, zwierzę lub sceneria, które mają się znaleźć na obrazie.

  2. Kontekst i tło: równie ważne jest tło lub kontekst, w którym umieścisz obiekt. Spróbuj umieścić fotografowany obiekt na różnych tłach. Na przykład studio z białym tłem, plener lub wnętrze.

  3. Styl: na koniec dodaj styl obrazu, który chcesz uzyskać. Style może być ogólny (obraz, zdjęcie, szkic) lub bardzo szczegółowy (pastel, rysunek węglem, izometryczny obraz 3D). Możesz też łączyć style.

Po napisaniu pierwszej wersji prompta dopracuj go, dodając więcej szczegółów, aż uzyskasz obraz, który Cię zadowoli. Iteracja jest ważna. Zacznij od ustalenia głównego pomysłu, a następnie dopracowuj go i rozwijaj, aż wygenerowany obraz będzie zbliżony do Twojej wizji.

Przykładowy obraz fotorealistyczny 1
Prompt: A park in the spring next to a lake
przykładowy fotorealistyczny obraz 2
Prompt: Park wiosną nad jeziorem, słońce zachodzi nad jeziorem, złota godzina
przykładowy fotorealistyczny obraz 3
Prompt: Park wiosną nad jeziorem, zachód słońca nad jeziorem, złota godzina, czerwone dzikie kwiaty

Modele Imagen mogą przekształcać Twoje pomysły w szczegółowe obrazy, niezależnie od tego, czy prompty są krótkie, czy długie i szczegółowe. Dopracuj swoją wizję, iteracyjnie dodając szczegóły, aż uzyskasz idealny rezultat.

Krótkie prompty umożliwiają szybkie wygenerowanie obrazu.

Przykład krótkiego prompta w Imagen 4
Prompt: zdjęcie z bliska kobiety w wieku 20 lat, fotografia uliczna, kadr z filmu, stonowane ciepłe odcienie pomarańczowego

Dłuższe prompty pozwalają dodawać szczegółowe informacje i budować obraz.

Przykład długiego prompta w Imagen 4
Prompt: captivating photo of a woman in her 20s utilizing a street photography style. Obraz powinien wyglądać jak kadr z filmu z przytłumionymi pomarańczowymi i ciepłymi odcieniami.

Dodatkowe wskazówki dotyczące pisania promptów w usłudze Imagen:

  • Używaj opisowego języka: używaj szczegółowych przymiotników i przysłówków, aby stworzyć dla Imagen jasny obraz.
  • Podaj kontekst: w razie potrzeby podaj dodatkowe informacje, które pomogą AI zrozumieć Twoje potrzeby.
  • Odwołuj się do konkretnych artystów lub stylów: jeśli masz na myśli konkretną estetykę, pomocne może być odwołanie się do konkretnych artystów lub ruchów artystycznych.
  • Korzystaj z narzędzi do tworzenia promptów: rozważ użycie narzędzi lub materiałów do tworzenia promptów, które pomogą Ci je ulepszać i uzyskiwać optymalne wyniki.
  • Poprawianie szczegółów twarzy na zdjęciach osobistych i grupowych: określ szczegóły twarzy jako główny element zdjęcia (np. użyj słowa „portret” w prompcie).

Generowanie tekstu na obrazach

Modele Imagen mogą dodawać tekst do obrazów, co otwiera nowe możliwości kreatywnego generowania obrazów. Aby w pełni korzystać z tej funkcji, postępuj zgodnie z tymi wskazówkami:

  • Iteruj z pewnością: może być konieczne wielokrotne generowanie obrazów, aż uzyskasz pożądany efekt. Integracja tekstu w Imagen wciąż się rozwija, a czasami najlepsze wyniki uzyskuje się po kilku próbach.
  • Krótko: aby uzyskać optymalne wyniki, ogranicz tekst do maksymalnie 25 znaków.
  • Kilka wyrażeń: eksperymentuj z 2–3 różnymi wyrażeniami, aby podać dodatkowe informacje. Aby uzyskać bardziej przejrzyste kompozycje, unikaj przekraczania 3 wyrażeń.

    Przykład generowania tekstu przez Imagen 4
    Prompt: Plakat z pogrubioną czcionką tekstu „Summerland” jako tytułem, pod którym znajduje się slogan „Summer never felt so good”.
  • Umieszczanie tekstu: Imagen może próbować umieścić tekst zgodnie z instrukcjami, ale mogą wystąpić pewne odchylenia. Ta funkcja jest stale ulepszana.

  • Styl czcionki Inspire: określ ogólny styl czcionki, aby subtelnie wpłynąć na wybory Imagen. Nie polegaj na dokładnym odwzorowaniu czcionki, ale spodziewaj się kreatywnych interpretacji.

  • Rozmiar czcionki: określ rozmiar czcionki lub ogólny wskaźnik rozmiaru (np. mały, średni, duży), aby wpłynąć na generowanie rozmiaru czcionki.

Parametryzacja promptów

Aby lepiej kontrolować wyniki, możesz sparametryzować dane wejściowe Imagen. Załóżmy na przykład, że chcesz, aby klienci mogli generować logo dla swojej firmy, i chcesz mieć pewność, że logo są zawsze generowane na jednolitym tle. Chcesz też ograniczyć opcje, które klient może wybrać z menu.

W tym przykładzie możesz utworzyć prompt z parametrami podobny do tego:

A {logo_style} logo for a {company_area} company on a solid color background. Include the text {company_name}.

W niestandardowym interfejsie użytkownika klient może wprowadzać parametry za pomocą menu, a wybrana wartość jest wypełniana w prompcie otrzymywanym przez Imagen.

Na przykład:

  1. Prompt: A minimalist logo for a health care company on a solid color background. Include the text Journey.

    Przykład parametryzacji prompta w Imagen 4 – 1

  2. Prompt: A modern logo for a software company on a solid color background. Include the text Silo.

    Przykład parametryzacji prompta w Imagen 4 – 2

  3. Prompt: A traditional logo for a baking company on a solid color background. Include the text Seed.

    Przykład parametryzacji prompta w Imagen 4 – 3

Zaawansowane techniki pisania promptów

Skorzystaj z tych przykładów, aby tworzyć bardziej szczegółowe prompty na podstawie atrybutów, takich jak deskryptory fotografii, kształty i materiały, historyczne kierunki w sztuce i modyfikatory jakości obrazu.

Fotografia

  • Prompt zawiera: „Zdjęcie…”

Aby użyć tego stylu, zacznij od słów kluczowych, które wyraźnie informują Imagen, że szukasz zdjęcia. Rozpocznij prompta od słów „Zdjęcie”. . .". Na przykład:

Przykładowy obraz fotorealistyczny 1
Prompt: Zdjęcie ziaren kawy w kuchni na drewnianej powierzchni
przykładowy fotorealistyczny obraz 2
Prompt: Zdjęcie batona czekoladowego na blacie kuchennym
przykładowy fotorealistyczny obraz 3
Prompt: Zdjęcie nowoczesnego budynku z wodą w tle

Źródło obrazu: każdy obraz został wygenerowany przy użyciu odpowiedniego promptu tekstowego i modelu Imagen 4.

Modyfikatory fotograficzne

W przykładach poniżej znajdziesz kilka modyfikatorów i parametrów związanych z fotografią. Możesz połączyć kilka modyfikatorów, aby uzyskać większą kontrolę.

  1. Bliskość aparatu – zbliżenie, zdjęcie z daleka

    zdjęcie zrobione z bliska
    Prompt: Zdjęcie z bliska ziaren kawy
    pomniejszone zdjęcie z kamery
    Prompt: Oddalone zdjęcie małej torebki z
    ziarnami kawy w nieuporządkowanej kuchni

  2. Pozycja kamery – z góry, z dołu