HiAPI
Blog

Comparativa

Alternativa a Replicate: comparativa de generación de imagen y vídeo entre hiapi y Replicate (2026)

Qué hay que cambiar en las llamadas de predicción, los webhooks y la facturación al migrar de Replicate a hiapi, con una lista de migración de 10 pasos.

Nov 3, 2026
Alternativa a Replicate: comparativa de generación de imagen y vídeo entre hiapi y Replicate (2026)

Si tu generación de imagen o vídeo ya funciona sobre Replicate y estás buscando alternativas, lo que más te preocupa probablemente sea esto: qué llamadas hay que cambiar, cómo afectará a la lógica de gestión de webhooks, cómo se corresponden las unidades de facturación y dónde es fácil equivocarse al migrar. Este artículo responde a cada una de estas cuestiones. La información del lado de Replicate proviene de su documentación pública y su página de precios; la del lado de hiapi proviene del listado de modelos en tiempo real, la interfaz de precios /api/pricing y la documentación oficial, todo verificado en noviembre de 2026. Durante la redacción también enviamos solicitudes reales a hiapi; las respuestas citadas en el texto provienen de esas solicitudes.

Para dejarlo claro desde el principio: Replicate es una plataforma muy potente. Si dependes de una gran cantidad de modelos de la comunidad, de ajustes finos personalizados o de desplegar tus propios modelos, hay cosas que hace y que hiapi no pretende cubrir. hiapi encaja en otro tipo de equipo: el que llama principalmente a modelos comerciales conocidos de imagen y vídeo y quiere que todos los modelos compartan una misma convención de llamada asíncrona.

Visión general de la plataforma

Dimensión Replicate hiapi
Qué se puede ejecutar Modelos oficiales, una gran cantidad de modelos de la comunidad, y tus propios modelos y ajustes finos Modelos comerciales seleccionados de imagen, vídeo y audio (98 modelos en la interfaz de tareas asíncronas en el momento de la redacción)
Crear tarea Para modelos oficiales, POST /v1/models/{owner}/{name}/predictions, o POST /v1/predictions con version Todos los modelos de imagen, vídeo y audio usan POST /v1/tasks, pasando model + input
Autenticación Authorization: Bearer <token> Authorization: Bearer <key>
Espera síncrona Prefer: wait=n mantiene la solicitud como máximo 60 segundos No existe, siempre asíncrono (sondeo o callback)
Valores de estado starting, processing, succeeded, failed, canceled, aborted queued, handling, archiving, success, fail
Eventos de webhook start, output, logs, completed (filtrables) Solo callback en el estado final (when: "final"), tanto success como fail lo activan
Firma del webhook HMAC-SHA256 sobre id.timestamp.body, cabeceras webhook-*, clave whsec_ HMAC-SHA256 sobre timestamp.body, cabeceras X-HiAPI-*, clave configurada en la consola
Idempotencia de envío No se trata en la documentación que consultamos Cabecera Idempotency-Key; el reintento devuelve el taskId original
Retención de salidas (API) Por defecto, las entradas, salidas, archivos y registros se eliminan tras 1 hora El almacenamiento temp dura por defecto unos 7 días; almacenamiento persistent opcional (facturado por tamaño)
Unidad de facturación Algunos modelos cobran por salida; la mayoría cobra por segundos de ejecución del hardware Cobro por salida: imagen por unidad, vídeo por segundo, audio por pista o por uso

Cada celda de la tabla proviene de la documentación de cada parte o de nuestras solicitudes reales. Las dimensiones que no pudimos verificar en ambos lados no las hemos incluido.

Diferencias clave

Cobertura de modelos: amplitud frente a lista seleccionada

La fortaleza de Replicate es la amplitud. Además de los modelos oficiales, puedes ejecutar modelos de la comunidad, fijar el hash de una version concreta o subir tus propios modelos. Muchas familias de modelos comerciales están en ambos lados: Replicate tiene páginas para modelos de FLUX, Nano Banana, Seedance, Kling, Veo, Wan y Seedream, y hiapi también ofrece las versiones actuales de estas familias. Si tu producto depende de un checkpoint concreto de la comunidad o de un ajuste fino privado, esa parte del negocio no la puede sustituir hiapi.

La lista de hiapi es más reducida y se centra en modelos comerciales listos para producción, incluidas las versiones actuales como Seedance 2.5, Kling 3.0, Veo 3.1, Nano Banana Pro y GPT Image 2. La lista completa y los parámetros de entrada de cada modelo están en la página de modelos de hiapi.

Convención asíncrona: qué hay que cambiar realmente en tu código

Ambas plataformas son principalmente asíncronas; la diferencia se nota en el bucle de sondeo y en el tratamiento de webhooks:

  • hiapi no tiene atajo síncrono. Si dependes de Prefer: wait de Replicate para obtener la imagen en una sola solicitud, al pasar a hiapi necesitarás «enviar y sondear» o usar callbacks. En nuestra prueba real de texto a imagen con FLUX.1 [schnell], la tarea pasó de archiving a success; las marcas de tiempo created y completed de la tarea difirieron en 6 segundos, con sondeo cada 3 segundos obtuvimos el resultado en el cuarto intento. El prompt en chino se puede enviar directamente, sin procesamiento adicional.
  • Solo callback en el estado final. Replicate puede enviar eventos start, output en streaming y logs. hiapi solo devuelve la llamada una vez cuando la tarea entra en success o fail; el cuerpo del callback coincide con el objeto data que devuelve GET /v1/tasks/:id. Si tu interfaz muestra el progreso en tiempo real mediante el webhook logs, en hiapi tendrás que usar sondeo.
  • Entrega al menos una vez. Si falla la entrega del callback, hiapi lo reintenta de inmediato y luego a +1 minuto, +5 minutos y +20 minutos. El mismo taskId puede llegar más de una vez; deduplica por él.
  • Los nombres de estado cambian. succeeded/failed corresponden a success/fail; canceled/aborted no tienen estado equivalente. Cuando una tarea de hiapi falla, la interfaz de detalles sigue devolviendo HTTP 200, así que hay que comprobar data.status y no solo el código de estado HTTP.

Unidades de facturación y precios

Replicate cobra la mayoría de los modelos públicos por tiempo de hardware (por segundo, con precio según la GPU); algunos modelos cobran por entrada y salida. En su página de precios, FLUX1.1 [pro] cuesta $0.04 por imagen y FLUX.1 [schnell] $3.00 por cada mil imágenes. Si cancelas después de que empiece la predicción, el tiempo ya ejecutado se sigue cobrando; las predicciones abortadas antes de empezar no se cobran.

hiapi cobra todos los modelos de tareas por salida, y el coste no depende del tipo de GPU en que se ejecute el modelo. La siguiente tabla proviene de la interfaz en tiempo real /api/pricing de hiapi, verificada en noviembre de 2026:

Modelo en hiapi id de model Precio base
FLUX.1 [schnell] flux-schnell/text-to-image $0.005 / imagen
FLUX1.1 [pro] flux-1.1-pro $0.05 / imagen
FLUX.2 [pro] flux-2/text-to-image $0.05 / imagen
Nano Banana Pro nano-banana-pro $0.0285 / imagen
GPT Image 2 gpt-image-2/text-to-image $0.03 / imagen
Kling 3.0 texto a vídeo kling-3.0/text-to-video $0.129 / segundo
Seedance 2.5 texto a vídeo seedance-2.5/text-to-video $0.204 / segundo
Veo 3.1 Fast texto a vídeo veo-3.1-fast/text-to-video $0.25 / segundo

Algunos modelos tienen tarifas por resolución o duración, y los tramos superiores cuestan más que el precio base. Las cifras más recientes están en la página de precios.

En los dos modelos FLUX para los que ambos publican el precio por imagen, Replicate es más barato: FLUX1.1 [pro] cuesta $0.04 frente a $0.05, y schnell $0.003 frente a $0.005. Lo reconocemos con honestidad. La diferencia de precio de otros modelos depende de qué versión y qué resolución compares; conviene comparar precio modelo por modelo con tus tres modelos de mayor volumen antes de decidir. Además, en hiapi las tareas fallidas no se cobran: el importe retenido al crear la tarea se devuelve íntegramente cuando la tarea termina en fail.

Lista de migración (Replicate → hiapi)

Los siguientes pasos cubren lo que hay que cambiar en una integración típica de Replicate. Los pasos 3, 4 y 6 son situaciones que encontramos realmente en nuestras pruebas.

  1. Inventario de modelos. Enumera cada modelo y versión de Replicate que llamas, junto con el volumen mensual de llamadas. Marca por separado los modelos de la comunidad y los ajustes finos privados; esa parte se queda en Replicate o se gestiona de otra forma.
  2. Encuentra el id de model exacto de hiapi para cada modelo. Los id de hiapi suelen llevar sufijo de ruta, como /text-to-image o /image-to-video. Cópialo de la página del modelo, no lo deduzcas a partir del owner/name de Replicate.
  3. Un id mal escrito devuelve 400. Enviamos black-forest-labs/flux-schnell y flux-schnell sin sufijo, y ambos devolvieron HTTP 400: {"error_code":"MODEL_UNAVAILABLE","message":"model not available via /v1/tasks"}. El id correcto es flux-schnell/text-to-image.
  4. Envía JSON de forma explícita. Si usas directamente curl -d '{...}' sin Content-Type, curl lo envía como tipo de formulario application/x-www-form-urlencoded y hiapi devuelve HTTP 415 UNSUPPORTED_MEDIA_TYPE. Basta con añadir -H "Content-Type: application/json"; si tu cliente HTTP no establece automáticamente el tipo de formulario, también puedes omitir esta cabecera.
  5. Vuelve a mapear los campos de input según el modelo. Los nombres de campo pueden diferir entre ambas plataformas y entre distintos modelos (por ejemplo, aspect_ratio y size, o duration como entero y como cadena). Compáralos uno a uno con la descripción de parámetros del modelo en la documentación de hiapi.
  6. Incluye Idempotency-Key en cada envío. Enviamos dos veces el mismo cuerpo de solicitud con la misma clave; la segunda devolvió el taskId original con la cabecera de respuesta Idempotent-Replay: true, sin crear una segunda tarea. Así, reintentar tras un tiempo de espera de red en el cliente es seguro.
  7. Reescribe el tratamiento de la respuesta. Lee data.taskId de la respuesta de creación, consulta GET /v1/tasks/<taskId> y, cuando data.status sea success, obtén el resultado de data.output[].url.
  8. Reescribe el receptor del webhook. Coloca la URL de callback en el campo de nivel superior callback: {"url": "..."} (no dentro de input), verifica X-HiAPI-Signature con la clave de firma de la consola, que es el HMAC-SHA256 hexadecimal de timestamp + "." + body, y deduplica por taskId.
  9. Revisa la política de retención de archivos. Las salidas de la API de Replicate se eliminan al cabo de una hora, así que probablemente ya tengas la costumbre de transferir los archivos en cuanto los recibes; esa costumbre sigue siendo válida en hiapi. En nuestras pruebas, el expireAt de las salidas temp era 7 días después de completarse la tarea. Si necesitas que hiapi los conserve más tiempo, configura "storage": "persistent".
  10. Ejecuta en paralelo durante una semana. Desvía primero una pequeña parte del tráfico a hiapi, compara con tus propios prompts el coste de cada salida correcta y el tiempo de extremo a extremo, y luego cambia por completo.

La solicitud mínima que usamos en las pruebas, con la clave sustituida por un marcador de posición, es la siguiente:

# 1. Enviar tarea (reintentar con la misma Idempotency-Key es 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": "Una ilustración isométrica minimalista: dos racks de servidores conectados por un cable de datos brillante, colores pastel suaves, fondo blanco puro" }
  }'
# -> {"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}

# 2. Sondear hasta que data.status sea "success" o "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":<segundos unix>, ...}

La convención completa (enumeración de estados, códigos de error, firma de callbacks, política de reintentos) está en la documentación de introducción a la API asíncrona.

Cómo elegir

Casos en los que conviene elegir hiapi:

  • Tu negocio llama principalmente a modelos comerciales de imagen y vídeo de referencia y quieres que todos los modelos usen el mismo formato de solicitud.
  • Quieres precios por salida, sin que el coste varíe según el tipo de GPU o el tiempo de ejecución.
  • Necesitas idempotencia de envío y reembolso por fallo integrados en la API.
  • Tu equipo también necesita modelos de texto o documentación en chino y prefiere tenerlo todo en la misma cuenta.

Casos en los que conviene quedarse en Replicate:

  • Ejecutas modelos de la comunidad, fijas versiones concretas o despliegas tus propios modelos y ajustes finos.
  • Dependes de webhooks output/logs en streaming o del modo síncrono Prefer: wait.
  • Los modelos que usas son más baratos en Replicate. En el caso de FLUX1.1 [pro] y FLUX.1 [schnell], actualmente es así.
  • Para ti, descubrir modelos y probar rápidamente una gran cantidad de modelos de código abierto es más importante que una lista de modelos reducida.

Muchos equipos acaban usando ambos: Replicate para experimentar y ejecutar modelos personalizados, y un proveedor de producción para los pocos modelos comerciales de alto volumen.

Preguntas frecuentes

¿Es hiapi una alternativa adecuada a Replicate? Si llamas principalmente a modelos comerciales de imagen y vídeo como FLUX, Nano Banana, GPT Image, Kling, Seedance o Veo y quieres una API asíncrona y facturación por salida, es adecuada. No sustituye a los modelos de la comunidad ni a tus propios ajustes finos.

¿Qué es más barato, Replicate o hiapi? Depende del modelo. En los dos modelos FLUX para los que ambos publican el precio por imagen, Replicate es más barato. Para el resto, compara con los precios actuales de cada parte y modelo por modelo con tus modelos de mayor volumen. Además, en Replicate el coste de los modelos facturados por tiempo varía con el tiempo de ejecución, mientras que hiapi tiene un precio fijo por salida.

¿Cómo migrar de Replicate a hiapi? Asigna cada modelo a su id exacto de model de hiapi, cambia la interfaz a POST https://api.hiapi.ai/v1/tasks, vuelve a mapear los campos de input según el modelo, cambia la comprobación de estado a success/fail y reescribe el receptor del webhook según el callback firmado de estado final de hiapi. La lista anterior detalla los 10 pasos.

¿Tiene hiapi webhooks similares a los de Replicate? Sí, pero solo se activan en el estado final. Configura callback.url en el nivel superior de la solicitud de creación; hiapi envía una notificación cuando la tarea tiene éxito o falla, con un máximo de 4 intentos en caso de fallo de entrega, y puede firmarse con HMAC-SHA256. No hay eventos de proceso como start, output o logs.

¿Cuánto tiempo se conservan los archivos de salida? Replicate elimina por defecto los datos de predicción de la API, incluidos los archivos de salida, al cabo de una hora. Las salidas temp de hiapi se conservan por defecto unos 7 días, y con el almacenamiento persistent más tiempo. En cualquier caso, los archivos que necesites conservar a largo plazo debes descargarlos y transferirlos tú mismo.

Conclusión

Para amplitud de modelos, modelos personalizados y eventos de progreso en streaming, Replicate es más adecuado. Si el tráfico de producción se concentra en unos pocos modelos comerciales de imagen y vídeo, hiapi es más sencillo: una interfaz, cinco valores de estado, precios por salida e idempotencia integrada. La forma más rápida de decidir es migrar primero el modelo de mayor volumen: busca su id en la página de modelos de hiapi, ejecuta el curl anterior con tus propios prompts y compara con tu coste y tiempo actuales. Si quieres probarlo, puedes registrar una clave HiAPI gratuita.

Lecturas complementarias

Artículos relacionados

Ver todos los artículos →

Empieza a crear con artefactos de IA persistentes

Consigue tu API key y llama a modelos de imagen, vídeo y audio a través de una única API basada en tasks.

Leer la documentación de la API