GPT-6 Sol et Claude Opus 5.5 disponiblesGPT-6 Sol à moitié prix par rapport à 5.6 Sol

API de suppression d'objets : retirer des objets de vos photos avec GPT Image 2

Une phrase par objet a suffi pour ces trois suppressions. Voici le code de la requête, les résultats en pleine taille et les points auxquels il ne faut pas encore se fier.

Kiki, OmniaKey COO7 minutes de lecture
Sur cette page

Le 28 octobre 2026, une phrase par objet a suffi à l'endpoint d'édition de GPT-Image 2 pour retirer d'une photo de parc une femme avec son chien, une poubelle bleue et un cerf-volant rouge. Trois exécutions, une phrase chacune. Le vide s'est fondu dans le décor, et le banc, les arbres et la ligne d'horizon sont restés en place.

L'appel envoie un prompt et une image source, puis renvoie une image entièrement nouvelle. Ci-dessous figurent le code Python exécuté, les trois résultats en pleine taille et les contrôles qui révèlent un remplissage qu'il vaut mieux refaire.

Ce que fait une suppression par instruction

Vous envoyez une photo et une phrase. La phrase nomme l'objet, indique ce qui doit le remplacer et énumère ce qui doit rester. Le modèle redessine cette zone et renvoie une image complète, sans étape de composition séparée.

L'appel est la même tâche média que toute autre édition sur OmniaKey : modèle gpt-image-2, type image, opération edit, la photo source dans le champ input image en Base64 et la phrase dans input prompt. Dans parameters, size s'écrit WIDTHxHEIGHT et quality accepte low, medium, high ou auto ; n doit valoir 1. Les deux opérations figurent sur la page du modèle.

Le contrôle tient aux mots. « Le petit cerf-volant rouge dans le ciel » n'est pas la même tâche que « le truc rouge », et un remplissage comme « gazon et pavés » décide de ce qui occupera l'espace ensuite. L'ordre des phrases est traité dans le guide des prompts GPT Image 2, et le guide des alternatives à FLUX Kontext emploie le même type d'instruction avec GPT Image 2.

La requête

Un seul fichier Python fait tout : encoder la photo, créer la tâche, interroger son état jusqu'à la fin, puis télécharger le 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)

Nous avons vérifié la fonction le 28 octobre 2026 avec un autre prompt, un ciré jaune, sur un JPEG de 1024 pixels du modèle de base ; elle a renvoyé un PNG de 1024x1536.

  • L'appel de création renvoie HTTP 202 et un id de tâche (documentation images d'OmniaKey, consultée le 28 octobre 2026). Interrogez cette tâche jusqu'à ce que le statut quitte queued ou processing ; succeeded signifie que les fichiers sont prêts, et une tâche en échec porte un code et un message d'erreur et n'est pas facturée.
  • L'URL signée du résultat expire au bout d'une heure environ, tandis que le fichier lui-même est conservé 24 heures. Téléchargez tout de suite avec un GET simple qui n'envoie aucune clé d'API.
  • Le Base64 en ligne compte dans la limite de 1 MiB par requête : réduisez d'abord la photo d'un téléphone.
  • Envoyez un en-tête User-Agent : le 28 octobre 2026, une requête avec celui de Python par défaut a reçu HTTP 403, et cet en-tête a corrigé le problème.
  • La taille est explicite, donc une photo en paysage part en 1536x1024. GPT Image renvoie toujours un PNG opaque : lisez les dimensions réelles dans le fichier téléchargé.

Côté tarif, la page de prix d'OpenAI indique GPT Image 2 à $8.00 par million de jetons d'entrée d'image et $30.00 par million de jetons de sortie d'image, les tarifs par lots étant de moitié (consultée le 28 octobre 2026). La page n'a pas de tableau par image ; son guide de génération d'images propose un calculateur pour une image. Le tarif actuel d'OmniaKey se trouve sur la page des prix.

Trois suppressions sur une photo de parc

Les quatre images viennent de la même prise de vue : une allée ensoleillée dans un parc urbain, un banc en bois au centre, une poubelle métallique bleue à gauche, une femme qui promène un petit chien brun vers l'objectif et un petit cerf-volant rouge haut dans un ciel dégagé. La base et les résultats ont été produits en 1536x1024, quality medium, avec GPT Image 2 via OmniaKey le 28 octobre 2026 ; la scène et les personnes sont synthétiques. Nous avons envoyé une phrase par objet et exécuté chaque essai une fois.

Objet suppriméInstruction envoyéeCe qui est revenu
Femme et chien"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."Femme et chien disparus ; allée et gazon regarnis ; banc, poubelle, arbres, cerf-volant et ciel conservés
Poubelle bleue"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."Poubelle disparue ; son emplacement comblé de gazon et de pavés ; la femme et le chien sont restés
Cerf-volant rouge"Remove the small red kite from the sky. Keep the sky natural and everything else exactly the same. Photorealistic, no text, no logos."Cerf-volant disparu ; ciel naturel ; le reste de l'image inchangé
Quatre vignettes : l'allée du parc d'origine, puis la même image sans la femme et le chien, sans la poubelle et sans le cerf-volant
Original et trois suppressions séparées de la même photo. Chaque vignette ne change qu'une chose.

Généré avec GPT-Image 2 via l'API OmniaKey le 28 octobre 2026, taille 1536x1024, quality medium.

La deuxième vignette perd la femme et le chien tandis que l'allée et le gazon se referment derrière eux, et le banc, la poubelle, les arbres, le cerf-volant et la ligne d'horizon restent. La troisième retire la poubelle et reconstruit son emplacement avec du gazon et des pavés, la femme et le chien toujours dans le cadre. La quatrième efface le cerf-volant d'un ciel par ailleurs inchangé.

Ce qu'il faut vérifier après chaque suppression

Regardez chaque vignette en taille réelle avant de livrer une suppression.

  • Le bord du remplissage et le reste de l'image. Le gazon, les pavés ou la texture de l'allée rencontrent l'ancien quelque part, et le modèle redessine toute l'image : comparez cette jonction et une marge autour de l'objet avec la photo source ; une zone floue, répétée ou baveuse s'y voit en premier.
  • Tout ce qui touchait l'objet. Une laisse, une ombre ou un reflet doit être reconstruit avec lui.
  • La liste des éléments à conserver, un par un. La première suppression a gardé le banc, la poubelle, les arbres, le cerf-volant et le ciel ; la deuxième a gardé la femme et le chien. Nommez chaque élément, puis cherchez-le.

Une suppression est prête quand le remplissage tient en taille réelle et que chaque élément de la liste est toujours en place. Si un remplissage ressemble à une tache, relancez la même phrase en nommant la matière, par exemple « gazon et pavés ».

Ce que nous n'avons pas testé

Nous n'avons pas testé l'entrée de masque, les scènes bondées ni les objets très petits. Si votre photo contient une foule, une ligne de clôture ou une lanière fine comme une laisse, prévoyez un second essai et regardez ce bord en pleine taille.

Un modèle d'instruction

Supprimez complètement [l'objet, avec le détail qui le distingue]. Remplissez son emplacement avec [matière] pour qu'il corresponde au décor. Gardez [ce qui doit rester] exactement pareil. Photoréaliste, sans texte, sans logos.

  • L'objet, avec le détail qui le distingue. « Le petit cerf-volant rouge dans le ciel » vaut mieux que « le cerf-volant », et indique au modèle lequel est visé quand le cadre en contient plusieurs.
  • Le remplissage, en matières. « Gazon et pavés » donne au modèle de quoi s'aligner sur le décor ; « supprime-le » seul lui laisse le choix.
  • La liste de ce qui reste. Nommez ce qui doit survivre : le banc, la poubelle bleue, les arbres, le cerf-volant, le ciel.
  • La fin de style. « Photoréaliste, sans texte, sans logos » garde à une photo son aspect de photo.

Pour changer un vêtement sur une personne, la même forme fonctionne en nommant le vêtement comme l'objet qui change ; le guide de l'essayage virtuel détaille ce cas.

Questions fréquentes

Peut-on retirer une personne d'une photo avec une API ?

Oui, avec une vérification du résultat. Dans la première suppression, la femme et son chien ont quitté le cadre en une étape, et l'allée et le gazon ont été reconstruits derrière eux.

L'endpoint accepte-t-il un masque ?

La documentation d'OmniaKey décrit une image source et un prompt (consultée le 28 octobre 2026). Elle ne décrit pas de champ de masque, et aucun masque n'a été testé. Vous nommez l'objet et sa position avec des mots au lieu de peindre une zone.

Combien de temps les liens vers le résultat durent-ils ?

Le lien signé dure environ une heure (documentation OmniaKey, consultée le 28 octobre 2026), tandis que le fichier est conservé 24 heures. Téléchargez dès qu'une tâche réussit.

Quelle taille faut-il demander ?

Indiquez size sous la forme explicite WIDTHxHEIGHT, par exemple 1536x1024 pour une photo en paysage, et lisez les dimensions réelles dans le PNG téléchargé. GPT Image renvoie toujours un fichier opaque : prévoyez tout recadrage après le téléchargement.

Une instruction peut-elle retirer deux objets ?

Dans la première suppression, une phrase a supprimé ensemble une femme et son chien. Les autres paires n'ont pas été testées.

Commencez par la page du modèle GPT-Image 2 pour les paramètres, et consultez les tarifs actuels avant de planifier la prochaine suppression.

Modèles cités dans cet article

suppression d’objetsGPT Image 2édition d’imagesinpaintingAPI

Articles similaires

Articles récents