O desafio mais significativo no uso de IA para um catálogo de produtos é a consistência visual. Se a foto principal parecer um pouco diferente daquela nas fotos de detalhes, isso corrói a confiança do cliente. O Gemini 2.5 Flash Image Generation é nosso modelo multimodal nativo mais recente, rápido e eficiente. O que torna o Gemini especial é sua capacidade de entender texto e imagens juntos. Isso permite que você vá além de apenas criar imagens a partir de palavras. Você pode enviar uma imagem e dar instruções de texto para editá-la, combinar várias fotos em uma ou até mesmo aplicar o estilo de uma imagem a outra.

Os Recursos Principais do Gemini 2.5 Flash para E-commerce:

  • Texto para Imagem: Crie fotos de produtos totalmente novas e de alta qualidade a partir de apenas uma descrição de texto.

  • Edição de Imagem + Texto: Envie a foto do seu produto existente e use texto para adicionar adereços, alterar planos de fundo ou modificar elementos.

  • Composição de Múltiplas Imagens: Combine várias imagens — como um produto e um modelo — para criar uma cena totalmente nova e coesa.

  • Refinamento Iterativo: Converse com o modelo para fazer pequenos ajustes até que sua imagem esteja perfeita.

  • Texto de Alta Fidelidade: Adicione texto promocional nítido e claro diretamente em suas imagens para posts de redes sociais e banners.

Este guia apresentará os 10 casos de uso de e-commerce para o Gemini 2.5 Flash, transformando seu conteúdo visual de um gargalo dispendioso em um ativo criativo.

Passo 1: Criar a imagem principal do produto

Primeiro, criamos nossa imagem principal perfeita usando um prompt de texto detalhado. Esta imagem servirá como nossa âncora visual consistente para todos os passos seguintes.

Observação: Este pode ser o único passo que você precise fazer manualmente, tirando uma foto real. Todos os outros passos podem ser feitos com IA. Se você não tiver uma foto de alta qualidade do seu produto, pode usar o Gemini para editá-la.

"Uma fotografia de produto de alta resolução, com iluminação de estúdio, de um(a) [descrição do produto] sobre uma [superfície de fundo]. A iluminação é uma [configuração de iluminação] para [propósito da iluminação]. O ângulo da câmera é um [ângulo] para destacar [característica específica]. Ultrarrealista, com foco nítido em [detalhe principal]."
"Uma fotografia de produto de alta resolução, com iluminação de estúdio, do tênis 'Aura Run'. Ele tem um cabedal de malha respirável na cor cinza mescla, uma entressola branca e elegante com amortecimento responsivo, e um padrão geométrico preto e branco na sola de borracha. O tênis está posicionado em um ângulo de três quartos sobre uma superfície lisa, cinza claro e não reflexiva. A iluminação é uma configuração de três pontos, suave e difusa, para eliminar sombras duras e destacar a textura do tecido de malha. Esta é uma foto detalhada, com foco incrivelmente nítido na trama do tecido e no logotipo em relevo no calcanhar. Imagem quadrada."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
 
text_input = "A high-resolution, studio-lit product photograph of the 'Aura Run' sneaker. It has a breathable knit upper in a heather grey color, a sleek white midsole with responsive cushioning, and a black and white geometric pattern on the rubber outsole. The sneaker is positioned at a three-quarter angle on a plain, light grey, non-reflective surface. The lighting is a soft, diffused three-point setup to eliminate harsh shadows and highlight the texture of the knit fabric. This is a detailed shot, with incredibly sharp focus on the fabric weave and the embossed logo on the heel. Square image."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=text_input,
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('master.png')

step-1

Passo 2: Gerar o flat lay “O Que Vem na Caixa”

Usar nossa imagem de referência garante que o tênis nesta nova foto seja idêntico ao da página do produto, reforçando a autenticidade.

"Usando a imagem mestre fornecida de [produto], crie uma fotografia "flat lay" (disposição de itens vistos de cima) organizada. Posicione o tênis exato da imagem ao lado de todos os itens incluídos: [item 1], [item 2], [item 3]. Os itens devem estar sobre uma [descrição da superfície]."
"Utilizando a imagem mestre fornecida do tênis Aura Run, crie uma fotografia "flat lay" (vista de cima). Pegue o tênis exato da imagem e posicione-o ao lado de sua caixa de sapatos, que possui um design minimalista. Inclua também um par de cadarços brancos extras e uma sacola protetora (dust bag) com a marca. Organize todos os itens de forma organizada em um fundo branco e limpo."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
 
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, create a top-down 'flat lay' photograph. Take the exact sneaker from the image and place it next to its shoe box, which has a minimalist design. Also include a pair of extra white laces and a branded dust bag. Arrange all items neatly on a clean, white background."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('unboxing.png')

step-2

Passo 3: Gerar um detalhe macro extremo

Nós instruímos o Gemini a usar nossa imagem mestre como base, garantindo que a iluminação, as cores e as texturas sejam uma combinação perfeita.

"Usando a imagem mestre fornecida do [produto], reenquadre a foto para que seja uma fotografia macro extrema. Foque exclusivamente na [característica específica], tornando-a a protagonista da nova imagem. A iluminação e o estilo devem ser preservados da imagem original."
"Usando a imagem mestre fornecida do tênis Aura Run, reenquadre a foto para que seja uma fotografia macro extrema focando exclusivamente na textura da parte superior em malha cinza mesclado. A iluminação e o acabamento devem corresponder perfeitamente à imagem original. Uma pequena parte da entressola branca deve estar suavemente borrada no fundo."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
 
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, re-frame the shot to be an extreme macro photograph focusing exclusively on the texture of the heather grey knit upper. The lighting and finish should perfectly match the original image. A small part of the white midsole should be softly blurred in the background."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('macro.png')

step-3

Passo 4: Mostrar variações de cor/estilo

Exibir todas as opções em uma única imagem ajuda os clientes a comparar e escolher. Nós editamos nossa foto principal para criar as variações.

"Usando a imagem mestre fornecida do [produto], crie uma única imagem composta mostrando o produto original lado a lado com suas novas variações: [descrição da variação 1] e [descrição da variação 2], todas dispostas em um fundo limpo."
"Usando a imagem mestre fornecida do tênis Aura Run, crie uma imagem composta final mostrando três versões do tênis lado a lado em uma fileira limpa sobre um fundo branco: 1. O cinza mesclado original. 2. Uma versão totalmente preta. 3. Uma versão em azul marinho."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, create a final composite image showing three versions of the sneaker side-by-side in a clean row on a white background: 1. The original heather grey. 2. A version in all-black. 3. A version in a navy blue."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('lineup.png')

step-4

Passo 5: Criar comparações de tamanho no pé

Mostrar o tênis em pés diferentes é uma ferramenta poderosa para evitar devoluções.

"Usando a imagem fornecida do [produto], crie uma única imagem composta mostrando-o em três pés de tamanhos diferentes: um pequeno, um médio e um grande. As fotos devem ser do mesmo ângulo para facilitar a comparação."
"Usando a imagem mestre fornecida do tênis Aura Run, crie uma única imagem composta mostrando três fotos diferentes dele em pés. A primeira foto é em um pé pequeno e esguio. A segunda é em um pé masculino de tamanho médio. A terceira é em um pé grande e atlético. Todas as três fotos devem ser de uma perspectiva semelhante contra um fundo neutro."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, create a single composite image showing three different on-foot shots. The first shot is on a small, slender foot. The second is on an average-sized male foot. The third is on a large, athletic foot. All three shots should be from a similar perspective against a neutral background."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('fit_guide.png')

step-5

Passo 6: Adicionar um modelo através de uma composição de duas imagens

Para garantir a máxima consistência, nós podemos gerar o(a) modelo da nossa marca em uma etapa separada antes de adicionar o produto. Isso nos dá controle preciso sobre a aparência e a pose do(a) modelo.

"Usando a imagem fornecida do [produto], crie uma fotografia em close-up de um(a) [descrição do(a) modelo] usando-o ativamente. O foco está na ação de [descreva a ação], demonstrando o(a) [característica específica]."
"Usando a imagem fornecida do tênis Aura Run (imagem 1) e a foto do modelo (imagem 2), crie uma nova fotografia realista. Coloque os tênis exatos da imagem 1 nos pés do modelo da imagem 2. O modelo está em pé em um fundo de estúdio cinza neutro. Garanta que a iluminação e as sombras no tênis combinem perfeitamente com a fotografia original do modelo."
model_prompt = "Full-body shot of a woman mid 20s, smiling, standing against a neutral grey studio background."
model_response = client.models.generate_content(model="gemini-2.5-flash-image-preview", contents=model_prompt)
model_image_data = [p.inline_data.data for p in model_response.candidates[0].content.parts if p.inline_data][0]
model_image = Image.open(BytesIO(model_image_data))
model_image.save('model.png')
 
sneaker_image = Image.open('master.png')
composite_prompt = """Using the provided image of the Aura Run sneaker (image 1) and the photo of the model (image 2), create a new, realistic photograph. Place the exact sneakers from image 1 onto the feet of the model from image 2. The model is standing in a neutral grey studio background. Ensure the lighting and shadows on the sneaker match the original model photograph perfectly."""
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[composite_prompt, sneaker_image, model_image],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('in_use.png')

step-6

Passo 7: Gerar uma foto de ação em lifestyle

Agora vamos posicionar nosso modelo e produto consistentes em uma cena de lifestyle completa. Ao usar a foto principal do produto como referência, garantimos que o tênis seja perfeitamente renderizado, enquanto o prompt de texto constrói o ambiente completo ao redor dele. Isso é mais eficiente do que criar um fundo separado e tentar fazer a composição das imagens.

"Usando a imagem fornecida do [produto], crie uma cena de lifestyle fotorrealista. A foto deve apresentar o(a) [descrição do(a) modelo] usando o produto enquanto [realizando uma ação] em um(a) [descrição do local]. A iluminação e o clima devem ser [descrição da iluminação/clima]."
"Usando a imagem fornecida do tênis Aura Run, crie uma foto de ação de corpo inteiro da mesma corredora loira com rabo de cavalo. Ela está correndo por uma ponte pênsil moderna ao nascer do sol. A luz quente e dourada do sol está atingindo-a e a ponte. O horizonte da cidade é visível ao longe através de uma leve névoa matinal. A foto deve ser fotorrealista e dinâmica."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
 
sneaker_image = Image.open('master.png')
 
composite_prompt = """Using the provided image of the Aura Run sneaker, create a full-body action shot of the same female runner with the blonde ponytail. She is running across a modern suspension bridge at sunrise. The warm, golden light of the sun is hitting her and the bridge. The city skyline is visible in the distance through a light morning mist. The shot should be photorealistic and dynamic."""
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[composite_prompt, sneaker_image],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('lifestyle.png')

step-7

Passo 8: Criar fotos no estilo UGC (Conteúdo Gerado pelo Usuário)

Gere “fotos de clientes” com aparência autêntica para construir confiança e identificação nas redes sociais.

"Usando a imagem fornecida do [produto], gere uma foto realista no estilo de conteúdo gerado pelo usuário (UGC) dele sendo usado em uma situação cotidiana. O estilo deve parecer uma foto de smartphone de alta qualidade, ligeiramente casual, com iluminação natural."
"Usando a imagem mestre fornecida do tênis Aura Run, gere uma foto realista no estilo de conteúdo gerado pelo usuário (UGC). A foto é em perspectiva de primeira pessoa, olhando para os tênis nos pés de alguém. A pessoa está em pé em uma quadra de basquete colorida e pintada. A iluminação deve parecer natural e ligeiramente imperfeita, como uma foto tirada com um celular."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, generate a realistic, user-generated content (UGC) style photo. The shot is a first-person perspective looking down at the sneakers on someone's feet. The person is standing on a colorful, painted basketball court. The lighting should feel natural and slightly imperfect, like a photo taken on a phone."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('ugc.png')

step-8

Passo 9: Criar um banner com espaço negativo

Crie imagens projetadas para a copy de anúncios, em vez de simplesmente colocar texto sobre uma foto com muitos elementos.

"Usando a imagem fornecida do [produto], crie uma composição minimalista apresentando o tênis posicionado no [canto inferior direito/superior esquerdo/etc.] do quadro. O fundo deve ser [descrição do fundo], criando um espaço negativo significativo para texto."
"Usando a imagem mestre fornecida do tênis Aura Run, crie uma fotografia profissional e minimalista para um banner de site. Posicione o tênis no canto inferior esquerdo do quadro sobre um fundo cinza claro e limpo. Os dois terços direitos da imagem devem estar vazios, criando uma grande área limpa para texto publicitário. Orientação paisagem."
from google import genai
from PIL import Image
from io import BytesIO
 
client = genai.Client()
image_input = Image.open('master.png')
text_input = "Using the provided master image of the Aura Run sneaker, create a professional, minimalist photograph for a website banner. Position the sneaker in the bottom-left of the frame on a clean, light grey background. The right two-thirds of the image should be empty, creating a large, clean area for ad copy. Landscape orientation."
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[text_input, image_input],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('ad_template.png')

step-9

Passo 10: Montar um flat lay no estilo “Compre o Look”

Para criar uma imagem “Compre o Look”, fornecer imagens exatas de outros produtos é muito melhor do que apenas descrevê-los. Isso garante que a foto composta seja uma representação fiel dos itens específicos que você realmente vende, criando uma oportunidade de upsell com uma curadoria perfeita.

"Crie uma nova foto de produto composta combinando os itens das imagens fornecidas. Pegue o [produto 1 da imagem 1], o [produto 2 da imagem 2] e o [produto 3 da imagem 3]. Organize-os em um(a) [estilo de arranjo, por exemplo, flat lay limpo] sobre um(a) [descrição da superfície]."
"Crie uma imagem flat lay sofisticada para uma seção 'Compre o Look', combinando os produtos das três imagens fornecidas. Pegue o tênis Aura Run (imagem 1), as meias de corrida (imagem 2) e o monitor de atividades físicas (imagem 3). Organize todos os três itens artisticamente sobre uma superfície de madeira clara. A composição final deve ser limpa, atlética e parecer uma única fotografia profissional."
from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO
 
client = genai.Client()
 
socks_prompt = "A pair of high-quality, white athletic running socks, neatly folded. Studio shot on a plain white background."
socks_response = client.models.generate_content(model="gemini-2.5-flash-image-preview", contents=socks_prompt)
socks_image_data = [p.inline_data.data for p in socks_response.candidates[0].content.parts if p.inline_data][0]
socks_image = Image.open(BytesIO(socks_image_data))
socks_image.save('running_socks.png')
 
tracker_prompt = "A modern, sleek black fitness tracker with a digital display. Studio shot on a plain white background."
tracker_response = client.models.generate_content(model="gemini-2.5-flash-image-preview", contents=tracker_prompt)
tracker_image_data = [p.inline_data.data for p in tracker_response.candidates[0].content.parts if p.inline_data][0]
tracker_image = Image.open(BytesIO(tracker_image_data))
tracker_image.save('fitness_tracker.png')
 
 
sneaker_image = Image.open('master.png')
 
composite_prompt = """Create a sophisticated flat lay image for a "Shop the Look" section by combining the products from the three provided images. Take the Aura Run sneaker (image 1), the running socks (image 2), and the fitness tracker (image 3). Arrange all three items artfully on a light wood surface. The final composition should be clean, athletic, and look like a single, professional photograph."""
 
response = client.models.generate_content(
    model="gemini-2.5-flash-image-preview",
    contents=[composite_prompt, sneaker_image, socks_image, tracker_image],
)
 
image_parts = [
    part.inline_data.data
    for part in response.candidates[0].content.parts
    if part.inline_data
]
 
if image_parts:
    image = Image.open(BytesIO(image_parts[0]))
    image.save('upsell_composite.png')

step-10

Conclusão

Em dez passos, nós construímos uma biblioteca abrangente de ativos visuais para um único produto, que cobre toda a jornada do cliente. Ao partir de uma imagem mestre como “fonte única da verdade”, podemos garantir a consistência do produto em todas as fotos — desde os detalhes técnicos até as cenas de lifestyle aspiracionais.

A geração de imagens por IA com modelos como o Gemini 2.5 Flash está mudando fundamentalmente o cenário do e-commerce. Ela democratiza a fotografia de produtos com qualidade profissional, permitindo que marcas de todos os tamanhos criem visuais deslumbrantes, diversos e alinhados à marca por uma fração do custo e do tempo.

Créditos

Esta postagem é uma tradução autorizada do post The 10 Steps for product AI generation with Gemini 2.5 Flash, de autoria de Philipp Schmid, AI Developer Experience do Google.