HiAPI
Blog

Tutorial

API de retoque de imágenes y eliminación de objetos: edita imágenes con prompts en HiAPI

Elimina objetos de tus fotos con los modelos de imagen a imagen de HiAPI: comparativas reales, qué modelo conserva tu composición, prompts que funcionan y ejemplos en curl y Python.

Jul 12, 2026
API de retoque de imágenes y eliminación de objetos: edita imágenes con prompts en HiAPI

Resumen

  • En HiAPI, eliminar objetos de una foto es una edición por instrucciones: envías la imagen y describes qué quieres eliminar. Los modelos genéricos de imagen a imagen no aceptan máscaras.
  • Buenos puntos de partida: flux-2/image-to-image ($0.035 a 1K, con aspect_ratio: "auto" conserva tu composición), gpt-image-2/image-to-image ($0.03 a 1K, el campo de imagen es input_urls), seedream-4.5/image-to-image ($0.045, admite hasta 4K) y qwen-image-3.0/image-to-image ($0.0358).
  • El modelo de inpainting basado en máscaras FLUX.1 Fill Pro figura en HiAPI como próximamente. Hasta que esté disponible, el prompt es tu máscara.

La misma foto, la misma instrucción, dos modelos

Imagen de origen: una foto de producto de la que queremos quitar la etiqueta de precio.

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.

La etiqueta de precio y su cordón han desaparecido. La superficie de la botella que estaba oculta tras la etiqueta se ha reconstruido con la misma curvatura y reflejos que el original, el fondo gris no muestra rastro de retoque y la tapa, la base y la sombra coinciden con la imagen de origen.

Enviamos la misma solicitud a flux-2/image-to-image. La tarea terminó en estado fail tras 16 segundos, con solo TASK_FAILED como motivo, y el cargo se reembolsó. Un fallo no dice nada sobre el modelo en sí, pero te recuerda que debes gestionar el estado fail en tu código y reintentar con un segundo modelo.

Qué modelo usar

ID del modelo Campo de imagen Conserva la composición de origen Tamaño de salida Precio
flux-2/image-to-image image_urls (1–8) Sí, aspect_ratio: "auto" resolution 1K / 2K $0.035 a 1K
gpt-image-2/image-to-image input_urls (1–16) Sí, aspect_ratio: "auto" (predeterminado) resolution 1K / 2K / 4K $0.03 a 1K
qwen-image-3.0/image-to-image image_urls (1–3) No, hay que elegir entre 8 proporciones resolution 1K / 2K $0.0358
seedream-4.5/image-to-image image_urls (1–14) No, hay que elegir entre 8 proporciones resolution 2K / 4K $0.045
seedream-5.0-pro/image-to-image image_urls (1–10) No, hay que elegir entre 7 proporciones resolution 1K / 2K $0.06 a 1K

Precios en tiempo real de HiAPI, consultados el 20 de octubre de 2026. Las tareas fallidas no se cobran.

  • Opción predeterminada para eliminar objetos: usa un modelo compatible con aspect_ratio: "auto", así la salida mantiene la forma de la foto y puedes colocarla directamente en su sitio.
  • Impresiones de gran formato o páginas de producto con zoom: Seedream 4.5 genera 4K al mismo precio que 2K.
  • Si solo necesitas quitar el fondo: usa una herramienta específica, como 851-labs/background-remover ($0.002 por imagen), que solo requiere un image_url y ningún 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"
    }
  }'

Recibirás un taskId. Consulta GET https://api.hiapi.ai/v1/tasks/{taskId} hasta que data.status sea success y luego descarga data.output[0].url. La imagen de origen debe estar en una URL pública; el modelo la obtiene en el servidor.

Python: una función para todos los 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)

Cómo escribir prompts de eliminación

Sin máscara, el prompt debe indicar con claridad qué quitar y qué conservar:

  1. Identifica el objeto y su posición. «La furgoneta blanca de reparto aparcada a la derecha» funciona mejor que «la furgoneta».
  2. Indica con qué rellenar el hueco. «Reconstruye el escaparate y la acera que hay detrás.»
  3. Fija todo lo demás. Termina con «mantén la iluminación, los colores y todo lo demás sin cambios» para que el modelo no reajuste el estilo de toda la foto.

El mismo patrón sirve para tareas relacionadas:

  • Borrar y rellenar: «Elimina los cables que cruzan el cielo. Rellena con un cielo despejado que coincida con el degradado. Mantén todo lo demás sin cambios.»
  • Reemplazar: «Cambia el vaso de papel por una taza de cerámica blanca. Iguala la iluminación y las sombras. Mantén todo lo demás sin cambios.»
  • Restaurar: «La esquina inferior izquierda de esta foto escaneada está dañada. Reconstruye la hierba y el sendero que faltan. No cambies el resto.»
  • Varios objetos: «Elimina la papelera junto al banco y los dos conos de tráfico. Rellena cada zona con el fondo. Mantén todo lo demás sin cambios.»

Para limpiezas extensas, haz una sola eliminación por llamada y encadénalas. Guarda cada resultado en tu propio almacenamiento y pasa esa URL a la siguiente llamada; los enlaces de salida de HiAPI caducan unos 7 días después de completarse la tarea.

Errores que encontrarás

Todos estos errores son HTTP 400 en el momento del envío, así que no se crea ninguna tarea ni se cobra nada:

  • additional properties 'mask_url' not allowed (o mask): estos modelos no aceptan máscaras. Describe la zona en el prompt.
  • input_urls: missing required field "input_urls": enviaste image_urls a gpt-image-2/image-to-image.
  • additional properties 'quality' not allowed: Seedream 5.0 Pro usa resolution (1K o 2K), no quality.
  • aspect_ratio: value must be one of ...: auto funciona en FLUX.2, GPT Image y Grok Imagine, pero no en Seedream ni Qwen.

Si una tarea termina en estado fail, consulta data.error. La causa habitual es que el modelo no puede obtener la URL de origen.

Preguntas frecuentes

¿HiAPI tiene una API de inpainting basada en máscaras?

Todavía no para uso general. FLUX.1 Fill Pro, que acepta una imagen más una máscara en blanco y negro, figura como próximamente. Los modelos anteriores solo editan mediante prompts.

¿Qué modelo es mejor para eliminar objetos?

Empieza por los modelos que conservan la composición de origen: flux-2/image-to-image o gpt-image-2/image-to-image con aspect_ratio: "auto". GPT Image 2 resolvió limpiamente el ejemplo anterior. Antes de decidirte, compara ambos modelos con algunas de tus propias fotos.

¿Se pueden eliminar varios objetos en una sola llamada?

Sí, enuméralos en un mismo prompt. Cada llamada devuelve una imagen. Si el resultado se olvida de alguno, vuelve a ejecutar sobre la salida.

¿Se pueden usar comercialmente las imágenes editadas?

Las salidas generadas se rigen por los términos de uso de tu plan. Además, debes tener los derechos sobre la foto de origen que editas.

Más prompts de edición: recetas de prompts de Seedream 4.5 y guía de la API de Qwen Image 3.0.

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