Bria
BRIA Eraser
bria-eraser
Modelo de edição de imagem focado em apagamento por máscara e reconstrução de regiões, que remove objetos-alvo conforme uma máscara em preto e branco e completa a cena, treinado com dados licenciados, ideal para limpeza em lote de materiais de e-commerce e marketing
Preços
bria-eraser per image
| Preço unitário | $0.0575 |
|---|
Visão geral da posição
O BRIA Eraser é um modelo de edição de imagem focado em apagamento: recebe uma imagem original e uma máscara em preto e branco, sendo o branco a marcação da área a ser removida; o modelo elimina o objeto-alvo e reconstrói os pixels ocluídos, entregando uma imagem limpa na resolução original. É indicado para desenvolvedores que precisam incorporar remoção de objetos indesejados e de elementos temporários em pipelines de conteúdo em escala, especialmente equipes de e-commerce, publicidade e design conceitual que são sensíveis à procedência licenciada dos ativos e exigem resultados prontos para publicação ou para o fluxo de pós-produção.
Destaques principais
- Foco em apagamento e reconstrução de regiões — faz apenas uma coisa: remover o alvo conforme a máscara e completar o fundo, com fluxo simples e fácil de integrar a pipelines de processamento de imagem já existentes.
- Saída na resolução original — o resultado mantém as dimensões da imagem de entrada, sem necessidade de redimensionamento posterior, podendo ir direto para diagramação ou publicação.
- Restrições de entrada com foco em usabilidade — aceita imagens públicas em JPEG, PNG e WEBP e máscaras em preto e branco na mesma proporção, e permite preservar o canal de transparência por parâmetro.
Descrição das capacidades
Apagamento de objetos guiado por máscara: use uma máscara em preto e branco na mesma proporção da imagem original para localizar o objeto a remover; o branco indica a área de apagamento e o preto, a área preservada, adequado para remover com precisão elementos específicos da cena.
Reconstrução de pixels na área apagada: realiza preenchimento de conteúdo na região removida e reconstrói a estrutura do fundo, de modo que a imagem não fique com vazios evidentes após a remoção do objeto, reduzindo o retoque manual.
Alinhamento da resolução de saída: a saída mantém a resolução da imagem de entrada, e o resultado retornado pode substituir diretamente o ativo original, dispensando etapas de reescalonamento e alinhamento.
Preservação do canal de transparência: com preserve_alpha ativado, entradas com canal alpha continuam transparentes no resultado, ideal para limpeza de ativos em camadas.
Adaptação à origem da máscara: mask_type distingue máscaras desenhadas à mão das geradas por ferramentas de segmentação, facilitando conectar resultados de segmentação automática diretamente ao fluxo de apagamento.
Cenários de aplicação
- Remoção de elementos indesejados em imagens de produto no e-commerce — insira a imagem principal do produto e uma máscara que marque objetos indesejados e elementos temporários para obter uma imagem limpa do produto, pronta para páginas de detalhe e listagem em prateleira.
- Limpeza de cenas em pós-produção de materiais publicitários — faça apagamento localizado de objetos desnecessários nos materiais de campanha e obtenha imagens finais prontas para continuar a diagramação e veiculação, reduzindo idas e vindas de retoque manual.
- Retoque localizado em design conceitual — insira a arte original de personagem ou o esboço de cena com uma máscara local para remover traços ou elementos excedentes e obter uma base pronta para continuar o desenho detalhado.
- Pipeline de processamento de conteúdo em lote — envie em lote as máscaras geradas por segmentação automática para a etapa de apagamento e obtenha ativos limpos em especificação uniforme, integrando-os ao fluxo existente de revisão e iteração.
Limitações e recomendações de escolha
A qualidade do resultado depende fortemente da qualidade da máscara: a proporção da máscara deve ser igual à da imagem original e as bordas precisam ultrapassar um pouco o objeto-alvo, caso contrário podem ocorrer resíduos ou remoções equivocadas. O modelo cobre apenas apagamento e preenchimento de regiões, não oferece geração de imagem de uso geral; cenários que exigem criar imagens do zero devem usar outro modelo. Além disso, aceita apenas URLs de imagem acessíveis publicamente e o resultado mantém a resolução original; não é adequado para chamadas que exijam interação em tempo real estrito.
Novidades
Ver o changelog →- Novo modelo Novo modelo bria-eraser para remoção com máscara
Perguntas frequentes
Ver todas as perguntas →-
Como desenhar a máscara?
A máscara é uma imagem em preto e branco: as áreas brancas são apagadas e o fundo é preenchido, enquanto as áreas pretas permanecem inalteradas. É melhor que a área branca seja um pouco maior que a borda do objeto, assim as sombras e os resquícios das bordas também são removidos junto.
-
A máscara precisa ter o mesmo tamanho da imagem original?
A proporção da máscara deve ser igual à da imagem original; recomenda-se exportá-la diretamente nas dimensões da imagem original para evitar deslocamento na posição de apagamento.
-
É necessário escrever um prompt?
Não. O Bria Eraser funciona apenas com a imagem original e a máscara; o campo prompt não pode ser incluído na requisição.
-
mask_type deve ser manual ou automatic?
Escolha manual (padrão) para máscaras pintadas manualmente com pincel ou software de edição de imagem; escolha automatic para máscaras geradas automaticamente por ferramentas de segmentação.
Criar uma tarefa de geração
https://api.hiapi.ai/v1/tasks Cabeçalhos
AuthorizationstringObrigatórioChave de API da conta. Obrigatória em toda requisição. Exemplo: Bearer YOUR_HIAPI_API_KEY. Obter chave de API
Content-TypestringOpcionalO corpo da requisição é sempre interpretado como JSON; se enviado, apenas application/json (charset opcional) é aceito — qualquer outro valor retorna 415. Exemplo: application/json.
Idempotency-KeystringOpcionalChave de idempotência, até 255 bytes. Retries com a mesma chave da mesma conta criam a tarefa apenas uma vez; replays retornam o taskId original.
Em timeouts de rede ou retries automáticos do cliente, a mesma chave cria a tarefa apenas uma vez, sem cobrança duplicada (escopo = a conta da chave de API). Use um identificador de negócio exclusivo (ex.: "order-42"); replays retornam o taskId original e as chaves expiram 24 h após a primeira requisição. A matriz completa de cenários está na introdução da API assíncrona unificada.
Corpo
modelstringObrigatórioValor fixo atual: bria-eraser
routestringOpcionalValor fixo atual: default
inputobjectObrigatório
Objeto de parâmetros de negócio para bria-eraser e a rota default — veja a tabela de parâmetros abaixo.
mask_urlstringObrigatóriominLength 1pattern ^https?://Black-and-white mask with the same aspect ratio as the image: white marks what to erase, black is kept. Paint slightly beyond the object edge.
image_urlstringObrigatóriominLength 1pattern ^https?://Public URL of the image to clean up (JPEG, PNG or WEBP). The result keeps the original resolution.
mask_typestringOpcionalPadrão: "manual"manual for brush-drawn masks; automatic for masks produced by a segmentation tool.
manualautomaticpreserve_alphabooleanOpcionalPadrão: falseIf the input has an alpha channel, keep its transparency in the result.
callbackobjectOpcional
Configuração de notificação de estado terminal. Se omitida, sem callback: consulte a tarefa por conta própria.
Informe callback.url na criação e o HiAPI fará POST no seu serviço no estado terminal, sem polling. O corpo do callback replica a estrutura do detalhe da tarefa; assinatura, retries e idempotência estão descritos na introdução da API assíncrona unificada.
urlstringObrigatórioObrigatória se callback estiver presente. No estado terminal é enviado um POST para esta URL; deve ser uma URL http(s) válida.
whenstringOpcionalPadrão: "final"Atualmente só há suporte a final — notifica tanto em success quanto em fail.
finalstoragestringOpcionalPadrão: "temp"Nível de armazenamento de artefatos: temp (padrão, ~7 dias) ou persistent (longo prazo, cobrado por tamanho). Saldo insuficiente ou limite excedido ⇒ rebaixamento silencioso para temp; o nível efetivo aparece na resposta de detalhes.
temppersistentExemplos de requisição
# Envia uma tarefa assíncrona; retorna um taskId imediatamente (sem esperar a geração)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bria-eraser",
"input": {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": false
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "bria-eraser",
input: {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": false
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "bria-eraser",
"input": {
"mask_url": "…",
"image_url": "…",
"mask_type": "manual",
"preserve_alpha": False
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Obter detalhes da tarefa
https://api.hiapi.ai/v1/tasks/:id Campos da resposta
taskIdstringObrigatórioID da tarefa, sempre com prefixo tk-hiapi-.
modelstringObrigatórioNome completo resolvido do modelo. Tarefas enviadas com o parâmetro route retornam base@route (ex.: gpt-image-2/text-to-image@ext); caso contrário, igual ao nome enviado.
routestringOpcionalPresente apenas se o parâmetro route explícito foi usado; ecoa o valor enviado.
statusstringObrigatórioEstado da tarefa.
queued Na fila, ainda não iniciada.
handling Em processamento.
archiving Processamento concluído, preparando artefatos.
success Terminal: concluído, artefatos disponíveis (retorna output).
fail Terminal: falha (retorna error).
Após o envio, acompanhe status: success e fail são terminais, os demais não. Faça polling a cada 1–3 s até o estado terminal. Em caso de sucesso, baixe os artefatos em output[].url e transfira antes de expireAt; para retenção longa, use storage: "persistent" na criação.
creatednumberObrigatórioMomento de criação da tarefa (segundos Unix).
completednumberObrigatórioSegundos Unix do estado terminal; 0 enquanto não terminal.
outputarrayOpcional
Presente apenas com status == success. Lista de artefatos — sempre um array; uma tarefa pode retornar vários types ao mesmo tempo (ex.: video + first_frame).
Array [ object ]
Itens do array
urlstringObrigatórioURL do artefato, baixável diretamente.
typestringObrigatórioValores possíveis no momento: video, image, audio, first_frame, last_frame, thumbnail; poderão ser ampliados.
expireAtnumberObrigatórioSegundos Unix de disponibilidade do artefato; baixe ou transfira antes da expiração.
errorobjectOpcional
Presente apenas com status == fail.
codestringObrigatórioCódigo de erro de negócio.
messagestringObrigatórioDescrição do erro.
Exemplos de resposta
Sucesso
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Em processamento (não final)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Falhou
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Artigos
Ver todos os artigos →-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Avaliação comparativa
Comparação lado a lado do Recraft v4.1 Flash em text-to-image: guia de seleção e migração para desenvolvedores
Com um custo de $0.01 por imagem e capacidade de text-to-image pura, avalie se ele é adequado para seu pipeline de geração de imagens
-
Tutorial
Tutorial de kandinsky-6.0-pro/image-to-video na HiAPI: curl + Python
Faça uma requisição de imagem para vídeo funcional na HiAPI: do upload do primeiro quadro ao polling assíncrono e ao download final
-
Tutorial
Como chamar kling-4.0/image-to-video na HiAPI: curl, Python e polling
-
Tutorial
Como usar kling-4.0/text-to-video através da API HiAPI: curl, Python e um exemplo de requisição executável
Guia prático para desenvolvedores: prompts cinematográficos, áudio sincronizado, polling assíncrono e download da saída
-
Avaliação comparativa
hailuo-2.3-fast/image-to-video comparação lado a lado: como escolher modelos de imagem para vídeo e pontos de migração
-
Tutorial
recraft-v4.1-flash geração de imagens por texto na prática: 5 cenários de negócio de alto valor e pontos de integração
Partindo de um custo de US$ 0,01 por imagem, planeje como aplicar a geração de imagens em negócios reais
Modelos relacionados
Ver todos os modelos →Mesmo tipo
-
FLUX 3 Image Black Forest Labs $0.041 /imagem -
GPT Image 2.5 OpenAI $0.017 /imagem -
Grok Imagine Quality xAI $0.070 /imagem -
Ideogram V3 Character Ideogram $0.090 /imagem -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /imagem -
Seedream 5.0 ByteDance $0.025 /imagem -
FLUX.1 Kontext Max Black Forest Labs $0.071 /imagem -
Seedream 4.5 ByteDance $0.045 /imagem -
Nano Banana 2 Lite Google $0.033 /imagem -
Muse Image 1.0 Meta $0.015 per task -
Imagen 4 Google $0.030 /imagem -
Ideogram V4.5 Ideogram $0.011 /imagem