Personalização de estilo

A personalização de estilo do Imagen 3 ajuda a gerar novas imagens com base em comandos de texto e imagens de referência fornecidas por você. As imagens de referência orientam a geração de novas imagens.

Casos de uso

A personalização do Imagen 3 oferece comandos de estilo livre, o que pode dar a impressão de que ele pode fazer mais do que foi treinado para fazer. As seções a seguir descrevem os casos de uso pretendidos para a personalização do Imagen 3 e exemplos não exaustivos de casos de uso não pretendidos.

Recomendamos usar a personalização do Imagen 3 para os casos de uso pretendidos, já que treinamos o modelo nesses casos e esperamos bons resultados. Por outro lado, embora seja possível forçar o modelo a fazer coisas fora dos casos de uso pretendidos, não esperamos bons resultados.

Casos de uso pretendidos

Confira a seguir casos de uso destinados à personalização do estilo do Imagen 3:

  • Gere uma imagem com base em uma entrada de texto que siga o estilo específico fornecido por uma imagem de referência.
  • Alterar a foto de uma pessoa.
  • Altere uma foto de uma pessoa e preserve a expressão facial dela.

Exemplos de casos de uso não intencionais

Confira uma lista não exaustiva de casos de uso para os quais a personalização do Imagen 3 não foi treinada e que geram resultados ruins:

  • Gere uma imagem de texto e usando uma imagem de referência, com a intenção de ter algum nível de controle da composição gerada da imagem de referência.

  • Gere uma imagem de uma pessoa com base em uma imagem de referência que tenha uma pessoa com uma expressão facial específica.

  • Coloque duas pessoas em uma cena diferente, preserve as identidades delas e especifique o estilo da imagem de saída (como uma pintura a óleo) usando uma imagem de referência.

  • Estilize uma foto de um animal de estimação e transforme em um desenho, preservando ou especificando a composição da imagem.

  • Coloque um produto, como um biscoito ou um sofá, em diferentes cenas com ângulos diferentes e seguindo um estilo de imagem específico (como fotorrealista com cores, estilos de iluminação ou animação específicos).

Exemplo de personalização de estilo

Confira abaixo um exemplo de personalização de estilo do Imagen 3:

Exemplo de entrada Exemplo de saída
  1. Imagem de referência1:
    Exemplo de entrada para personalização de animais de estimação
  2. Comando de texto:
    Gere uma imagem em mosaic style [1] com base em
    a seguinte legenda: O horizonte de Nova York

Exemplo de saída para personalização de acompanhante animal

1 Imagem de entrada de referência gerada usando a geração de imagens do Imagen 3 com base no comando: um mosaico simples.

Ver o card do modelo do Imagen para edição e personalização

Antes de começar

  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. Configure a autenticação do ambiente.

    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 as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI 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.

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud .

    Personalização de estilo

    Você pode fornecer imagens de referência de tipos de estilo ao usar a personalização do Imagen 3. O estilo escolhido afeta a forma como você cria o pedido de geração.

    O comando usado com a personalização do Imagen 3 pode afetar a qualidade das imagens geradas. As seções a seguir descrevem modelos e exemplos de comandos recomendados para enviar solicitações de personalização.

    Caso de uso Imagens de referência Modelo de comando Exemplo
    Estilo do objeto Imagem do personagem (1 a 4) Gere uma imagem em STYLE_DESCRIPTION [1] com base na seguinte legenda: IMAGE_DESCRIPTION. Gere uma imagem em neon sign style [1] com base na seguinte legenda: a sign saying have a great day.
    Estilização de imagem de pessoa sem entrada de malha facial Imagem do personagem (1 a 4) Crie uma imagem sobre SUBJECT_DESCRIPTION [1] para corresponder à descrição: um retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crie uma imagem sobre a woman with short hair[1] para corresponder à descrição: um retrato de a woman with short hair[1] em estilo de desenho animado 3D com fundo desfocado. Um personagem fofo e adorável, com um rosto sorridente, olhando para a câmera, em tons pastel, de alta qualidade, 4k, uma obra-prima, com super detalhes, textura da pele, mapeamento de textura, sombras suaves, iluminação realista suave, cores vibrantes
    Estilização de imagem de pessoa com entrada de malha facial Imagem do assunto (1 a 3)

    Imagem de controle de facemesh (1)
    Crie uma imagem sobre SUBJECT_DESCRIPTION [1] na pose de CONTROL_IMAGE [2] para corresponder à descrição: um retrato de SUBJECT_DESCRIPTION [1] ${PROMPT} Crie uma imagem sobre a woman with short hair [1] na pose de control image [2] para corresponder à descrição: um retrato de a woman with short hair [1] em estilo de desenho animado 3D com fundo desfocado. Um personagem fofo e adorável com um rosto sorridente. Veja a câmera, tom pastel, alta qualidade, 4k, obra-prima, superdetalhes, textura da pele, mapeamento de textura, sombras suaves, iluminação suave e realista, cores vibrantes

    REST

    Para mais informações sobre solicitações de modelo imagen-3.0-capability-001, consulte a referência da API do modelo imagen-3.0-capability-001.

    Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

    • PROJECT_ID: o ID do projeto do Google Cloud .
    • LOCATION: a região do seu projeto. Por exemplo, us-central1, europe-west2 ou asia-northeast3. Para uma lista de regiões disponíveis, consulte IA generativa em locais da Vertex AI.
    • TEXT_PROMPT: o prompt de texto fornece orientações sobre quais imagens o modelo gera. Para usar a personalização do Imagen 3, inclua o referenceId da imagem ou imagens de referência que você fornecer no formato [$referenceId]. Por exemplo:
      • O comando de texto a seguir é para uma solicitação que tem uma única imagem de referência com "referenceId": 1 e uma descrição opcional de "styleDescription": "glowing style": Gere uma imagem em glowing style [1] com base na seguinte legenda: Uma igreja na montanha.
    • "referenceId": o ID da imagem de referência ou de uma série de imagens de referência que correspondem ao mesmo assunto ou estilo. Neste exemplo, a única imagem de referência tem um referenceId de (1).
    • BASE64_REFERENCE_IMAGE: uma imagem de referência para orientar a geração de imagens. A imagem precisa ser especificada como uma string de bytes codificada em base64.
    • STYLE_DESCRIPTION: opcional. Uma descrição textual da imagem de referência que você pode usar no campo prompt. Exemplo:
            "prompt": "Generate an image in glowing style [1] based on the following
              caption: A church in the mountain.",
            [...],
            "styleImageConfig": {
              "styleDescription": "glowing style"
            }
          
    • IMAGE_COUNT: o número de imagens geradas. Valores inteiros aceitos: 1 a 4. Valor padrão: 4.

    Método HTTP e URL:

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

    Corpo JSON da solicitação:

    {
      "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 a solicitação, escolha uma destas opções:

    curl

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    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

    Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando a seguir:

    $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
    O exemplo de resposta a seguir é para uma solicitação com "sampleCount": 2. A resposta retorna dois objetos de previsão, com os bytes de imagem gerados codificados em 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 do produto

    Para ver os padrões de uso e as restrições de conteúdo associados ao Imagen na Vertex AI, consulte as diretrizes de uso.

    Versões do modelo

    Há vários modelos de geração de imagens que podem ser usados. Para mais informações, consulte Modelos do Imagen.

    A seguir

    Confira artigos sobre o Imagen e outras IAs generativas nos produtos da Vertex AI: