GPT-6 Sol e Claude Opus 5.5 disponibiliGPT-6 Sol a metà prezzo rispetto a 5.6 Sol

API per rimuovere oggetti: togli un oggetto dalla foto con GPT Image 2

Un'istruzione per oggetto è bastata per tutte e tre le rimozioni. Qui trovi il codice della richiesta, i risultati a piena risoluzione e i punti in cui la modifica non è ancora affidabile.

Kiki, OmniaKey COO7 min di lettura
In questa pagina

Una sola istruzione di testo per oggetto è bastata all'endpoint di modifica di GPT-Image 2. In tre esecuzioni il 28 ottobre 2026 abbiamo tolto da una stessa foto di parco una donna con il cane, un bidone blu e un aquilone rosso, una frase ciascuno. Ogni vuoto si è chiuso in linea con l'intorno, e la panchina, gli alberi e la linea dell'orizzonte sono rimasti dov'erano.

La richiesta manda un prompt e un'immagine di partenza e restituisce una foto nuova e completa. Sotto ci sono il Python che abbiamo eseguito, i tre risultati a piena risoluzione e i controlli che colgono un riempimento da rifare.

Cosa fa una rimozione guidata da un'istruzione

Si manda una foto e una frase. La frase nomina l'oggetto, dice cosa deve prendere il suo posto ed elenca cosa deve restare. Il modello ridisegna quella zona e restituisce un'immagine nuova intera, quindi non c'è un passaggio di composito separato.

La chiamata è lo stesso task media di qualsiasi altra modifica su OmniaKey: modello gpt-image-2, type image, operation edit, la foto di partenza nel campo input image come Base64, la frase in input prompt. Nei parameters size va come WIDTHxHEIGHT e quality accetta low, medium, high o auto; n deve essere 1. Entrambe le operazioni sono elencate nella pagina del modello.

Il controllo sta nelle parole. «Il piccolo aquilone rosso in cielo» è un lavoro diverso da «quella cosa rossa», e un riempimento come «erba e pietre da pavimentazione» decide cosa occupa lo spazio dopo. L'ordine delle frasi è nella guida ai prompt di GPT Image 2, e la guida all'alternativa FLUX Kontext usa lo stesso tipo di istruzione su GPT Image 2.

La richiesta

Un solo file Python fa tutto: codifica la foto, crea il task, fa polling finché non finisce, poi scarica il PNG.

python
import base64
import json
import os
import time
import urllib.request
import uuid

API = "https://api.omniakey.com/v1/media/tasks"
KEY = os.environ["OMNIAKEY_API_KEY"]


def request(method, url, body=None, extra_headers=None):
    headers = {"Authorization": f"Bearer {KEY}", "User-Agent": "omniakey-example/1"}
    data = None
    if body is not None:
        headers["Content-Type"] = "application/json"
        data = json.dumps(body).encode()
    headers.update(extra_headers or {})
    req = urllib.request.Request(url, data=data, headers=headers, method=method)
    with urllib.request.urlopen(req, timeout=120) as resp:
        return json.load(resp)


def edit_image(source_path, prompt, out_path, size="1024x1536", quality="medium"):
    with open(source_path, "rb") as f:
        image = base64.b64encode(f.read()).decode()
    body = {
        "model": "gpt-image-2",
        "type": "image",
        "operation": "edit",
        "input": {"prompt": prompt, "image": {"data": image, "mime_type": "image/jpeg"}},
        "parameters": {"size": size, "quality": quality},
    }
    task = request("POST", API, body, {"Idempotency-Key": str(uuid.uuid4())})["id"]
    for _ in range(150):
        time.sleep(4)
        state = request("GET", f"{API}/{task}")
        if state["status"] not in ("queued", "processing"):
            break
    if state["status"] != "succeeded":
        raise RuntimeError(state.get("error") or state["status"])
    asset_url = state["assets"][0]["url"]  # signed link: valid for about an hour, so download now
    req = urllib.request.Request(asset_url, headers={"User-Agent": "omniakey-example/1"})
    with urllib.request.urlopen(req, timeout=120) as resp, open(out_path, "wb") as f:
        f.write(resp.read())
    return task
if __name__ == "__main__":
    task = edit_image(
        "park-base.jpg",
        "Remove the blue trash bin completely. Fill its spot with grass and paving stones so it matches the surroundings. Keep everything else exactly the same. Photorealistic, no text, no logos.",
        "park-no-bin.png",
        size="1536x1024",
    )
    print("task", task)

La funzione l'abbiamo verificata il 28 ottobre 2026 con un altro prompt, un impermeabile giallo, su un JPEG da 1024 pixel del modello di base, e ha restituito un PNG 1024x1536.

  • La chiamata di creazione restituisce HTTP 202 e un id del task (documentazione immagini di OmniaKey, verificata il 28 ottobre 2026). Interroga quel task finché lo stato non esce da queued o processing; succeeded significa che gli asset sono pronti, mentre un task fallito arriva con codice e messaggio di errore e non viene addebitato.
  • L'URL firmato dell'asset scade dopo circa un'ora, mentre il file resta conservato per 24 ore. Scarica subito con un GET semplice che non manda la API key.
  • Il Base64 inline rientra nel limite di 1 MiB per richiesta, quindi riduci prima la foto del telefono.
  • Manda un header User-Agent: il 28 ottobre 2026 una richiesta con lo User-Agent predefinito di Python è tornata HTTP 403, e l'header ha risolto.
  • size è esplicito, quindi una foto orizzontale esce a 1536x1024. GPT Image restituisce sempre un PNG opaco, quindi leggi le dimensioni reali dal file scaricato.

Sul costo, la pagina dei prezzi di OpenAI elenca GPT Image 2 a $8.00 per milione di token immagine in input e $30.00 per milione di token immagine in output, con le tariffe batch a metà (verificato il 28 ottobre 2026). Quella pagina non ha una tabella per singola immagine; la sua guida alla generazione di immagini ha una calcolatrice per una immagine. Il prezzo attuale di OmniaKey è nella pagina dei prezzi.

Tre rimozioni sulla stessa foto di parco

Tutte e quattro le immagini vengono da un unico fotogramma di base: un vialetto in un parco cittadino assolato, una panchina di legno al centro, un bidone metallico blu a sinistra, una donna che porta a spasso un cagnolino marrone verso la macchina fotografica e un piccolo aquilone rosso in alto in un cielo limpido. Base e risultati sono stati prodotti a 1536x1024, quality medium, con GPT Image 2 via OmniaKey il 28 ottobre 2026; la scena e le persone sono sintetiche. Abbiamo mandato una frase per oggetto ed eseguito ognuna una volta.

RimossoIstruzione inviataCosa è tornato
Donna e cane"Remove the woman and the small brown dog completely. Fill the path and the grass naturally so they match the surroundings. Keep the bench, the blue bin, the trees, the kite and the sky exactly the same. Photorealistic, no text, no logos."Donna e cane spariti; vialetto ed erba ripristinati; panchina, bidone, alberi, aquilone e cielo intatti
Bidone blu"Remove the blue trash bin completely. Fill its spot with grass and paving stones so it matches the surroundings. Keep everything else exactly the same. Photorealistic, no text, no logos."Bidone sparito; al suo posto erba e pavimentazione; la donna e il cane sono rimasti
Aquilone rosso"Remove the small red kite from the sky. Keep the sky natural and everything else exactly the same. Photorealistic, no text, no logos."Aquilone sparito; cielo naturale; il resto del fotogramma invariato
Quattro riquadri: il vialetto del parco originale, poi lo stesso fotogramma con la donna e il cane rimossi, il bidone rimosso e l'aquilone rimosso
Originale e tre rimozioni separate dalla stessa foto. Ogni riquadro cambia una cosa sola.

Generato con GPT-Image 2 tramite l'API OmniaKey il 28 ottobre 2026, dimensione 1536x1024, qualità medium.

Il secondo riquadro perde la donna e il cane mentre vialetto ed erba si chiudono dietro di loro, e panchina, bidone, alberi, aquilone e orizzonte restano. Il terzo toglie il bidone e ricostruisce il suo posto con erba e pavimentazione, con la donna e il cane ancora nel fotogramma. Il quarto libera il cielo dall'aquilone, che per il resto è identico.

Cosa controllare dopo ogni rimozione

Guarda ogni riquadro a dimensioni reali prima di pubblicare una rimozione.

  • Il bordo del riempimento e il resto del fotogramma. Erba, pavimentazione o texture del vialetto nuove toccano da qualche parte le vecchie, e il modello ridisegna tutta l'immagine, quindi confronta quella giunzione e un margine attorno all'oggetto con la foto di partenza; una zona morbida, ripetuta o sfocata si vede prima lì.
  • Tutto ciò che toccava l'oggetto. Un guinzaglio, un'ombra o un riflesso vanno ricostruiti insieme all'oggetto.
  • La lista di ciò che resta, voce per voce. La rimozione 1 ha tenuto panchina, bidone, alberi, aquilone e cielo; la rimozione 2 ha tenuto la donna e il cane. Nomina ogni voce e poi cercala nel risultato.

Pubblica la rimozione quando il riempimento regge a dimensioni reali e ogni voce della lista di ciò che resta è al suo posto. Se il riempimento sembra una macchia, rilancia la stessa frase con il materiale nominato, per esempio "erba e pietre da pavimentazione".

Cosa non abbiamo provato

Non abbiamo provato l'input con una maschera, scene affollate né oggetti molto piccoli, quindi se la tua foto ha una folla, una fila di recinzioni o un cinturino sottile come un guinzaglio, metti in conto una seconda esecuzione e guarda quel bordo a piena risoluzione.

Un modello di istruzione

Rimuovi [l'oggetto, con il dettaglio che lo distingue] del tutto. Riempi il suo posto con [materiale] in modo che si accordi con l'intorno. Lascia [ciò che deve restare] esattamente com'è. Fotorealistico, senza testo, senza loghi.

  • L'oggetto, con il dettaglio che lo distingue. «Il piccolo aquilone rosso in cielo» batte «l'aquilone» e dice al modello di quale aquilone parli quando nel fotogramma ce ne sono diversi.
  • Il riempimento, in materiali. «Erba e pietre da pavimentazione» dà al modello qualcosa con cui allinearsi all'intorno; un semplice «rimuovilo» lascia la scelta a lui.
  • La lista di ciò che resta. Nomina quello che deve sopravvivere: la panchina, il bidone blu, gli alberi, l'aquilone, il cielo.
  • La coda di stile. «Fotorealistico, senza testo, senza loghi» tiene una foto con l'aspetto di una foto.

Per cambiare i vestiti a una persona lo stesso schema funziona nominando il capo come l'oggetto che cambia; la guida al virtual try-on segue quel caso.

Domande frequenti

Si può togliere una persona da una foto con un'API?

Sì, controllando il risultato. Nella rimozione 1 la donna e il suo cane sono usciti dal fotogramma in un passaggio, e vialetto ed erba sono stati ricostruiti dietro di loro.

L'endpoint accetta una maschera?

La documentazione di OmniaKey descrive un'immagine di partenza e un prompt (verificata il 28 ottobre 2026). Un campo maschera non è descritto, e nessuna maschera è stata provata. L'oggetto e la sua posizione li nomini a parole invece di dipingere una zona.

Il link firmato dura circa un'ora (documentazione OmniaKey, verificata il 28 ottobre 2026), mentre il file resta conservato per 24 ore. Scarica appena il task arriva a succeeded.

Che dimensione conviene chiedere?

Passa size come WIDTHxHEIGHT esplicito, per esempio 1536x1024 per una foto orizzontale, e leggi le dimensioni reali dal PNG scaricato. GPT Image restituisce sempre un file opaco, quindi pianifica qualsiasi ritaglio dopo il download.

Una sola istruzione può togliere due oggetti?

Nella rimozione 1 una frase ha tolto una donna e il suo cane insieme. Altre coppie non sono state provate.

Parti dalla pagina del modello GPT-Image 2 per i parametri, e controlla i prezzi attuali prima di pianificare la prossima rimozione.

Modelli citati in questo articolo

rimozione di oggettiGPT Image 2modifica di immaginiinpaintingAPI

Articoli correlati

Articoli recenti