Avaliação comparativa
Alternativa ao Replicate: comparação entre hiapi e Replicate para geração de imagem e vídeo (2026)
O que precisa mudar nas chamadas de previsão, nos webhooks e na cobrança ao migrar do Replicate para o hiapi, com uma lista de migração em 10 passos.
Se a sua geração de imagem ou vídeo já roda no Replicate e você está buscando alternativas, provavelmente está preocupado com estas questões: quais chamadas precisam mudar, como a lógica de tratamento de webhooks será afetada, como as unidades de cobrança se correspondem e onde é fácil errar durante a migração. Este artigo responde a cada uma delas. As informações do lado do Replicate vêm da documentação e da página de preços públicas dele; as do lado do hiapi vêm da lista de modelos em tempo real, da interface de preços /api/pricing e da documentação oficial, todas verificadas em novembro de 2026. Durante a escrita, também enviamos requisições reais ao hiapi, e as respostas citadas no texto vêm dessas requisições.
Deixando claro desde já: o Replicate é uma plataforma muito forte. Se você depende de muitos modelos da comunidade, ajuste fino personalizado ou precisa implantar os seus próprios modelos, o que ele faz o hiapi não pretende cobrir. O hiapi é adequado para outro tipo de equipe: aquela que principalmente chama modelos comerciais conhecidos de imagem e vídeo e quer que todos os modelos compartilhem a mesma convenção de chamada assíncrona.
Visão geral da plataforma
| Dimensão | Replicate | hiapi |
|---|---|---|
| O que pode executar | Modelos oficiais, uma grande quantidade de modelos da comunidade, além dos seus próprios modelos e ajustes finos | Modelos comerciais selecionados de imagem, vídeo e áudio (98 modelos na interface de tarefas assíncronas no momento da escrita) |
| Criar tarefa | Para modelos oficiais, POST /v1/models/{owner}/{name}/predictions, ou POST /v1/predictions com version |
Todos os modelos de imagem, vídeo e áudio usam POST /v1/tasks de forma unificada, passando model + input |
| Autenticação | Authorization: Bearer <token> |
Authorization: Bearer <key> |
| Espera síncrona | Prefer: wait=n mantém a requisição por no máximo 60 segundos |
Não há; sempre assíncrono (polling ou callback) |
| Valores de status | starting, processing, succeeded, failed, canceled, aborted |
queued, handling, archiving, success, fail |
| Eventos de webhook | start, output, logs, completed (filtráveis) |
Callback apenas no estado final (when: "final"), disparado tanto em success quanto em fail |
| Assinatura de webhook | HMAC-SHA256 sobre id.timestamp.body, cabeçalhos webhook-*, chave whsec_ |
HMAC-SHA256 sobre timestamp.body, cabeçalhos X-HiAPI-*, chave configurada no console |
| Idempotência de envio | Não abordado na documentação que consultamos | Cabeçalho Idempotency-Key; repetição retorna o taskId original |
| Retenção de saída (API) | Por padrão, entradas, saídas, arquivos e logs são excluídos após 1 hora | Armazenamento temp padrão de cerca de 7 dias; armazenamento persistent opcional (cobrado por tamanho) |
| Unidade de cobrança | Alguns modelos cobram por saída; a maioria cobra por segundos de execução de hardware | Cobrança por saída: imagem por unidade, vídeo por segundo, áudio por faixa ou por execução |
Cada célula da tabela vem da documentação de cada lado ou das nossas requisições de teste reais. Dimensões que não puderam ser verificadas nos dois lados ao mesmo tempo não foram incluídas.
Principais diferenças
Cobertura de modelos: amplitude vs lista selecionada
A força do Replicate é a amplitude. Além dos modelos oficiais, você pode executar modelos da comunidade, fixar um hash de version específico ou enviar o seu próprio modelo. Muitas séries de modelos comerciais existem nos dois lados: o Replicate tem páginas de modelos de FLUX, Nano Banana, Seedance, Kling, Veo, Wan e Seedream, e o hiapi também oferece as versões atuais dessas séries. Se o seu produto depende de um checkpoint específico da comunidade ou de um ajuste fino privado, o hiapi não substitui essa parte do negócio.
A lista do hiapi é mais restrita, focada em modelos comerciais prontos para produção, incluindo versões atuais como Seedance 2.5, Kling 3.0, Veo 3.1, Nano Banana Pro e GPT Image 2. A lista completa e os parâmetros de entrada de cada modelo estão na página de modelos do hiapi.
Convenção assíncrona: onde o seu código realmente precisa mudar
Ambas as plataformas são principalmente assíncronas, e a diferença aparece no loop de polling e no tratamento de webhooks:
- O hiapi não tem atalho síncrono. Se você depende do
Prefer: waitdo Replicate para obter a imagem em uma única requisição, ao mudar para o hiapi será preciso "enviar e fazer polling" ou usar callback. No nosso teste com geração de imagem por texto do FLUX.1 [schnell], a tarefa passou dearchivingparasuccess, os timestampscreatedecompletedda tarefa diferiram em 6 segundos, com polling a cada 3 segundos, e o resultado apareceu na 4ª consulta. Prompts em chinês podem ser passados diretamente, sem tratamento adicional. - Callback apenas no estado final. O Replicate pode enviar eventos
start,outputem streaming elogs. O hiapi só faz callback uma vez quando a tarefa entra emsuccessoufail, e o corpo do callback é idêntico ao objetodataretornado porGET /v1/tasks/:id. Se a sua interface depende do webhook delogspara mostrar progresso em tempo real, no hiapi será preciso usar polling. - Entrega pelo menos uma vez. Quando a entrega do callback falha, o hiapi tenta novamente imediatamente e depois em +1 minuto, +5 minutos e +20 minutos. O mesmo
taskIdpode chegar mais de uma vez; deduplique por ele. - Os nomes de status mudam.
succeeded/failedcorrespondem asuccess/fail, ecanceled/abortednão têm correspondência. Quando uma tarefa do hiapi falha, a interface de detalhes ainda retorna HTTP 200, então é preciso verificardata.status, não apenas o código de status HTTP.
Unidades de cobrança e preços
O Replicate cobra pela maioria dos modelos públicos com base no tempo de hardware (por segundo, com preço dependendo da GPU), e alguns modelos cobram por entrada e saída. Na página de preços dele, o FLUX1.1 [pro] custa $0.04 por imagem, e o FLUX.1 [schnell] custa $3.00 por mil imagens. Cancelar depois que a previsão começou ainda cobra o tempo já executado; previsões abortadas antes de começar não são cobradas.
O hiapi cobra todos os modelos de tarefa por saída, e o custo não depende do tipo de GPU em que o modelo roda. A tabela abaixo vem da interface /api/pricing em tempo real do hiapi, verificada em novembro de 2026:
| Modelo no hiapi | id do model |
Preço base |
|---|---|---|
| FLUX.1 [schnell] | flux-schnell/text-to-image |
$0.005 / imagem |
| FLUX1.1 [pro] | flux-1.1-pro |
$0.05 / imagem |
| FLUX.2 [pro] | flux-2/text-to-image |
$0.05 / imagem |
| Nano Banana Pro | nano-banana-pro |
$0.0285 / imagem |
| GPT Image 2 | gpt-image-2/text-to-image |
$0.03 / imagem |
| Kling 3.0 geração de vídeo por texto | kling-3.0/text-to-video |
$0.129 / segundo |
| Seedance 2.5 geração de vídeo por texto | seedance-2.5/text-to-video |
$0.204 / segundo |
| Veo 3.1 Fast geração de vídeo por texto | veo-3.1-fast/text-to-video |
$0.25 / segundo |
Alguns modelos têm faixas por resolução ou duração, com faixas superiores acima do preço base. Os números mais recentes devem ser consultados na página de preços.
Nos dois modelos FLUX em que ambos os lados publicam o preço por imagem, o Replicate é mais barato: FLUX1.1 [pro] é $0.04 contra $0.05, e schnell é $0.003 contra $0.005. Reconhecemos isso com honestidade. A diferença de preço dos outros modelos depende de qual versão e qual resolução você compara; recomendamos comparar os preços dos três modelos que você mais chama antes de decidir. Além disso, tarefas com falha no hiapi não são cobradas: o valor pré-cobrado na criação é totalmente reembolsado quando a tarefa termina em fail.
Lista de migração (Replicate → hiapi)
Os passos abaixo cobrem o que precisa mudar em uma integração típica com o Replicate. Os passos 3, 4 e 6 são situações que realmente encontramos nos nossos testes.
- Inventarie os modelos. Liste cada modelo e versão do Replicate que você chama, além do volume mensal de chamadas. Marque separadamente os modelos da comunidade e os ajustes finos privados; essa parte continua no Replicate ou precisa de outra solução.
- Encontre o id de
modelexato do hiapi para cada modelo. Os ids do hiapi costumam ter sufixo de rota, como/text-to-imageou/image-to-video. Copie da página do modelo; não derive a partir doowner/namedo Replicate. - Id errado retorna 400. Enviamos
black-forest-labs/flux-schnelleflux-schnellsem sufixo, e ambos retornaram HTTP 400:{"error_code":"MODEL_UNAVAILABLE","message":"model not available via /v1/tasks"}. O id correto éflux-schnell/text-to-image. - Envie JSON explicitamente. Usar
curl -d '{...}'diretamente sem Content-Type faz o curl enviar como tipo de formulárioapplication/x-www-form-urlencoded, e o hiapi retorna HTTP 415UNSUPPORTED_MEDIA_TYPE. Basta adicionar-H "Content-Type: application/json"; se o seu cliente HTTP não define automaticamente como tipo de formulário, também pode omitir esse cabeçalho. - Remapeie os campos de
inputpor modelo. Os nomes de campo podem diferir entre as duas plataformas e entre modelos diferentes (por exemplo,aspect_ratioesize,durationcomo inteiro e como string). Compare um a um com a descrição de parâmetros do modelo na documentação do hiapi. - Inclua
Idempotency-Keyem cada envio. Enviamos o mesmo corpo de requisição duas vezes com a mesma chave; a segunda retornou otaskIdoriginal, com o cabeçalho de respostaIdempotent-Replay: true, sem criar uma segunda tarefa. Assim, repetir após um timeout de rede no cliente é seguro. - Reescreva o tratamento de resposta. Leia
data.taskIdda resposta de criação, faça polling emGET /v1/tasks/<taskId>e, quandodata.statusforsuccess, obtenha o resultado emdata.output[].url. - Reescreva o receptor de webhook. Coloque o endereço de callback no campo de nível superior
callback: {"url": "..."}(não dentro deinput), valideX-HiAPI-Signaturecom a chave de assinatura do console; ela é o HMAC-SHA256 em hexadecimal detimestamp + "." + body, e deduplique portaskId. - Reveja a política de retenção de arquivos. As saídas da API do Replicate são excluídas após uma hora, então você provavelmente já está acostumado a transferir os arquivos imediatamente após obtê-los, e esse hábito continua válido no hiapi. No nosso teste, o
expireAtda saídatempera 7 dias após a conclusão da tarefa. Quando precisar que o hiapi guarde por mais tempo, defina"storage": "persistent". - Rode em paralelo por uma semana. Primeiro direcione uma pequena parte do tráfego para o hiapi, compare com os seus próprios prompts o custo por saída bem-sucedida e o tempo ponta a ponta, e depois faça a troca completa.
Abaixo está a requisição mínima que usamos no teste, com a chave substituída por um placeholder:
# 1. Enviar tarefa (repetir com a mesma Idempotency-Key é seguro)
curl -s https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-42-thumbnail" \
-d '{
"model": "flux-schnell/text-to-image",
"input": { "prompt": "一张极简等距插画:两台服务器机柜由一根发光的数据线相连,柔和马卡龙配色,纯白背景" }
}'
# -> {"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}
# 2. Fazer polling até data.status ser "success" ou "fail"
curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
-H "Authorization: Bearer $HIAPI_API_KEY"
# -> data.output[0] = {"type":"image","url":"https://temp.hiapi.ai/...jpg","expireAt":<unix 秒>, ...}
A convenção completa (enumeração de status, códigos de erro, assinatura de callback, política de retry) está na documentação de introdução à API assíncrona.
Como escolher
Situações em que o hiapi é adequado:
- O seu negócio chama principalmente modelos comerciais populares de imagem e vídeo e quer que todos os modelos usem o mesmo formato de requisição.
- Você quer cobrança por saída, sem que o custo varie com o tipo de GPU ou o tempo de execução.
- Você precisa de idempotência de envio e reembolso em caso de falha integrados à API.
- A equipe também precisa de modelos de texto ou de documentação em chinês e quer tudo na mesma conta.
Situações em que é melhor ficar no Replicate:
- Você executa modelos da comunidade, fixa versões específicas ou implanta os seus próprios modelos e ajustes finos.
- Você depende de webhooks de
output/logsem streaming ou do modo síncronoPrefer: wait. - Os modelos que você usa são mais baratos no Replicate. No caso do FLUX1.1 [pro] e do FLUX.1 [schnell], isso é realmente verdade no momento.
- Descoberta de modelos e teste rápido de muitos modelos open source é mais importante para você do que uma lista enxuta de modelos.
Muitas equipes acabam usando os dois: o Replicate para experimentos e modelos personalizados, e um fornecedor de produção para os poucos modelos comerciais de alto volume.
Perguntas frequentes
O hiapi é adequado como alternativa ao Replicate? Se você chama principalmente modelos comerciais de imagem e vídeo como FLUX, Nano Banana, GPT Image, Kling, Seedance e Veo, e quer uma API assíncrona com cobrança por saída, sim, é adequado. Ele não substitui modelos da comunidade nem os seus próprios ajustes finos.
Qual é mais barato, Replicate ou hiapi? Depende do modelo. Nos dois modelos FLUX em que ambos publicam o preço por imagem, o Replicate é mais barato. Para os outros modelos, use os preços atuais de cada lado e compare um a um com os seus modelos de alto volume. Além disso, nos modelos do Replicate cobrados por duração, o custo varia com o tempo de execução, enquanto no hiapi o preço é fixo por saída.
Como migrar do Replicate para o hiapi?
Mapeie cada modelo para o id de model exato do hiapi, mude a interface para POST https://api.hiapi.ai/v1/tasks, remapeie os campos de input por modelo, mude a verificação de status para success/fail e reescreva o receptor de webhook conforme o callback assinado de estado final do hiapi. A lista acima cobre todos os 10 passos.
O hiapi tem algo parecido com o webhook do Replicate?
Tem, mas só dispara no estado final. Defina callback.url no nível superior da requisição de criação; o hiapi envia uma vez quando a tarefa tem sucesso ou falha, tenta no máximo 4 vezes em caso de falha de entrega e pode assinar com HMAC-SHA256. Não há eventos de processo como start, output e logs.
Por quanto tempo os arquivos de saída ficam salvos?
O Replicate exclui por padrão os dados de previsão da API, incluindo os arquivos de saída, após uma hora. As saídas temp do hiapi ficam retidas por cerca de 7 dias por padrão, e com armazenamento persistent podem ficar mais tempo. Em qualquer um dos dois, arquivos que precisam ser guardados a longo prazo devem ser baixados e transferidos por você mesmo.
Conclusão
Para amplitude de modelos, modelos personalizados e eventos de progresso em streaming, o Replicate é mais adequado. Se o tráfego de produção se concentra em poucos modelos comerciais de imagem e vídeo, o hiapi dá menos trabalho: uma interface, cinco valores de status, preço por saída e idempotência integrada. A forma mais rápida de decidir é migrar primeiro o modelo de maior volume: encontre o id dele na página de modelos do hiapi, rode o curl acima com os seus próprios prompts e compare com o seu custo e tempo atuais. Se quiser experimentar, você pode primeiro registrar uma chave HiAPI gratuita.
Leitura complementar
Artigos relacionados
Ver todos os artigos →-
Avaliação comparativa
Wan 2.6 Flash vs Wan 2.7: vale a pena atualizar?
Orçamento em 720P e resultados em 1080P da raposa e do carro; condições de áudio e faixas reais indicadas conjunto por conjunto.
-
Avaliação comparativa
Vidu Q4 Preview vs Kling 3.0: como escolher para vídeo a partir de imagem?
Com som padrão, 16 segundos e 5 níveis de resolução, escolha o Vidu Q4 Preview; para travar a imagem com primeiro e último frame, escolha o Kling 3.0. Inclui duas comparações com o mesmo prompt: hidroavião e barista.
-
Avaliação comparativa
Recraft V4.1 vs Ideogram 4.5: como escolher entre logotipo nominativo e pôster?
Exemplos de logotipo nominativo e pôster com os mesmos prompts enviados nos dois modelos, explicando a opção de expansão, os níveis de qualidade e as diferenças de pixels reais, proporção e formato.