HiAPI
Blogue

Tutorial

API de restauração de imagens e remoção de objetos: edite imagens com prompts no HiAPI

Remova objetos de fotos usando os modelos de imagem para imagem do HiAPI: resultados comparativos reais, qual modelo preserva sua composição, prompts que funcionam e exemplos em curl e Python.

Jul 12, 2026
API de restauração de imagens e remoção de objetos: edite imagens com prompts no HiAPI

Resumo

  • No HiAPI, remover objetos de uma foto é uma edição por instrução: envie a imagem e descreva o que deve ser removido. Modelos genéricos de imagem para imagem não aceitam máscaras.
  • Pontos de partida adequados: flux-2/image-to-image ($0.035 em 1K, com aspect_ratio: "auto" para preservar sua composição), gpt-image-2/image-to-image ($0.03 em 1K, com o campo de imagem input_urls), seedream-4.5/image-to-image ($0.045, até 4K) e qwen-image-3.0/image-to-image ($0.0358).
  • O modelo de inpainting baseado em máscara FLUX.1 Fill Pro está listado no HiAPI como em breve. Até ele ficar disponível, o prompt é a sua máscara.

A mesma foto, a mesma instrução, dois modelos

Imagem de origem: uma foto de produto da qual queremos remover a etiqueta de preço.

Remove the coral price tag and its string from the bottle. Rebuild the bottle surface and the gray background that were behind it. Keep the bottle, lighting, shadow and everything else unchanged.

gpt-image-2/image-to-image, resolution 1K, 1254×1254, 112 segundos, $0.03.

A etiqueta de preço e o cordão desapareceram. A superfície da garrafa que estava oculta pela etiqueta foi reconstruída, com curvatura e reflexos consistentes com a original, o fundo cinza não tem vestígios de retoque, e a tampa, a base e a sombra correspondem à imagem de origem.

Enviamos a mesma solicitação para flux-2/image-to-image. A tarefa terminou como fail após 16 segundos, com o motivo apenas TASK_FAILED, e o valor foi reembolsado. Uma falha não diz nada sobre o modelo em si, mas é um lembrete de que você deve tratar o status fail no código e tentar novamente com um segundo modelo.

Qual modelo usar

ID do modelo Campo de imagem Preserva a composição da origem Tamanho de saída Preço
flux-2/image-to-image image_urls (1–8) Sim, aspect_ratio: "auto" resolution 1K / 2K $0.035 em 1K
gpt-image-2/image-to-image input_urls (1–16) Sim, aspect_ratio: "auto" (padrão) resolution 1K / 2K / 4K $0.03 em 1K
qwen-image-3.0/image-to-image image_urls (1–3) Não, é preciso escolher entre 8 proporções resolution 1K / 2K $0.0358
seedream-4.5/image-to-image image_urls (1–14) Não, é preciso escolher entre 8 proporções resolution 2K / 4K $0.045
seedream-5.0-pro/image-to-image image_urls (1–10) Não, é preciso escolher entre 7 proporções resolution 1K / 2K $0.06 em 1K

Preços em tempo real do HiAPI, consultados em 20 de outubro de 2026. Tarefas com falha não são cobradas.

  • Escolha padrão para remoção de objetos: use um modelo que aceite aspect_ratio: "auto", assim a saída mantém o formato da foto e você pode colocá-la de volta no lugar original.
  • Impressões grandes ou páginas de produto com zoom: o Seedream 4.5 gera 4K pelo mesmo preço de 2K.
  • Apenas remover o fundo: use uma ferramenta dedicada, como 851-labs/background-remover ($0.002 por imagem), que recebe apenas um image_url e não precisa de prompt.

curl

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "flux-2/image-to-image",
    "input": {
      "prompt": "Remove the white delivery van parked on the right. Rebuild the storefront and sidewalk behind it. Keep everything else unchanged.",
      "image_urls": ["https://your-cdn.example.com/street.jpg"],
      "aspect_ratio": "auto",
      "resolution": "1K"
    }
  }'

Você recebe um taskId. Faça polling em GET https://api.hiapi.ai/v1/tasks/{taskId} até que data.status seja success e então baixe data.output[0].url. A imagem de origem precisa estar em uma URL pública; o modelo a busca no servidor.

Python: uma função para todos os modelos

# pip install requests; export HIAPI_KEY=your-key first
import os, time, requests

API = "https://api.hiapi.ai/v1/tasks"
H = {"Authorization": f"Bearer {os.environ['HIAPI_KEY']}"}

def edit(model, timeout_s=300, **inp):
    r = requests.post(API, json={"model": model, "input": inp}, headers=H, timeout=30).json()
    if r.get("code") != 200:
        raise RuntimeError(r)  # a 400 lists every invalid field at once
    task_id = r["data"]["taskId"]
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        d = requests.get(f"{API}/{task_id}", headers=H, timeout=30).json()["data"]
        if d["status"] == "success":
            return requests.get(d["output"][0]["url"], timeout=120).content
        if d["status"] == "fail":
            raise RuntimeError(d.get("error"))
        time.sleep(4)
    raise TimeoutError(task_id)

prompt = ("Remove the tourists from the plaza. Extend the paving stones and the fountain base. "
          "Keep the buildings, light and everything else unchanged.")
src = "https://your-cdn.example.com/plaza.jpg"

# FLUX.2 keeps the source shape
img = edit("flux-2/image-to-image", prompt=prompt, image_urls=[src], aspect_ratio="auto", resolution="1K")

# GPT Image 2: note the field name is input_urls
img = edit("gpt-image-2/image-to-image", prompt=prompt, input_urls=[src], resolution="1K")

# Seedream 4.5 at 4K: aspect_ratio and resolution are required
img = edit("seedream-4.5/image-to-image", prompt=prompt, image_urls=[src], aspect_ratio="3:2", resolution="4K")

with open("plaza-clean.png", "wb") as f:
    f.write(img)

Como escrever prompts de remoção

Sem máscara, o prompt precisa declarar claramente o que deve sair e o que deve permanecer:

  1. Identifique o objeto e sua posição. «A van de entrega branca estacionada à direita» funciona melhor que «aquela van».
  2. Diga o que preenche o espaço vazio. «Reconstrua a fachada da loja e a calçada atrás dela.»
  3. Fixe todo o resto. Termine com «mantenha a iluminação, as cores e todo o resto inalterados», assim o modelo não reestiliza a foto inteira.

O mesmo padrão vale para tarefas relacionadas:

  • Apagar e preencher: «Remova os fios que cruzam o céu. Preencha com céu limpo que combine com o degradê. Mantenha todo o resto inalterado.»
  • Substituir: «Troque o copo de papel por uma caneca de cerâmica branca. Combine a iluminação e a sombra. Mantenha todo o resto inalterado.»
  • Restaurar: «O canto inferior esquerdo desta foto digitalizada está danificado. Reconstrua a grama e o caminho que faltam. Não altere o restante.»
  • Vários objetos: «Remova a lixeira ao lado do banco e os dois cones de trânsito. Preencha cada área com o fundo. Mantenha todo o resto inalterado.»

Para limpezas grandes, faça uma remoção por chamada e encadeie as chamadas. Salve cada resultado no seu próprio armazenamento e passe essa URL para a próxima chamada; os links de saída do HiAPI expiram cerca de 7 dias após a conclusão da tarefa.

Erros que você vai encontrar

Esses erros são todos HTTP 400 no envio, portanto nenhuma tarefa é criada e nada é cobrado:

  • additional properties 'mask_url' not allowed (ou mask): esses modelos não aceitam máscaras. Descreva a região no prompt.
  • input_urls: missing required field "input_urls": você enviou image_urls para gpt-image-2/image-to-image.
  • additional properties 'quality' not allowed: o Seedream 5.0 Pro usa resolution (1K ou 2K), não quality.
  • aspect_ratio: value must be one of ...: auto funciona no FLUX.2, no GPT Image e no Grok Imagine, mas não no Seedream ou no Qwen.

Se a tarefa terminar como fail, verifique data.error. A causa comum é o modelo não conseguir buscar a URL de origem.

Perguntas frequentes

O HiAPI tem uma API de inpainting baseada em máscara?

Ainda não para uso geral. O FLUX.1 Fill Pro, que aceita uma imagem e uma máscara em preto e branco, está listado como em breve. Os modelos acima editam apenas por prompt.

Qual modelo é melhor para remoção de objetos?

Comece pelos modelos que preservam a composição da origem: flux-2/image-to-image ou gpt-image-2/image-to-image com aspect_ratio: "auto". O GPT Image 2 tratou o exemplo acima de forma limpa. Antes de escolher um modelo, compare os dois com algumas fotos suas.

É possível remover vários objetos em uma única chamada?

Sim, liste-os em um único prompt. Cada chamada retorna uma imagem. Se o resultado deixar passar algum, execute novamente sobre a saída.

As imagens editadas podem ser usadas comercialmente?

As saídas geradas estão sujeitas aos termos de uso do seu plano. Você ainda precisa ter os direitos sobre a foto de origem que está editando.

Mais prompts de edição: Receitas de prompts do Seedream 4.5 e Guia da API do Qwen Image 3.0.

Artigos relacionados

Ver todos os artigos →

Comece a criar com artefactos de IA persistentes

Obtenha a sua chave de API e chame modelos de imagem, vídeo e áudio através de uma única API baseada em tasks.

Ler a documentação da API