Estrutura de solicitação e resposta para geração de imagens - Amazon Nova

Estrutura de solicitação e resposta para geração de imagens

Os exemplos a seguir apresentam diferentes casos de uso de geração de imagens. Cada exemplo fornece uma explicação dos campos usados para a geração da imagens.

Text-to-image request
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "text": string, "negativeText": string }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Os seguintes campos textToImageParams são usados nesta solicitação:

  • text (obrigatório): um prompt de texto para gerar a imagem. O prompt deve ter de 1 a 1.024 caracteres.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Text-to-image request with image conditioning
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "conditionImage": string (Base64 encoded image), "controlMode": "CANNY_EDGE" | "SEGMENTATION", "controlStrength": float, "text": string, "negativeText": string }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Os seguintes campos textToImageParams são usados nesta solicitação:

  • conditionImage (obrigatório): uma imagem JPEG ou PNG que orienta o layout e a composição da imagem gerada. A imagem deve ser formatada como uma string Base64. Consulte Imagens de entrada para geração de imagens para obter os requisitos adicionais.

  • controlMode (opcional): especifica qual modo de condicionamento será usado. O valor padrão é “CANNY_EDGE”.

    • CANNY_EDGE: os elementos da imagem gerada seguirão rigorosamente os contornos proeminentes, ou as “bordas”, da imagem de condição.

    • SEGMENTATION: a imagem de condição será analisada automaticamente para identificar formas de conteúdo proeminentes. Essa análise resulta em uma máscara de segmentação que orienta a geração, resultando em uma imagem gerada que segue rigorosamente o layout da imagem de condição, mas permite ao modelo mais liberdade dentro dos limites de cada área de conteúdo.

  • controlStrength (opcional): especifica a semelhança que o layout e a composição da imagem gerada devem ter com conditionImage. O intervalo é de 0 a 1,0, e valores mais baixos introduzem mais aleatoriedade. O valor padrão é 0,7.

  • text (obrigatório): um prompt de texto para gerar a imagem. O prompt deve ter de 1 a 1.024 caracteres.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Color guided image generation request
{ "taskType": "COLOR_GUIDED_GENERATION", "colorGuidedGenerationParams": { "colors": string[] (list of hexadecimal color values), "referenceImage": string (Base64 encoded image), "text": string, "negativeText": string }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Os seguintes campos colorGuidedGenerationParams são usados nesta solicitação:

  • colors (obrigatório): uma lista de até dez códigos de cores que definem a paleta de cores desejada para a sua imagem. Expressos como valores hexadecimais no formato “#RRGGBB”. Por exemplo, “#00FF00” é verde puro e “#FCF2AB” é um amarelo quente. A lista de colors tem o efeito mais forte quando uma referenceImage não é fornecida. Do contrário, as cores na lista e as cores da imagem de referência serão usadas na saída final.

  • referenceImage (opcional): uma imagem JPEG ou PNG para usar como referência de assunto e estilo. As cores da imagem também serão incorporadas à sua saída final, junto com as cores da lista de colors. Consulte Imagens de entrada para geração de imagens para obter os requisitos adicionais.

  • text (obrigatório): um prompt de texto para gerar a imagem. O prompt deve ter de 1 a 1.024 caracteres.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Image variation request
{ "taskType": "IMAGE_VARIATION", "imageVariationParams": { "images": string[] (list of Base64 encoded images), "similarityStrength": float, "text": string, "negativeText": string }, "imageGenerationConfig": { "height": int, "width": int, "cfgScale": float, "seed": int, "numberOfImages": int } }

Os seguintes campos imageVariationParams são usados nesta solicitação:

  • images (obrigatório): uma lista de uma a cinco imagens para usar como referências. Cada uma deve estar no formato JPEG ou PNG e deve ser codificada como strings Base64. Consulte Imagens de entrada para geração de imagens para obter os requisitos adicionais.

  • similarityStrength (opcional): especifica qual a semelhança que a imagem gerada deve ter em relação às imagens de entrada. Os valores válidos são entre 0,2 e 1,0, com valores mais baixos usados para introduzir mais aleatoriedade.

  • text (obrigatório): um prompt de texto para gerar a imagem. O prompt deve ter de 1 a 1.024 caracteres. Se você omitir este campo, o modelo removerá elementos dentro da área mascarada. Eles serão substituídos por uma extensão perfeita do plano de fundo da imagem.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Inpainting request
{ "taskType": "INPAINTING", "inPaintingParams": { "image": string (Base64 encoded image), "maskPrompt": string, "maskImage": string (Base64 encoded image), "text": string, "negativeText": string }, "imageGenerationConfig": { "numberOfImages": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int } }

Os seguintes campos inPaintingParams são usados nesta solicitação:

  • image (obrigatório): o JPEG ou PNG que você deseja modificar, formatado como uma string Base64. Consulte Imagens de entrada para geração de imagens para obter os requisitos adicionais.

  • maskPrompt ou maskImage (obrigatório): você deve especificar o parâmetro maskPrompt ou maskImage, mas não ambos.

    O maskPrompt é um prompt de texto em linguagem natural que descreve as regiões da imagem a serem editadas.

    O maskImage é uma imagem que define as áreas da imagem a serem editadas. A imagem da máscara deve ter o mesmo tamanho da imagem de entrada. As áreas a serem editadas são sombreadas em preto puro, e as áreas a serem ignoradas são sombreadas em branco puro. Nenhuma outra cor é permitida na imagem da máscara.

    Observe que as solicitações de inpainting e outpainting são opostas em relação aos requisitos de cor das imagens da máscara.

  • text (obrigatório): um prompt de texto que descreve o que gerar dentro da região mascarada. O prompt deve ter de 1 a 1.024 caracteres. Se você omitir este campo, o modelo removerá elementos dentro da área mascarada. Eles serão substituídos por uma extensão perfeita do plano de fundo da imagem.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Outpainting request
{ "taskType": "OUTPAINTING", "outPaintingParams": { "image": string (Base64 encoded image), "maskPrompt": string, "maskImage": string (Base64 encoded image), "outPaintingMode": "DEFAULT" | "PRECISE", "text": string, "negativeText": string }, "imageGenerationConfig": { "numberOfImages": int, "quality": "standard" | "premium" "cfgScale": float, "seed": int } }

Os seguintes campos outPaintingParams são usados nesta solicitação:

  • image (obrigatório): o JPEG ou PNG que você deseja modificar, formatado como uma string Base64. Consulte Imagens de entrada para geração de imagens para obter os requisitos adicionais.

  • maskPrompt ou maskImage (obrigatório): você deve especificar o parâmetro maskPrompt ou maskImage, mas não ambos.

    O maskPrompt é um prompt de texto em linguagem natural que descreve as regiões da imagem a serem editadas.

    O maskImage é uma imagem que define as áreas da imagem a serem editadas. A imagem da máscara deve ter o mesmo tamanho da imagem de entrada. As áreas a serem editadas são sombreadas em branco puro, e as áreas a serem ignoradas são sombreadas em preto puro. Nenhuma outra cor é permitida na imagem da máscara.

    Observe que as solicitações de inpainting e outpainting são opostas em relação aos requisitos de cor das imagens da máscara.

  • outPaintingMode: determina como a máscara que você fornece é interpretada.

    Use DEFAULT para fazer uma transição suave entre a área mascarada e a área não mascarada. Alguns dos pixels originais são usados como ponto de partida para o novo plano de fundo. Esse modo geralmente é melhor quando você deseja que o novo plano de fundo use cores semelhantes às do plano de fundo original. No entanto, você poderá obter um efeito de halo se seu prompt solicitar um novo plano de fundo que seja significativamente diferente do plano de fundo original.

    Use PRECISE para aderir estritamente aos limites da máscara. Este modo geralmente é melhor quando você está fazendo alterações significativas no plano de fundo.

  • text (obrigatório): um prompt de texto que descreve o que gerar dentro da região mascarada. O prompt deve ter de 1 a 1.024 caracteres. Se você omitir este campo, o modelo removerá elementos dentro da área mascarada. Eles serão substituídos por uma extensão perfeita do plano de fundo da imagem.

  • negativeText (opcional): um prompt de texto para definir o que não incluir na imagem. Esse valor deve ter de 1 a 1.024 caracteres.

nota

Evite usar palavras negativas (“não”, “nem”, “sem” etc.) em seus valores de text e negativeText. Por exemplo, se você não quiser espelhos em uma imagem, em vez de incluir “nenhum espelho” ou “sem espelhos” no campo text, use a palavra “espelhos” no campo negativeText.

Background removal request
{ "taskType": "BACKGROUND_REMOVAL", "backgroundRemovalParams": { "image": string (Base64 encoded image) } }

O seguinte campo backgroundRemovalParams é usado nesta solicitação:

A tarefa BACKGROUND_REMOVAL retornará uma imagem PNG com transparência total de 8 bits. Esse formato oferece um isolamento suave e limpo dos objetos em primeiro plano e facilita a composição da imagem com outros elementos em uma aplicação de edição de imagens, apresentação ou site. O plano de fundo pode ser facilmente alterado para uma cor sólida usando um código personalizado simples.

Response body
{ "images": "images": string[] (list of Base64 encoded images), "error": string }

O corpo da resposta conterá um ou mais dos seguintes campos:

  • imagens: quando bem-sucedidas, uma lista de strings codificadas no Base64 que representam cada imagem gerada é retornada. Essa lista nem sempre contém o mesmo número de imagens que você solicitou. Imagens individuais poderão ser bloqueadas após a geração se não estiverem alinhadas com a política de moderação de conteúdo de IA responsável (RAI) da AWS. Somente imagens alinhadas com a política de RAI são retornadas.

  • erro: se alguma imagem não estiver alinhada com a política de RAI, este campo será retornado. Senão, este campo será omitido da resposta.

O campo imageGenerationConfig é comum a todos os tipos de tarefas, exceto BACKGROUND_REMOVAL. É opcional e contém os campos a seguir. Se você omitir este objeto, as configurações padrão serão usadas.

  • width e height (opcional): define o tamanho e a proporção da imagem gerada. O padrão de ambos é 1024. Para obter uma lista completa de resoluções compatíveis, consulte Resoluções de imagem compatíveis.

  • quality (opcional): especifica a qualidade a ser usada ao gerar a imagem: “standard” (padrão) ou “premium”.

  • cfgScale (opcional): especifica o quanto que a imagem gerada deve seguir o prompt. Use um valor menor para introduzir mais aleatoriedade na geração.

    Minimum Maximum Default
    1.1 10 6.5
  • numberOfImages (opcional): o número de imagens a serem geradas.

    Minimum Maximum Default
    1 5 1
  • seed (opcional): determina a configuração inicial de ruído para o processo de geração. Alterar o valor da semente e deixar todos os outros parâmetros iguais produzirá uma imagem totalmente nova que ainda segue suas instruções, dimensões e outras configurações. É comum experimentar uma variedade de valores de semente para encontrar a imagem perfeita.

    Minimum Maximum Default
    0 858,993,459 12
Importante

A resolução (width e height), o numberOfImages e a quality têm um impacto no tempo necessário para que a geração seja concluída. O AWS SDK tem um read_timeout padrão de sessenta segundos, que pode ser facilmente excedido ao usar valores mais altos para esses parâmetros. Portanto, é recomendável que você aumente o read_timeout de suas chamadas de invocação para pelo menos cinco minutos (300 segundos). Os exemplos de código demonstram como fazer isso.