Guia de uso
Flux-2-Klein-4b imagem para imagem para fotos de produtos de e-commerce
Um fluxo de trabalho prático para editar fotos de produtos existentes com flux-2-klein-4b/image-to-image na API hiapi — com prompts reais, saídas reais e código em lote.
Por que editar fotos de produtos em vez de refotografar
Uma imagem principal de produto raramente cobre tudo o que uma listagem de produto exige. A grade de um marketplace precisa de uma imagem limpa sobre fundo branco. Um post de blog ou anúncio precisa do mesmo produto em um contexto de lifestyle. Uma campanha sazonal precisa de uma variante de cor ou material que talvez ainda não exista. Refotografar cada variante é lento e caro — e, na maioria das vezes, a geometria do produto (forma, posição do logo, proporções) simplesmente não deveria mudar, apenas o fundo ou um material específico precisa mudar.
É exatamente para isso que o flux-2-klein-4b/image-to-image na API hiapi é bom: ele recebe uma foto de produto existente e uma instrução de edição, e produz uma nova imagem em que tudo o que você não pediu para mudar permanece igual. É o nível rápido e econômico da família FLUX.2 [klein] — não é o modelo a escolher quando você está gerando um produto do zero, mas é muito adequado quando você já tem uma foto base de que gosta.
Abaixo estão duas edições reais feitas sobre a mesma foto inicial, com os prompts exatos usados e um script em lote para rodar esse processo em todo um catálogo de produtos.
A foto inicial

Esta é a imagem base sobre a qual cada edição abaixo foi feita: fones de ouvido over-ear pretos foscoss, fotografados sobre um fundo de estúdio cinza sólido — uma típica foto de listagem de produto "antes" que precisa de mais variantes.
Edição 1: colocar o produto em um contexto de lifestyle

Prompt usado:
Mantenha os fones de ouvido exatamente como estão (forma, acabamento preto fosco, logo e proporções inalterados). Substitua o fundo de estúdio cinza sólido por um cenário de lifestyle quente: os fones de ouvido sobre uma mesa de madeira de carvalho claro, ao lado de um MacBook fechado, uma pequena planta verde e uma caneca de café de cerâmica, luz natural suave entrando pela janela à esquerda, profundidade de campo rasa, fotografia de produto editorial em estilo de home office aconchegante.
O ponto-chave é a primeira frase: antes de descrever o novo fundo, diga explicitamente ao modelo quais partes devem permanecer exatamente iguais (forma, acabamento, logo, proporções). Sem essa âncora, modelos de imagem para imagem às vezes alteram as proporções ou o acabamento do produto junto com o cenário. Com ela, os fones permanecem intactos e apenas o ambiente ao redor muda.
Edição 2: trocar o material sem alterar a forma

Prompt usado:
Mantenha a forma, as proporções, o logo e o ângulo da câmera dos fones de ouvido exatamente como estão. Altere apenas o material e a cor das almofadas auriculares e do acolchoamento da faixa de cabeça de preto fosco para uma textura de couro bronze com costuras visíveis, enquanto o gabinete e os braços da faixa permanecem em preto fosco. Mantenha o fundo de estúdio cinza sólido e a iluminação inalterados, fotografia de produto para catálogo de e-commerce.
Esta edição tem escopo mais restrito que a de lifestyle: mesmo fundo, mesma iluminação, mesmo ângulo de câmera — apenas o material das almofadas e do acolchoamento da faixa muda de preto fosco para couro bronze. Limitar a instrução com tanta precisão (especificando as peças exatas e o material exato) é justamente o que mantém o restante do produto — gabinete, logo, silhueta — inalterado.
Por que essas edições são confiáveis
- Indique o que permanece igual, não apenas o que muda. Colocar "mantenha a forma, o logo e as proporções inalterados" antes da instrução de edição funciona melhor do que qualquer acúmulo de detalhes descritivos sobre o novo fundo ou material.
- Seja literal quanto ao alvo. "Textura de couro bronze com costuras visíveis" deixa menos espaço de interpretação para o modelo do que "faça parecer premium".
- Uma edição por prompt. Substituição de fundo e substituição de material funcionam bem executadas separadamente; empilhar várias mudanças não relacionadas em um único prompt costuma embaçar as âncoras e deslocar detalhes indesejados.
- Reutilize a mesma foto base entre variantes. Todas as imagens deste guia partem da mesma foto fonte, e é por isso que elas podem ser usadas juntas na mesma listagem de produto ou campanha.
Editar um catálogo de produtos em lote
As duas edições acima usam a mesma estrutura de requisição: uma URL de imagem existente mais um prompt de edição, enviados ao endpoint de tarefas assíncronas da hiapi. O trecho de código abaixo percorre uma lista de tuplas (base_image_url, prompt, output_name) — é o mesmo padrão que você usaria para processar um catálogo inteiro em lote e gerar um conjunto de variantes de fundo ou material.
import os
import time
import requests
API_BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
MODEL = "flux-2-klein-4b/image-to-image"
def submit_edit(base_image_url: str, prompt: str) -> str:
resp = requests.post(
API_BASE,
headers={"Authorization": f"Bearer {TOKEN}"},
json={
"model": MODEL,
"input": {
"prompt": prompt,
"image_urls": [base_image_url],
"resolution": "1 MP",
},
},
timeout=60,
)
resp.raise_for_status()
return resp.json()["data"]["taskId"]
def wait_and_download(task_id: str, out_path: str, poll_s: int = 5, timeout_s: int = 300) -> None:
deadline = time.time() + timeout_s
while time.time() < deadline:
r = requests.get(
f"{API_BASE}/{task_id}",
headers={"Authorization": f"Bearer {TOKEN}"},
timeout=30,
)
task = r.json().get("data", {})
if task.get("status") == "success":
url = task["output"][0]["url"]
img = requests.get(url, timeout=120)
with open(out_path, "wb") as f:
f.write(img.content)
return
if task.get("status") == "fail":
raise RuntimeError(task.get("error"))
time.sleep(poll_s)
raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")
# One entry per product / variant you need.
batch = [
("https://cdn.example.com/products/headphones-black.jpg",
"Keep the product exactly as-is (shape, finish, logo, proportions). "
"Replace the background with a warm lifestyle desk scene, soft natural "
"light from the left.",
"headphones-lifestyle.jpg"),
("https://cdn.example.com/products/headphones-black.jpg",
"Keep the shape, proportions, logo, and camera angle exactly as they "
"are. Change only the ear cushion and headband padding material to tan "
"brown leather with visible stitching; background and lighting stay "
"the same.",
"headphones-tan-leather.jpg"),
]
for base_url, prompt, out_name in batch:
task_id = submit_edit(base_url, prompt)
wait_and_download(task_id, out_name)
print(f"saved {out_name}")
Cada chamada é independente, então, para catálogos grandes, normalmente você executa um pequeno conjunto dessas tarefas em paralelo (alguns workers costumam bastar — o gargalo é a própria API de tarefas, não seu cliente), em vez de um laço estritamente sequencial, uma de cada vez.
Preços
O flux-2-klein-4b/image-to-image é cobrado por imagem, e o custo aumenta com a resolução de saída. Em 2026-08, o nível de 1MP usado pelas duas edições deste guia custa US$ 0,00715 por imagem; consulte a página de preços para ver a faixa completa de resoluções (de 0,25MP a 4MP) e as tarifas atuais de outros modelos, pois os preços podem mudar.
Perguntas frequentes
O imagem para imagem altera a forma ou o logo do produto? Se você pedir explicitamente para não alterar, não. Especificar no início do prompt o que deve permanecer fixo (forma, proporções, logo) é justamente o que mantém esses elementos estáveis — não deixar isso explícito é a causa mais comum de deslocamentos indesejados.
Qual resolução devo usar para edições de catálogo? 1MP já é suficiente para a maioria das listagens web e conteúdos de lifestyle, e mantém o custo sob controle; só suba para 2MP ou 4MP para imagens que serão cortadas de perto ou impressas, já que cada nível custa mais.
Posso rodar esse processo em um catálogo inteiro de uma vez?
Sim — o script em lote acima é exatamente esse padrão: percorrer tuplas (imagem, prompt, nome de saída) e enviar cada item como uma tarefa independente. Execute algumas requisições em paralelo em vez de um único laço sequencial enorme.
Qual é a diferença em relação a gerar um produto do zero com texto para imagem? O texto para imagem começa do zero, então não há garantia de que o resultado corresponda à geometria exata do produto existente. O imagem para imagem parte da sua foto real, então a forma, o logo e as proporções que você não pediu para mudar são preservados por construção — exatamente o que um catálogo de produtos precisa.
Experimente você mesmo
Uma vez que o prompt esteja precisamente delimitado, cada uma das duas edições acima exige apenas uma chamada de API. Se você já tem fotos de produtos e quer gerar variantes de lifestyle ou de material sem refotografar, o guia de início rápido da documentação da hiapi leva você pela autenticação e pela primeira requisição em poucos minutos.
Artigos relacionados
Ver todos os artigos →-
Guia de uso
Guia de introdução ao seedream-5.0-pro/image-to-image: capacidades, preços e pontos de integração
Limites de capacidade, modelo de cobrança e práticas de integração de engenharia do modelo de edição de imagem da ByteDance
-
Guia de uso
Guia prático do seedream-5.0-pro text-to-image: limites de capacidade, integração via API e controle de custos
Perspectiva prática para desenvolvedores: dos pontos-chave dos parâmetros à estimativa de custo de US$ 0,05 por imagem
-
Guia de uso
Guia de introdução ao Hailuo 2.3 Fast image-to-video: limites de capacidade, preços e práticas de integração
Pontos-chave de seleção e integração do modelo image-to-video MiniMax para desenvolvedores