API zur Produkt-Rekontextualisierung von Imagen

Mit dem Produkt „Imagen Recontext on Vertex AI API“ können Sie Produktbilder in verschiedenen Szenen oder mit unterschiedlichen Hintergründen bearbeiten. Sie stellen ein Bild eines Produkts und einen Prompt bereit. Imagen Product Recontext generiert dann Bilder Ihres Produkts in neuen Szenen oder mit unterschiedlichen Hintergründen.

Wenn Sie Zugriff auf die Funktion „Imagen-Produktkontextualisierung“ anfordern möchten, füllen Sie das Antragsformular für den Zugriff auf generative Media für Marketingzwecke in Vertex AI aus.

Unterstützte Modellversionen

Die Funktion „Produkt neu kontextualisieren“ in Imagen wird von den folgenden Modellen unterstützt:

  • imagen-product-recontext-preview-06-30

Weitere Informationen zu den vom Modell unterstützten Funktionen finden Sie unter Imagen-Modelle.

HTTP-Anfrage

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:predict \

-d '{
  "instances": [
    {
      "prompt": string,
      "productImages": [
        // The following fields can be repeated up to 3 times for different
        // views of the same product.
        {
          "image": {
            // Union field can be only one of the following:
            "bytesBase64Encoded": string,
            "gcsUri": string,
            // End of list of possible types for union field.
          },
        }
      ]
    }
  ],
  "parameters": {
    "addWatermark": boolean,
    "enhancePrompt": boolean
    "personGeneration": string,
    "safetySetting": string,
    "sampleCount": integer,
    "seed": integer,
    "storageUri": string,
    "outputOptions": {
      "mimeType": string,
      "compressionQuality": integer
    }
  }
}'

Instanzen

Instanzen
prompt

string

Optional. Ein Text-Prompt, der die Generierung der Szene steuert.

productImages

list[productImages]

Eine Liste mit bis zu drei verschiedenen ProductImages mit verschiedenen Ansichten desselben Produkts. Das Modell verwendet die Bilder, um das Produkt in verschiedenen Szenen oder vor verschiedenen Hintergründen neu zu kontextualisieren.

Objekt productImages

Das productImages-Objekt beschreibt die Bild-Assets, die in verschiedenen Szenen oder Hintergründen platziert werden sollen.

productImages

Union-Feld image.

Produktbild für imagen-product-recontext-preview-06-30 als Eingabe für verschiedene Ansichten des Produkts. Jedes Bild kann entweder ein bytesBase64Encoded-String sein, der ein Bild codiert, oder ein gcsUri-String-URI für einen Cloud Storage-Bucket-Speicherort.

bytesBase64Encoded

string

Ein Base64-codierter String einer Bild- oder Videodatei in Bytes.

gcsUri

string

Ein String-URI für einen Cloud Storage-Bucket-Speicherort.

Parameter

Parameter
addWatermark

boolean

Optional. Fügen Sie den generierten Bildern ein unsichtbares Wasserzeichen hinzu.

Der Standardwert ist true.

enhancePrompt

boolean

Optional. Ein optionaler Parameter, mit dem eine LLM-basierte Funktion zum Neuschreiben von Prompts verwendet werden kann, um Bilder in höherer Qualität zu liefern, die den Zweck des ursprünglichen Prompts besser widerspiegeln. Wenn Sie diese Funktion deaktivieren, kann sich das auf die Bildqualität und die Einhaltung der Vorgaben des Prompts auswirken.

Der Standardwert ist true.

personGeneration

string

Optional. Das Modell darf Bilder von Personen generieren. Folgende Werte werden unterstützt:

  • "dont_allow": Personen oder Gesichter in Bildern nicht zulassen.
  • "allow_adult": Nur Generierung von Erwachsenen zulassen.
  • "allow_all": Ermöglicht die Generierung von Personen aller Altersgruppen.

Der Standardwert ist "allow_adult".

safetySetting

string

Optional. Fügt der Sicherheitsfilterung eine Filterebene hinzu. Folgende Werte werden unterstützt:

  • "block_low_and_above": Stärkste Filterebene, strengste Blockierung. Veralteter Wert: "block_most".
  • "block_medium_and_above": Einige problematische Prompts und Antworten blockieren. Veralteter Wert: "block_some".
  • "block_only_high": Reduziert die Anzahl der Anfragen, die aufgrund von Sicherheitsfiltern blockiert werden. Kann dazu führen, dass Imagen mehr anstößige Inhalte generiert. Veralteter Wert: "block_few".
  • "block_none": Sehr wenige problematische Prompts und Antworten blockieren. Der Zugriff auf diese Funktion ist eingeschränkt. Vorheriger Feldwert: "block_fewest".

Der Standardwert ist "block_medium_and_above".

sampleCount

int

Die Anzahl der zu generierenden Bilder.

Ein ganzzahliger Wert im Bereich von 1 bis 4. Der Standardwert ist 1.

seed

Uint32

Optional. Der Zufalls-Seed für die Bildgenerierung. Diese Option ist nicht verfügbar, wenn addWatermark auf true festgelegt ist.

Wenn enhancePrompt auf true festgelegt ist, funktioniert der Parameter seed nicht, da enhancePrompt einen neuen Prompt generiert, der zu einem neuen oder anderen Bild führt.

storageUri

string

Optional. Ein String-URI für einen Cloud Storage-Bucket-Speicherort, in dem die generierten Bilder gespeichert werden. Wenn kein Cloud Storage-Bucket angegeben wird, werden base64-codierte Bildbyte in der Antwort zurückgegeben.

outputOptions

outputOptions

Optional. Beschreibt das Ausgabeformat des Bildes in einem outputOptions-Objekt.

Objekt für Ausgabeoptionen

Das outputOptions-Objekt beschreibt die Bildausgabe.

Parameter
outputOptions.mimeType

Optional: string

Das Bildausgabeformat. Folgende Werte werden unterstützt:

  • "image/png": Als PNG-Bild speichern
  • "image/jpeg": Speichern Sie das Bild als JPEG-Bild.

Der Standardwert ist "image/png".

outputOptions.compressionQuality

Optional: int

Der Komprimierungsgrad, wenn der Ausgabetyp "image/jpeg" ist. Zulässige Werte sind 0100. Der Standardwert ist 75.

Beispielanfrage

REST

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • REGION: Die Region, in der sich Ihr Projekt befindet. Weitere Informationen zu unterstützten Regionen finden Sie unter Generative AI in Vertex AI-Standorten.
  • PROJECT_ID: Ihre Google Cloud -Projekt-ID.
  • TEXT_PROMPT: Optional. Ein Text-Prompt, der die vom Modell generierten Bilder steuert.
  • BASE64_SUBJECT_IMAGE: Ein base64-codiertes Bild des Motivbilds.
  • PERSON_SETTING: Optional: Ein Stringwert, der den Typ der Personen- oder Gesichtsgenerierung steuert, die das Modell zulässt. Sie können die folgenden Werte für personGeneration verwenden:
    • "allow_adult": Nur Generierung von Erwachsenen zulassen, außer bei Prominenten. Die Generierung von Bildern von Prominenten ist in keiner Einstellung zulässig. Dies ist die Standardeinstellung.
    • "allow_all": Ermöglicht die Generierung von Personen jeden Alters, mit Ausnahme der Generierung von Prominenten. Die Generierung von Prominenten ist in keiner Einstellung zulässig.
    • "dont_allow": Die Generierung von Personen oder Gesichtern in der generierten Ausgabe ist nicht zulässig.
  • SAFETY_SETTING: Optional: Ein Stringwert, der den Schwellenwert für den Sicherheitsfilter für generierte Bilder steuert. Sie können die folgenden Werte verwenden, um die Sicherheitseinstellung auszuwählen:
    • "block_low_and_above": Der strengste Sicherheitsschwellenwert. "block_low_and_above" filtert die größte Anzahl generierter Bilder.
    • "block_medium_and_above": Der mittlere Sicherheitsgrenzwert, der das Filtern potenziell schädlicher und sicherer Inhalte ausgleicht. "block_medium_and_above" ist die Standardeinstellung für die Sicherheit.
    • "block_only_high": Der niedrigste Sicherheitsgrenzwert, der die Anzahl der Anfragen reduziert, die aufgrund des Sicherheitsfilters blockiert werden. Wenn Sie den "block_only_high"-Sicherheitsschwellenwert verwenden, kann sich die Anzahl der anstößigen Bilder erhöhen, die vom Modell generiert werden.
  • WATERMARK_SETTING: Optional: Ein boolescher Wert. Wenn dieser Wert auf true festgelegt ist, fügt das Modell ein digitales Wasserzeichen hinzu, mit dem Sie das generierte Bild bestätigen können. Der Standardwert ist true.
  • IMAGE_COUNT: Die Anzahl der zu generierenden Bilder. Der akzeptierte Wertebereich ist 14.
  • PROMPT_SETTING: Optional: Ein boolescher Wert. Wenn dieser Wert auf true festgelegt ist, verwendet das Modell optimierte Prompts. Der Standardwert ist true.

HTTP-Methode und URL:

POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict

JSON-Text der Anfrage:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "productImages": [
        {
          "image": {
            "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
          },
        }
      ]
    }
  ],
  "parameters": {
    "personGeneration": PERSON_SETTING,
    "safetySetting": SAFETY_SETTING,
    "addWatermark": WATERMARK_SETTING,
    "sampleCount": IMAGE_COUNT,
    "enhancePrompt": PROMPT_SETTING
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
Bei der Anfrage werden Bildobjekte zurückgegeben. In diesem Beispiel werden zwei Bildobjekte mit zwei Vorhersageobjekten als base64-codierte Bilder zurückgegeben.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}