Guia de uso
Flux-2-Klein-9b imagem para imagem: processamento de fotos de produtos para e-commerce
Um fluxo de trabalho prático para editar fotos de produtos existentes com flux-2-klein-9b/image-to-image na API hiapi — com prompts reais, saídas reais e código de processamento em lote.
Por que editar fotos de produtos em vez de gerar novas
O problema da maioria dos catálogos de e-commerce não é "gerar do zero", mas "uma foto, cinco usos". O vendedor tira uma foto principal, normalmente em uma bancada bagunçada ou com iluminação mediana, e precisa de uma versão limpa com fundo branco puro para a grade da loja, uma variação de cor por SKU, e imagens de contexto para anúncios e redes sociais. Refotografar cada variação é lento; gerar cada uma do zero com texto para imagem também não garante que o resultado seja exatamente o produto que você vende.
flux-2-klein-9b/image-to-image foi feito exatamente para resolver o segundo problema: ele recebe uma foto de produto existente mais uma instrução de edição e devolve uma nova imagem em que tudo o que você não pediu para mudar — formato, proporções, tampa, logo — permanece igual. É o nível maior e de maior fidelidade da família FLUX.2 [klein] na hiapi, com qualidade e preço superiores ao flux-2-klein-4b/image-to-image.
Abaixo está um fluxo de trabalho completo de três etapas a partir de uma única foto inicial: primeiro limpar uma foto "antes" bagunçada em uma imagem principal utilizável em catálogo, depois ramificar essa imagem principal em variações de cor e de cena — três edições reais, três prompts reais, um script em lote para reutilizar o mesmo padrão em um catálogo.
A foto inicial

Esta é exatamente a foto "antes" que um vendedor costuma enviar: uma garrafa térmica de aço inoxidável escovado com tampa de rosca de plástico preto fosco, fotografada sobre uma bancada de cozinha bagunçada, ao lado de uma caneca de cerâmica e um pano de prato azul dobrado, com luz de teto quente misturada à luz fria da janela criando uma dominante de cor irregular, reflexos tênues e marcas de dedo na bancada, composição descentralizada, qualidade de instantâneo amador casual, não fotografia profissional
O prompt usado para gerar esta foto inicial (via flux-2-klein-9b/text-to-image):
Uma foto de celular ligeiramente imperfeita de uma garrafa térmica de aço inoxidável escovado com tampa de rosca de plástico preto fosco, em pé sobre uma bancada de cozinha bagunçada ao lado de uma caneca de café de cerâmica e um pano de prato azul dobrado, luz de teto quente misturada com luz do dia fria da janela criando uma dominante de cor irregular, reflexos tênues e marcas de dedo na bancada, composição descentralizada, qualidade de instantâneo amador casual, não fotografia profissional
Etapa 1: limpeza de estúdio — de bancada bagunçada a imagem utilizável em catálogo

Prompt usado:
Mantenha a garrafa exatamente como está: mesmo corpo de aço inoxidável escovado, mesma tampa de rosca preta fosca, mesmas proporções e formato. Remova completamente a bancada bagunçada, a caneca de café e o pano. Substitua o fundo por um fundo de estúdio branco puro sem emendas. Corrija a iluminação para uma iluminação de estúdio uniforme e sem sombras vinda da frente, centralize a garrafa no enquadramento, foco nítido, sem reflexos, sem marcas, fotografia de produto limpa para catálogo de e-commerce.
Esta é a edição mais crítica do fluxo de trabalho real: uma única chamada transforma o instantâneo de celular em uma imagem de fundo branco utilizável na loja, e o formato do corpo e a tampa permanecem completamente inalterados. Este resultado limpo será a imagem principal — todas as variações posteriores deste guia são geradas a partir desta imagem, e não da foto bagunçada original, para que o desvio não se acumule ao longo das várias edições.
Etapa 2: variação de cor a partir da imagem principal limpa

Prompt usado:
Mantenha o formato da garrafa, a tampa de rosca, as proporções e o fundo de estúdio branco puro exatamente como estão. Mude apenas a cor e o acabamento do corpo de aço inoxidável escovado para um verde-sálvia fosco, mantenha a tampa preta inalterada, mantenha a mesma iluminação e sombra, fotografia de produto para catálogo de e-commerce.
Este é o cenário multi-SKU: uma linha de produtos com cinco cores, sem precisar de cinco sessões de fotos separadas. Partindo da imagem principal limpa e limitando o prompt a mudar apenas a cor, a tampa, as proporções, a iluminação e o fundo permanecem completamente fixos — apenas a cor do material do corpo muda.
Etapa 3: variação de cena a partir da mesma imagem principal

Prompt usado:
Mantenha a garrafa exatamente como está: corpo de aço inoxidável escovado, tampa preta fosca, proporções inalteradas. Substitua o fundo de estúdio branco liso por uma cena de estilo de vida ao ar livre: a garrafa apoiada em uma rocha de granito coberta de musgo à beira de uma trilha, luz suave do início da manhã filtrada pelos pinheiros, profundidade de campo rasa, gradação de cor natural e quente, fotografia de produto de estilo de vida ao ar livre.
A mesma imagem principal, outro destino: esta é a imagem para anúncios, posts em redes sociais ou hero de landing page — ambientação ao ar livre em vez de fundo de catálogo, com a identidade do produto firmemente ancorada pela mesma frase-âncora de "manter como está" em cada prompt acima.
Por que essas edições são confiáveis
- Ancore primeiro o que não muda, depois descreva a mudança. Cada prompt acima começa declarando o que não pode ser alterado — formato, tampa, proporções — e só depois menciona o novo fundo ou cor. Essa ordem é justamente o que mantém a identidade do produto travada ao longo das três edições consecutivas, em vez de desviar um pouco a cada vez.
- Encadeie edições a partir da imagem principal limpa, não da foto original. As etapas 2 e 3 partem da saída da etapa 1, não da foto bagunçada original. Editar a partir de uma base limpa e correta é mais confiável do que tentar consertar a bagunça e substituir o fundo na mesma instrução.
- Limite cada prompt a uma única mudança. A variação de cor altera apenas a cor; a variação de cena altera apenas o fundo. Nenhum dos dois prompts pede duas mudanças não relacionadas ao mesmo tempo.
- flux-2-klein-9b/image-to-image aceita apenas uma imagem de referência por chamada.
Diferente de alguns modelos de edição que aceitam várias imagens de referência,
o schema deste modelo é deliberadamente enxuto: uma string
prompte um arrayimage_urlscom no máximo uma imagem. A interface de imagem para imagem não tem parâmetrosresolutionouaspect_ratio— a saída segue as dimensões da foto de entrada, então não há nada a configurar além do prompt e da imagem de origem.
Editar um catálogo em lote
As três edições acima compartilham o mesmo formato de requisição: uma URL de imagem de referência
mais um prompt de edição, enviados ao endpoint de tarefas assíncronas da hiapi. O trecho de código abaixo
itera esse padrão sobre uma lista de tuplas (base_image_url, prompt, output_name) —
é exatamente a estrutura que você usaria para processar um catálogo inteiro de uma vez,
com limpeza, variações de cor e variações de cena.
import os
import time
import requests
API_BASE = "https://api.hiapi.ai/v1/tasks"
TOKEN = os.environ["HIAPI_API_KEY"]
MODEL = "flux-2-klein-9b/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],
},
},
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. Chain color and lifestyle edits from a
# clean master, not the raw source photo, for best consistency.
batch = [
("https://cdn.example.com/products/bottle-raw.jpg",
"Keep the bottle exactly as it is: same body, same cap, same "
"proportions. Remove the cluttered background completely. Replace it "
"with a seamless pure white studio background and even, shadowless "
"lighting, clean e-commerce catalog product photography.",
"bottle-clean-master.jpg"),
("https://cdn.example.com/products/bottle-clean-master.jpg",
"Keep the bottle's shape, cap, proportions, and white studio "
"background exactly as they are. Change only the body color to matte "
"sage green, keep the cap unchanged.",
"bottle-sage-green.jpg"),
("https://cdn.example.com/products/bottle-clean-master.jpg",
"Keep the bottle exactly as it is: body, cap, proportions unchanged. "
"Replace the white studio background with an outdoor lifestyle scene "
"on a mossy rock beside a hiking trail, soft morning sunlight.",
"bottle-lifestyle-hiking.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 de tarefa é independente, então para um catálogo completo você normalmente
executaria um pequeno pool em paralelo em vez de um laço estritamente sequencial
— o tempo de processamento da API de tarefas é o gargalo, não o seu cliente. Observe que
as etapas 2 e 3 apontam para bottle-clean-master.jpg, ou seja, a saída da etapa 1:
gerar em cadeia a partir do resultado limpo, em vez da imagem original enviada,
é o que mantém as variações de cor e de cena consistentes entre si.
Preços
O flux-2-klein-9b/image-to-image cobra por imagem, com preço uniforme independentemente do tamanho da saída. Em 2026-08, cada edição de imagem para imagem custa $0.03143 por imagem; o endpoint de texto para imagem correspondente (usado neste guia para gerar a foto inicial) custa $0.00858 por imagem. Ambos são bem mais caros que o nível menor flux-2-klein-4b/image-to-image, que custa $0.00715 por edição — o 9B troca esse prêmio de custo por maior fidelidade de saída, especialmente em edições ricas em detalhes, como variações de material e cor. Consulte a página de preços para as tarifas atuais de todos os modelos, pois os preços podem mudar.
Perguntas frequentes
O flux-2-klein-9b/image-to-image suporta várias imagens de referência por chamada?
Não. O schema aceita apenas uma imagem em image_urls (maxItems: 1).
Para edições que exigem combinar duas imagens de origem independentes, este não é o modelo adequado
— ele foi criado para edições com uma única referência, como substituição de fundo,
mudança de cor e limpeza.
Posso controlar a resolução de saída?
Não — o endpoint de imagem para imagem não tem parâmetros resolution ou aspect_ratio.
A saída segue as dimensões da foto de entrada. Se você precisar de
um tamanho de saída específico, redimensione a imagem de origem antes de enviar, ou
redimensione o resultado depois.
Qual é a diferença em relação ao flux-2-klein-4b/image-to-image? O formato da requisição é o mesmo, o schema de imagem única também, mas o 9B custa mais por edição ($0.03143 contra $0.00715), em troca de maior fidelidade — quando as edições de catálogo envolvem detalhes finos (textura de material, precisão de cor) em vez de simples substituição de fundo, ele é a melhor escolha.
Por que editar em cadeia a partir da "imagem principal limpa" em vez de editar a foto original a cada vez? Editar a partir da imagem original bagunçada exige que o modelo conserte a bagunça e aplique a nova mudança no mesmo processamento, o que aumenta a possibilidade de desvio desnecessário. Limpe uma vez e depois ramifique cada variação a partir desse único resultado limpo, mantendo cada imagem posterior consistente com as demais.
Posso processar um catálogo inteiro de uma vez?
Sim — o script em lote acima é o padrão: iterar sobre tuplas (image, prompt, output name), enviar cada uma como tarefa independente e executar algumas
requisições em paralelo, em vez de um longo laço sequencial.
Experimente você mesmo
Cada edição deste guia — limpeza, variação de cor, variação de cena — usa uma chamada de API, gerada em cadeia a partir de uma única foto inicial. Se você tem fotos de produtos existentes e quer variações utilizáveis em catálogo sem refotografar, o guia de início rápido da documentação da hiapi cobre autenticação e a primeira requisição, que leva apenas alguns 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