API Imagen product recontext

La API de recontextualización de productos de Imagen en Vertex AI te permite editar imágenes de productos para colocarlos en diferentes escenas o fondos. Proporcionas una imagen de un producto y una petición, y Imagen product recontext genera imágenes de tu producto en escenas nuevas o con fondos diferentes.

Para solicitar acceso a la función de recontextualización de productos de Imagen, rellena el formulario de solicitud de acceso a medios generativos para marketing de Vertex AI.

Versiones de modelo admitidas

Imagen product recontext admite los siguientes modelos:

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

Para obtener más información sobre las funciones que admite el modelo, consulta Modelos de imagen.

Solicitud HTTP

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
    }
  }
}'

Instancias

Instancias
prompt

string

Opcional. Una petición de texto para guiar la generación de la escena.

productImages

list[productImages]

Una lista de hasta tres ProductImages diferentes del mismo producto. El modelo usa las imágenes para recontextualizar el producto en diferentes escenas o fondos.

Objeto productImages

El objeto productImages describe los recursos de imagen que se van a colocar en diferentes escenas o fondos.

productImages

Campo de unión image.

Imagen del producto de imagen-product-recontext-preview-06-30 como entrada para diferentes vistas del producto. Cada imagen puede ser una cadena bytesBase64Encoded que codifica una imagen o una cadena gcsUri URI a una ubicación de un segmento de Cloud Storage.

bytesBase64Encoded

string

Una cadena codificada en base64 de bytes de una imagen o un archivo de vídeo.

gcsUri

string

URI de cadena de una ubicación de un segmento de Cloud Storage.

Parámetros

Parámetros
addWatermark

boolean

Opcional. Añade una marca de agua invisible a las imágenes generadas.

El valor predeterminado es true.

enhancePrompt

boolean

Opcional. Parámetro opcional para usar una función de reescritura de peticiones basada en LLMs para ofrecer imágenes de mayor calidad que reflejen mejor la intención de la petición original. Si inhabilitas esta función, puede que la calidad de las imágenes y la adecuación de las peticiones se vean afectadas.

El valor predeterminado es true.

personGeneration

string

Opcional. Permitir que el modelo genere personas. Se admiten los siguientes valores:

  • "dont_allow": no permitir que se incluyan personas o caras en las imágenes.
  • "allow_adult": permite generar contenido solo para adultos.
  • "allow_all": permite generar imágenes de personas de todas las edades.

El valor predeterminado es "allow_adult".

safetySetting

string

Opcional. Añade un nivel de filtro al filtro de seguridad. Se admiten los siguientes valores:

  • "block_low_and_above": nivel de filtrado más alto, bloqueo más estricto. Valor obsoleto: "block_most".
  • "block_medium_and_above": bloquea algunas peticiones y respuestas problemáticas. Valor obsoleto: "block_some".
  • "block_only_high": reduce el número de solicitudes bloqueadas debido a los filtros de seguridad. Puede aumentar el contenido inapropiado generado por Imagen. Valor obsoleto: "block_few".
  • "block_none": bloquea muy pocas peticiones y respuestas problemáticas. El acceso a esta función está restringido. Valor del campo anterior: "block_fewest".

El valor predeterminado es "block_medium_and_above".

sampleCount

int

Número de imágenes que se van a generar.

Un valor entero comprendido entre 1 y 4. El valor predeterminado es 1.

seed

Uint32

Opcional. Semilla aleatoria para la generación de imágenes. Esta opción no está disponible cuando addWatermark tiene el valor true.

Si enhancePrompt se define como true, el parámetro seed no funcionará, ya que enhancePrompt genera una nueva petición, lo que da como resultado una imagen nueva o diferente.

storageUri

string

Opcional. URI de cadena de una ubicación de un segmento de Cloud Storage que se usa para almacenar las imágenes generadas. Si no se proporciona un segmento de Cloud Storage, se devuelven bytes de imagen codificados en Base64 en la respuesta.

outputOptions

outputOptions

Opcional. Describe el formato de la imagen de salida en un outputOptions objeto.

Objeto de opciones de salida

El objeto outputOptions describe la salida de la imagen.

Parámetros
outputOptions.mimeType

Opcional: string

El formato de salida de la imagen. Se admiten los siguientes valores:

  • "image/png": guardar como imagen PNG.
  • "image/jpeg": guarda la imagen como JPEG.

El valor predeterminado es "image/png".

outputOptions.compressionQuality

Opcional: int

El nivel de compresión si el tipo de salida es "image/jpeg". Los valores aceptados son 0- 100. El valor predeterminado es 75.

Solicitud de ejemplo

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • REGION: la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta Ubicaciones de la IA generativa en Vertex AI.
  • PROJECT_ID: tu ID de proyecto. Google Cloud
  • TEXT_PROMPT: opcional. Una petición de texto para guiar las imágenes que genera el modelo.
  • BASE64_SUBJECT_IMAGE: una imagen codificada en Base64 de la imagen del sujeto.
  • PERSON_SETTING: Opcional: valor de cadena que controla el tipo de persona o cara que puede generar el modelo. Puedes usar los siguientes valores para personGeneration:
    • "allow_adult": permite generar contenido solo para adultos, excepto en el caso de los famosos. No se permite generar imágenes de famosos en ningún ajuste. Esta es la configuración predeterminada.
    • "allow_all": permite generar imágenes de personas de todas las edades, excepto de famosos. No se permite generar imágenes de famosos en ningún ajuste.
    • "dont_allow": no permite generar personas ni caras en los resultados generados.
  • SAFETY_SETTING: Opcional: valor de cadena que controla el umbral del filtro de seguridad de las imágenes generadas. Puedes usar los siguientes valores para seleccionar el ajuste de seguridad:
    • "block_low_and_above": el umbral de seguridad más estricto. "block_low_and_above" filtra el mayor número de imágenes generadas.
    • "block_medium_and_above": umbral de seguridad medio, que equilibra el filtrado de contenido potencialmente dañino y seguro. "block_medium_and_above" es la configuración de seguridad predeterminada.
    • "block_only_high": el umbral de seguridad más bajo, que reduce el número de solicitudes bloqueadas debido al filtro de seguridad. Usar el umbral de seguridad "block_only_high" puede aumentar el número de imágenes inadecuadas que genera el modelo.
  • WATERMARK_SETTING: Opcional: un valor booleano. Si se asigna el valor true, el modelo añade una marca de agua digital que puedes usar para verificar la imagen generada. El valor predeterminado es true.
  • IMAGE_COUNT: número de imágenes que se van a generar. El intervalo de valores aceptado es 1-4.
  • PROMPT_SETTING: Opcional: un valor booleano. Si se asigna el valor true, el modelo usa prmopts mejorados. El valor predeterminado es true.

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

{
  "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
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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
La solicitud devuelve objetos de imagen. En este ejemplo, se devuelven dos objetos de imagen, con dos objetos de predicción como imágenes codificadas en Base64.
{
  "predictions": [
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    },
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    }
  ]
}