Personalización de estilos

La personalización de estilo de Imagen 3 te ayuda a generar imágenes nuevas a partir de instrucciones de texto y las imágenes de referencia que proporciones. Las imágenes de referencia guían la generación de imágenes nuevas.

Casos de uso

La personalización de Imagen 3 ofrece instrucciones de formato libre, lo que puede dar la impresión de que puede hacer más de lo que está entrenada para hacer. En las siguientes secciones, se describen los casos de uso previstos para la personalización de Imagen 3 y se proporcionan ejemplos no exhaustivos de casos de uso no previstos.

Te recomendamos que uses la personalización de Imagen 3 para los casos de uso previstos, ya que entrenamos el modelo en esos casos de uso y esperamos obtener buenos resultados. Por el contrario, si bien puedes exigirle al modelo que haga cosas fuera de los casos de uso previstos, no esperamos buenos resultados.

Casos de uso previstos

Los siguientes son casos de uso previstos para la personalización del estilo de Imagen 3:

  • Genera una imagen a partir de una entrada de texto que sigue el estilo específico proporcionado por una imagen de referencia.
  • Alterar una foto de una persona
  • Alterar la foto de una persona y conservar su expresión facial

Ejemplos de casos de uso no previstos

A continuación, se incluye una lista no exhaustiva de casos de uso para los que no se entrenó la personalización de Imagen 3 y para los que produce resultados deficientes:

  • Generar una imagen a partir de texto y con una imagen de referencia, con la intención de tener cierto nivel de control de la composición generada a partir de la imagen de referencia

  • Genera una imagen de una persona a partir de una imagen de referencia que muestre a una persona con una expresión facial particular.

  • Colocar a dos personas en una escena diferente, conservar sus identidades y especificar el estilo de la imagen de salida (por ejemplo, una pintura al óleo) con una imagen de referencia

  • Estiliza una foto de una mascota y conviértela en un dibujo, a la vez que conservas o especificas la composición de la imagen.

  • Coloca un producto, como una galleta o un sofá, en diferentes escenas con ángulos distintos y siguiendo un estilo de imagen específico (como fotorrealista con colores, estilos de iluminación o animación específicos).

Ejemplo de personalización de estilo

A continuación, se muestra un ejemplo de caso para la personalización del estilo de Imagen 3:

Entrada de ejemplo Resultado de muestra
  1. Imagen de referencia1:
    Ejemplo de entrada para la personalización de un compañero animal
  2. Instrucción de texto:
    Genera una imagen en mosaic style [1] basada en
    la siguiente leyenda: El paisaje de la ciudad de Nueva York

Ejemplo de resultado para la personalización de un compañero animal

1 Imagen de entrada de referencia generada con la generación de imágenes de Imagen 3 a partir de la instrucción: Un mosaico simple.

Consulta la tarjeta del modelo de Imagen para edición y personalización

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Configura la autenticación para tu entorno.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Si deseas obtener más información, consulta Autentica para usar REST en la Google Cloud documentación de autenticación.

    Personalización del diseño

    Puedes proporcionar imágenes de referencia de tipos de estilos cuando usas la personalización de Imagen 3. El estilo que elijas afectará la forma en que formules tu solicitud de generación.

    La instrucción que uses con la personalización de Imagen 3 podría afectar la calidad de las imágenes generadas. En las siguientes secciones, se describen las plantillas y los ejemplos de instrucciones recomendados para enviar solicitudes de personalización.

    Caso de uso Imágenes de referencia Plantilla de instrucciones Ejemplo
    Estilo del objeto Imagen del sujeto (1 a 4) Genera una imagen en STYLE_DESCRIPTION [1] basada en la siguiente leyenda: IMAGE_DESCRIPTION. Genera una imagen en neon sign style [1] basada en la siguiente leyenda: a sign saying have a great day.
    Estilización de imágenes de personas sin entrada de malla facial Imagen del sujeto (1 a 4) Crea una imagen sobre SUBJECT_DESCRIPTION [1] que coincida con la descripción: un retrato de SUBJECT_DESCRIPTION [1]. ${PROMPT} Crea una imagen sobre a woman with short hair[1] que coincida con la descripción: un retrato de a woman with short hair[1] en estilo de dibujo animado en 3D con fondo desenfocado. Un personaje lindo y encantador, con rostro sonriente, mirando a la cámara, tonos de color pastel, alta calidad, 4K, obra maestra, detalles increíbles, textura de la piel, asignación de texturas, sombras suaves, iluminación suave y realista, colores vibrantes
    Estilización de imágenes de personas con entrada de malla facial Imagen del sujeto (1 a 3)

    Imagen de control de Facemesh (1)
    Crea una imagen sobre SUBJECT_DESCRIPTION [1] en la pose de CONTROL_IMAGE [2] para que coincida con la descripción: un retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crea una imagen sobre a woman with short hair [1] en la pose de control image [2] para que coincida con la descripción: un retrato de a woman with short hair [1] en estilo de dibujos animados en 3D con fondo desenfocado. Un personaje lindo y encantador con cara sonriente. Ver la cámara, tono de color pastel, alta calidad, 4k, obra maestra, súper detalles, textura de la piel, asignación de texturas, sombras suaves, iluminación suave y realista, colores vibrantes

    REST

    Para obtener más información sobre las solicitudes del modelo imagen-3.0-capability-001, consulta la referencia de la API del modelo imagen-3.0-capability-001.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • PROJECT_ID: El Google Cloud ID del proyecto.
    • LOCATION: La región del proyecto. Por ejemplo, us-central1, europe-west2 o asia-northeast3. Para obtener una lista de las regiones disponibles, consulta IA generativa en ubicaciones de Vertex AI.
    • TEXT_PROMPT: El mensaje de texto guía qué imágenes genera el modelo. Para usar la personalización de Imagen 3, incluye el referenceId de la imagen o las imágenes de referencia que proporciones en el formato [$referenceId]. Por ejemplo:
      • La siguiente instrucción de texto es para una solicitud que tiene una sola imagen de referencia con "referenceId": 1 y una descripción opcional de "referenceId": 1: Genera una imagen en glowing style [1] basada en la siguiente leyenda: Una iglesia en la montaña."styleDescription": "glowing style"
    • "referenceId": Es el ID de la imagen de referencia o el ID de una serie de imágenes de referencia que corresponden al mismo tema o estilo. En este ejemplo, la única imagen de referencia tiene un referenceId de (1).
    • BASE64_REFERENCE_IMAGE: Es una imagen de referencia para guiar la generación de imágenes. La imagen debe especificarse como una cadena de bytes codificada en base64.
    • STYLE_DESCRIPTION: Opcional Una descripción de texto de la imagen de referencia que puedes usar en el campo prompt. Por ejemplo:
            "prompt": "Generate an image in glowing style [1] based on the following
              caption: A church in the mountain.",
            [...],
            "styleImageConfig": {
              "styleDescription": "glowing style"
            }
          
    • IMAGE_COUNT: La cantidad de imágenes generadas. Valores de números enteros aceptados: de 1 a 4. Valor predeterminado: 4.

    Método HTTP y URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

    Cuerpo JSON de la solicitud:

    {
      "instances": [
        {
          "prompt": "TEXT_PROMPT",
          "referenceImages": [
            {
              "referenceType": "REFERENCE_TYPE_STYLE",
              "referenceId": 1,
              "referenceImage": {
                "bytesBase64Encoded": "BASE64_REFERENCE_IMAGE"
              },
              "styleImageConfig": {
                "styleDescription": "STYLE_DESCRIPTION"
              }
            }
          ]
        }
      ],
      "parameters": {
        "sampleCount": IMAGE_COUNT
      }
    }
    

    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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
    La siguiente respuesta de muestra es para una solicitud con "sampleCount": 2. La respuesta muestra dos objetos de predicción, con los bytes de imagen generados codificados en base64.
    {
      "predictions": [
        {
          "bytesBase64Encoded": "BASE64_IMG_BYTES",
          "mimeType": "image/png"
        },
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        }
      ]
    }
    

    Python

    from google import genai
    from google.genai.types import EditImageConfig, Image, StyleReferenceConfig, StyleReferenceImage
    
    client = genai.Client()
    
    # TODO(developer): Update and un-comment below line
    # output_gcs_uri = "gs://your-bucket/your-prefix"
    
    # Create a style reference image of a neon sign stored in Google Cloud Storage
    # using https://storage.googleapis.com/cloud-samples-data/generative-ai/image/neon.png
    style_reference_image = StyleReferenceImage(
        reference_id=1,
        reference_image=Image(gcs_uri="gs://cloud-samples-data/generative-ai/image/neon.png"),
        config=StyleReferenceConfig(style_description="neon sign"),
    )
    
    image = client.models.edit_image(
        model="imagen-3.0-capability-001",
        prompt="generate an image of a neon sign [1] with the words: have a great day",
        reference_images=[style_reference_image],
        config=EditImageConfig(
            edit_mode="EDIT_MODE_DEFAULT",
            number_of_images=1,
            seed=1,
            safety_filter_level="BLOCK_MEDIUM_AND_ABOVE",
            person_generation="ALLOW_ADULT",
            output_gcs_uri=output_gcs_uri,
        ),
    )
    
    # Example response:
    # gs://your-bucket/your-prefix
    print(image.generated_images[0].image.gcs_uri)

    Uso de productos

    Para ver los estándares de uso y las restricciones de contenido asociadas con Imagen en Vertex AI, consulta los lineamientos de uso.

    Versiones del modelo

    Existen varios modelos de generación de imágenes que puedes usar. Para obtener más información, consulta Modelos de Imagen.

    ¿Qué sigue?

    Lee artículos sobre Imagen y otros productos de IA generativa en Vertex AI: