HiAPI
Blog

Tutoriale

API di restauro immagini e rimozione oggetti: modificare le immagini con i prompt su HiAPI

Rimuovi oggetti dalle foto con i modelli image-to-image di HiAPI: confronti reali, quale modello preserva la tua composizione, prompt efficaci ed esempi curl e Python.

Jul 12, 2026
API di restauro immagini e rimozione oggetti: modificare le immagini con i prompt su HiAPI

Riepilogo

  • Su HiAPI, rimuovere oggetti da una foto è un'operazione di editing guidato da istruzioni: invii un'immagine e descrivi cosa rimuovere. I modelli image-to-image generici non accettano maschere.
  • Punti di partenza consigliati: flux-2/image-to-image ($0.035 a 1K, con aspect_ratio: "auto" preserva la tua composizione), gpt-image-2/image-to-image ($0.03 a 1K, campo immagine input_urls), seedream-4.5/image-to-image ($0.045, fino a 4K) e qwen-image-3.0/image-to-image ($0.0358).
  • Il modello di inpainting basato su maschera FLUX.1 Fill Pro è elencato su HiAPI come in arrivo. Finché non sarà disponibile, il prompt è la tua maschera.

La stessa foto, la stessa istruzione, due modelli

Immagine di partenza: una foto di prodotto da cui vogliamo eliminare l'etichetta del prezzo.

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 secondi, $0.03.

L'etichetta del prezzo e il suo cordino sono scomparsi. La superficie della borraccia che era coperta dall'etichetta è stata ricostruita, con curvatura e riflessi coerenti con l'originale, lo sfondo grigio non presenta tracce di ritocco, e il tappo, il fondo e l'ombra corrispondono all'immagine di partenza.

Abbiamo inviato la stessa richiesta a flux-2/image-to-image. L'attività è terminata con fail dopo 16 secondi, con il solo motivo TASK_FAILED, e il costo è stato rimborsato. Un singolo fallimento non dice nulla sul modello in sé, ma è un promemoria: gestisci lo stato fail nel codice e riprova con un secondo modello.

Quale modello usare

ID modello Campo immagine Preserva la composizione di partenza Dimensioni di output Prezzo
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" (predefinito) resolution 1K / 2K / 4K $0.03 a 1K
qwen-image-3.0/image-to-image image_urls (1–3) No, scegli tra 8 proporzioni resolution 1K / 2K $0.0358
seedream-4.5/image-to-image image_urls (1–14) No, scegli tra 8 proporzioni resolution 2K / 4K $0.045
seedream-5.0-pro/image-to-image image_urls (1–10) No, scegli tra 7 proporzioni resolution 1K / 2K $0.06 a 1K

Prezzi HiAPI in tempo reale, rilevati il 20 ottobre 2026. Le attività fallite non vengono addebitate.

  • Scelta predefinita per la rimozione oggetti: usa un modello che supporta aspect_ratio: "auto", così l'output mantiene la forma della foto e puoi reinserirlo direttamente al suo posto.
  • Stampe di grande formato o pagine prodotto con zoom: Seedream 4.5 produce output 4K allo stesso prezzo del 2K.
  • Solo rimozione dello sfondo: usa uno strumento dedicato, ad esempio 851-labs/background-remover ($0.002 per immagine), che richiede solo un image_url e nessun 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"
    }
  }'

Ricevi un taskId. Esegui il polling di GET https://api.hiapi.ai/v1/tasks/{taskId} finché data.status non è success, poi scarica data.output[0].url. L'immagine di partenza deve trovarsi a un URL pubblico; il modello la recupera lato server.

Python: una funzione per tutti i modelli

# 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)

Scrivere i prompt di rimozione

Senza maschera, il prompt deve specificare chiaramente cosa rimuovere e cosa conservare:

  1. Indica l'oggetto e la sua posizione. "Il furgone bianco delle consegne parcheggiato a destra" funziona meglio di "quel furgone".
  2. Spiega con cosa riempire il vuoto. "Ricostruisci la vetrina e il marciapiede dietro di esso."
  3. Blocca tutto il resto. Concludi con "mantieni invariati illuminazione, colori e tutto il resto", così il modello non ridefinisce lo stile dell'intera foto.

Lo stesso schema vale per attività correlate:

  • Raschiare e riempire: "Rimuovi i cavi che attraversano il cielo. Riempili con un cielo sereno che si raccordi al gradiente. Mantieni invariato tutto il resto."
  • Sostituire: "Sostituisci il bicchiere di carta per il caffè con una tazza in ceramica bianca. Abbina illuminazione e ombre. Mantieni invariato tutto il resto."
  • Restaurare: "L'angolo in basso a sinistra di questa foto scansionata è danneggiato. Ricostruisci l'erba e il sentiero mancanti. Non modificare il resto."
  • Più oggetti: "Rimuovi il cestino accanto alla panchina e i due coni stradali. Riempi ogni area con lo sfondo. Mantieni invariato tutto il resto."

Per pulizie estese, esegui una rimozione per chiamata e concatenale. Salva ogni risultato sul tuo storage e passa quell'URL alla chiamata successiva; i link di output di HiAPI scadono dopo circa 7 giorni dal completamento dell'attività.

Gli errori che incontrerai

Questi errori sono tutti HTTP 400 al momento dell'invio, quindi non creano attività e non vengono addebitati:

  • additional properties 'mask_url' not allowed (o mask): questi modelli non accettano maschere. Descrivi l'area nel prompt.
  • input_urls: missing required field "input_urls": hai inviato image_urls a gpt-image-2/image-to-image.
  • additional properties 'quality' not allowed: Seedream 5.0 Pro usa resolution (1K o 2K), non quality.
  • aspect_ratio: value must be one of ...: auto è valido per FLUX.2, GPT Image e Grok Imagine, non per Seedream o Qwen.

Se l'attività termina con fail, controlla data.error. Una causa comune è che il modello non riesce a recuperare l'URL di partenza.

Domande frequenti

HiAPI ha un'API di inpainting basata su maschera?

Al momento non è disponibile per uso generale. FLUX.1 Fill Pro, che accetta un'immagine più una maschera in bianco e nero, è elencato come in arrivo. I modelli sopra elencati eseguono l'editing solo tramite prompt.

Qual è il modello migliore per la rimozione oggetti?

Inizia dai modelli che preservano la composizione di partenza: flux-2/image-to-image o gpt-image-2/image-to-image con aspect_ratio: "auto". GPT Image 2 ha gestito l'esempio sopra in modo pulito. Prima di scegliere un modello, confronta i due con alcune tue foto.

Si possono rimuovere più oggetti in un'unica chiamata?

Sì, elencali in un solo prompt. Ogni chiamata restituisce un'immagine. Se il risultato ne salta uno, esegui un'altra passata sull'output.

Le immagini modificate possono essere usate commercialmente?

Gli output generati sono soggetti ai termini d'uso del tuo piano. Devi comunque possedere i diritti sulla foto di partenza che modifichi.

Altri prompt di editing: Ricette di prompt per Seedream 4.5 e Guida all'API di Qwen Image 3.0.

Inizia a creare con artefatti IA persistenti

Ottieni la tua chiave API e chiama modelli di immagini, video e audio tramite un'unica API basata sui task.

Leggi la documentazione API