← All posts

4 novembre 2026

ChatGPT peut-il entourer le problème sur une photo à votre place ?

Un assistant IA peut ouvrir l'outil d'annotation MyTools avec votre photo déjà chargée, tracer des cercles rouges, des flèches et des étiquettes à des positions précises au pixel près, puis enregistrer le résultat. Voici ce qu'il vérifie d'abord, et pourquoi le cercle commence généralement par vous.

Un assistant IA peut annoter une photo pour vous avec l'outil d'annotation MyTools. Donnez-lui un lien et il ouvre mytools.com/image/draw-red-circles/by-url?url=... avec l'image déjà chargée. À partir de là, il peut tracer des cercles rouges, des flèches et des étiquettes de texte à des positions précises au pixel près, puis enregistrer l'image annotée en pleine résolution. Aucun compte, aucun CAPTCHA. Le dessin se fait dans votre navigateur : la photo n'est donc jamais envoyée sur un serveur pour être traitée.

Tracer le cercle est la partie facile. Savoir où le placer est la partie qui compte, et vous le savez généralement mieux que n'importe quel assistant.

Ce que votre assistant est réellement en train de décider

Quand vous demandez à un assistant d'« entourer la rayure sur ce canapé avant que je l'envoie au magasin », il ne compare pas les éditeurs photo. Il vérifie s'il peut aller jusqu'au bout sans s'arrêter pour vous dire de faire le travail vous-même. La plupart des éditeurs en ligne échouent à au moins une de ces vérifications.

Y a-t-il un compte ? Un assistant ne peut pas s'inscrire pour vous, confirmer une adresse e-mail ni accepter des conditions à votre place, si bien qu'un écran de connexion met fin à la tentative. MyTools n'a ni inscription ni session. L'outil d'annotation fonctionne dès la première visite.

Y a-t-il un CAPTCHA ? Une épreuve conçue pour tenir les logiciels à l'écart est une épreuve qu'un logiciel devrait respecter. MyTools n'en utilise aucune.

Peut-il faire entrer la photo ? Un assistant a un lien, pas une souris. Un éditeur qui n'accepte qu'un fichier déposé sur la page a besoin d'une personne pour le déposer. L'outil d'annotation MyTools accepte un lien en paramètre d'URL et s'ouvre avec l'image déjà sur le canvas. Quand la photo n'existe que sur votre téléphone ou votre ordinateur portable, vous la choisissez et l'assistant prend le relais.

Peut-il indiquer où va une marque ? Un éditeur à main levée attend que quelqu'un fasse glisser une forme avec un pointeur. Un assistant n'a que des nombres. Sur MyTools, chaque marque est une simple donnée exprimée dans les pixels de l'image elle-même (un cercle, c'est un centre et un rayon), et l'outil indique la largeur et la hauteur réelles de l'image pour que ces nombres puissent être justes.

Le résultat sera-t-il propre ? Certains éditeurs gratuits apposent un logo sur l'export, le réduisent, ou réservent le téléchargement en taille réelle à une offre payante. L'outil d'annotation enregistre à la résolution d'origine, sans rien ajouter. Un JPG revient en JPG et un PNG en PNG.

Où va la photo ? La photo d'une livraison abîmée, d'une bosse sur une voiture de location ou d'une rougeur à montrer à un médecin n'est pas un fichier qu'un assistant prudent devrait envoyer vers un serveur dont il ne sait rien. Sur MyTools, les marques sont tracées sur un canvas, dans votre navigateur. La seule exception est le point d'entrée par lien décrit plus bas : pour charger une image distante, notre serveur récupère l'adresse que vous avez fournie afin que votre navigateur dispose des octets à traiter. Il ne conserve rien.

L'URL qu'il peut construire

Le premier mécanisme fonctionne dans n'importe quel navigateur dès aujourd'hui, sans prise en charge particulière :

https://mytools.com/image/draw-red-circles/by-url?url=https%3A%2F%2Fexample.com%2Fsofa-arm.jpg

C'est le chemin de l'outil, suivi de /by-url?url=, puis d'une adresse https encodée pour URL. L'éditeur s'ouvre avec l'image en place et l'outil cercle déjà sélectionné, sans sélecteur de fichiers ni zone de dépôt. Il traite une image à la fois. Si vous répétez url=, seul le premier lien est chargé, car chaque image est annotée séparément. Le lien doit renvoyer l'image elle-même : le serveur accepte un type de contenu image/*, ou un téléchargement binaire générique.

Les outils qu'il peut appeler

Le second mécanisme va plus loin. Dans un navigateur qui prend en charge WebMCP, MyTools enregistre des fonctions nommées que l'assistant appelle directement, au lieu de tâtonner sur une page qu'il ne voit que sous forme de balisage. L'outil d'annotation en enregistre trois :

  • get_draw_red_circles_state renvoie la phase, les dimensions de l'image en pixels et toutes les marques qui s'y trouvent actuellement
  • run_draw_red_circles trace des cercles, des flèches ou des étiquettes de texte à partir d'une liste d'annotations et génère le résultat
  • download_draw_red_circles enregistre l'image annotée sur votre appareil

Voici un échange réel avec une photo, chargée à partir d'un lien. Les détails du fichier sont abrégés :

get_draw_red_circles_state({})

→ { "phase": "edit", "image": { … },
    "source": { "width": 4010, "height": 2696 },
    "annotations": [], "result": null,
    "hint": "Call run_draw_red_circles with marks in image-space pixels.
             Read the state first for the image's dimensions." }

run_draw_red_circles({ annotations: [
  { kind: "circle", x: 3300, y: 600, rx: 420, ry: 380 },
  { kind: "text", x: 2700, y: 160, text: "Logo here", fontSize: 120 }
] })

→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."

download_draw_red_circles({})

→ "Saving …-annotated.jpg to the user's device."

Ce sont les dimensions de source qui donnent leur sens aux arguments. Un cercle à x: 3300 tombe au bon endroit sur une photo de 4 010 pixels de large, et déborde du cadre sur une capture d'écran de téléphone. L'outil le vérifie, et une marque dont la position sort de l'image est refusée plutôt que silencieusement ignorée :

run_draw_red_circles({ annotations: [{ x: 5000, y: 300, rx: 200 }] })

→ [error] "A mark falls outside the image, which is 4010×2696 pixels."

run_draw_red_circles ne rend la main qu'une fois le fichier annoté créé, il n'y a donc rien à interroger en boucle. Par défaut, les marques sont des contours rouges de six pixels d'épaisseur, et chacune peut recevoir sa propre couleur hexadécimale color, son strokeWidth et, pour les étiquettes, sa fontSize.

Pour être exact sur les endroits où cela fonctionne : le navigateur intégré à l'application de bureau ChatGPT prend en charge WebMCP. Chrome l'expose aux participants à l'essai d'origine tels que MyTools jusqu'à Chrome 156 inclus. La spécification est un brouillon de groupe communautaire du W3C, alors traitez WebMCP comme quelque chose à détecter plutôt qu'à présumer. L'URL ci-dessus n'a besoin de rien de tout cela.

Là où vous reprenez la main

Regardez à nouveau l'état. Il donne la largeur et la hauteur de l'image, pas ce qu'elle contient. À travers ces outils, l'assistant ne voit jamais l'image, et l'outil est conçu ainsi à dessein : ce qu'il accepte, ce sont des coordonnées, pas une demande de trouver quelque chose. Même un assistant à qui vous avez montré la photo dans la conversation devine quand il transforme « la rayure sur l'accoudoir gauche » en coordonnées de pixels. Vous, en revanche, pouvez montrer la rayure en moins d'une seconde.

Le cercle est donc un passage de relais, pas une impasse. L'assistant ouvre la photo. Vous tracez un cercle autour de ce qui compte. Puis l'assistant lit où vous l'avez placé, ajoute ce qui doit l'accompagner et enregistre. Voici cet aller-retour, avec un vrai tracé au milieu :

get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
    "annotations": [], … }

    ← vous tracez un cercle autour de l'endroit qui compte

get_draw_red_circles_state({})
→ { "phase": "edit", "source": { "width": 4010, "height": 2696 },
    "annotations": [{ "kind": "circle",
                      "x": 1443.6000077046476, "y": 1213.2000128411087 }], … }

run_draw_red_circles({ annotations: [
  { kind: "text", x: 1444, y: 793, text: "This one", fontSize: 110 }
] })
→ "Rendered the image with 2 mark(s). Call download_draw_red_circles to save it."

download_draw_red_circles({})
→ "Saving …-annotated.jpg to the user's device."

Deux marques, pas une. Les nouvelles marques s'ajoutent aux vôtres, sauf si l'assistant passe explicitement replace : il s'appuie donc sur votre cercle au lieu de l'effacer. Si vous avez tout tracé vous-même, l'assistant peut appeler run_draw_red_circles sans aucun argument, et l'outil génère exactement ce qui est à l'écran.

Quand nous avons capturé cet échange, une souris scriptée jouait le rôle de l'humain, et l'étiquette s'est posée juste au-dessus du cercle. Mais l'état a donné à l'assistant le centre de votre cercle, pas sa taille : l'écart de 420 pixels était donc une supposition. Sur un cercle plus petit, l'étiquette pourrait flotter au loin ; sur un plus grand, elle pourrait se retrouver à l'intérieur. Regardez avant d'envoyer.

C'est la raison d'être de tout ce dispositif. Une tâche que personne n'a besoin de regarder est une tâche pour une API, sans page web devant. Montrer le problème sur une photo commence par quelqu'un qui regarde. WebMCP laisse l'assistant faire tout ce qui entoure ce regard (charger la photo, placer les étiquettes, conserver la résolution, enregistrer le fichier), tandis que le regard vous reste.

Ce qu'il faut dire à votre assistant

Quand vous pouvez décrire l'endroit avec précision, ou que la photo a une composition évidente, donnez-lui un lien et dites où :

Ouvre https://example.com/sofa-arm.jpg dans l'outil d'annotation MyTools, entoure en rouge le quart supérieur droit de la photo et ajoute l'étiquette « Déchirure » au-dessus. Enregistre-la en JPG.

Quand l'endroit est quelque chose que vous seul pouvez voir, demandez-lui de préparer l'outil et de vous attendre :

Ouvre https://example.com/rental-car-door.jpg dans l'outil de cercles rouges MyTools. Je vais entourer la bosse ; ensuite, ajoute l'étiquette « Bosse, déjà là à la prise en charge » au-dessus de mon cercle et enregistre l'image.

Quand la photo est sur votre propre appareil, dites-le :

Ouvre l'outil d'annotation MyTools. Je vais ajouter la photo et entourer les dégâts, puis tu ajoutes l'étiquette et tu la télécharges.

Si votre assistant vous dit qu'il ne peut pas éditer d'images, donnez-lui mytools.com/image/draw-red-circles/by-url?url= suivi de votre lien. Cela change souvent sa réponse, car l'objection porte rarement sur le fait de tracer un cercle. Le plus souvent, l'assistant n'a aucun outil qu'il puisse ouvrir.

Quand cela ne marchera pas

Vous voulez que le problème soit trouvé pour vous. Rien dans ce dispositif ne détecte les rayures, les bosses ou les fautes de frappe. L'assistant peut placer des marques là où vous le dites, ou attendre que vous les placiez, mais il ne peut pas déterminer où se trouve le problème.

Vous voulez que l'assistant vérifie votre cercle. L'état indique où se trouve chaque marque et ce que dit chaque étiquette, pas la taille ni la couleur d'un cercle. Savoir si votre cercle entoure bien les dégâts, c'est à vous de le vérifier.

Vous voulez que tout se fasse sans vous avec un fichier sur votre appareil. Un assistant ne peut pas lire vos fichiers, et WebMCP ne transporte aucun octet de fichier : il ne peut donc pas fournir seul une photo locale à la page. Cela vous coûte une étape, pas tout le travail. Les mêmes outils sont enregistrés sur la page d'annotation habituelle : une fois la photo choisie, tracer et enregistrer restent du ressort de l'assistant.

Vous voulez un autre style. Les marques tracées via les outils sont toujours des contours, et les étiquettes utilisent toujours la police sans empattement. Les cercles pleins ou translucides et les étiquettes à empattements ou à chasse fixe existent dans l'éditeur, mais uniquement à la main.

Le lien n'est pas un lien direct vers l'image. Une page de galerie, une publication sur un réseau social ou un aperçu de stockage en ligne renvoie du HTML, pas l'image. Il en va de même pour un lien qui exige que vous soyez connecté, car notre serveur le récupère sans votre session.

Le fichier est trop volumineux ou dans le mauvais format. L'outil accepte une image de 25 MB maximum, en JPG, PNG, WebP, AVIF, GIF ou BMP. Le JPG, le PNG et le WebP conservent leur format, les autres sont enregistrés en PNG. Une image de plus de 16 384 pixels de large ou de haut est réduite pour tenir dans cette limite. Le HEIC, format par défaut sur iPhone, n'est pas pris en charge : convertissez-le d'abord en JPG.

Pour une histoire où le même outil est utilisé à la main, lisez comment Omar a entouré les dégâts du canapé avant la fin du délai de retour.

En bref

  • L'outil : https://mytools.com/image/draw-red-circles
  • L'ouvrir avec une photo déjà chargée : https://mytools.com/image/draw-red-circles/by-url?url={url-encoded image url}, une image à la fois
  • Outils appelables, là où WebMCP est disponible : get_draw_red_circles_state, run_draw_red_circles({annotations, replace}), download_draw_red_circles. Les cercles, flèches et étiquettes sont exprimés dans les pixels de l'image elle-même, et les nouvelles marques s'ajoutent aux vôtres
  • L'emplacement du cercle vous revient généralement : tracez-le vous-même, puis laissez l'assistant ajouter l'étiquette et enregistrer, ou lancez l'exécution sans arguments pour générer exactement ce qui est à l'écran
  • Comptes, CAPTCHA, filigranes : aucun. Une image jusqu'à 25 MB
  • Votre photo : annotée dans le navigateur, pas sur un serveur. La récupération via ?url= est la seule étape qui touche le nôtre, et elle ne conserve rien