{"id":20175,"date":"2026-09-29T09:28:35","date_gmt":"2026-09-29T13:28:35","guid":{"rendered":"https:\/\/wp.glbgpt.com\/?p=20175"},"modified":"2026-09-29T09:28:36","modified_gmt":"2026-09-29T13:28:36","slug":"openai-image-edit-api","status":"publish","type":"post","link":"https:\/\/wp.glbgpt.com\/fr\/hub\/openai-image-edit-api","title":{"rendered":"API d'\u00e9dition d'images OpenAI : masques, param\u00e8tres, tarifs et workflows GlobalGPT"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>L'API d'\u00e9dition d'images OpenAI modifie une image existante \u00e0 partir d'une consigne.<\/strong> L'itin\u00e9raire natif est le suivant : <code>POST \/v1\/images\/edits<\/code>; elle accepte une image, une invite et des commandes d'\u00e9dition facultatives telles qu'un masque ou des images de r\u00e9f\u00e9rence. Utilisez l'API Image pour une requ\u00eate cibl\u00e9e, et l'API Responses lorsque le produit n\u00e9cessite un workflow d'images en plusieurs \u00e9tapes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une retouche fiable se r\u00e9sume \u00e0 un petit encha\u00eenement d'\u00e9tapes : verrouiller le fichier source, indiquer ce qui doit rester inchang\u00e9, pr\u00e9ciser ce qui peut \u00eatre modifi\u00e9, v\u00e9rifier les octets renvoy\u00e9s, puis enregistrer le fichier valid\u00e9. Si vous pr\u00e9f\u00e9rez passer d'un logiciel de retouche d'images \u00e0 d'autres outils multim\u00e9dias au sein d'un m\u00eame espace de travail, <a href=\"https:\/\/www.glbgpt.com\/image-generator\/gpt-image-2?inviter=hub_content_gpt_image_2&amp;login=1\">Cr\u00e9er et modifier des images avec GPT Image 2 en GlobalGPT<\/a>; son API publique utilise un contrat de t\u00e2che asynchrone diff\u00e9rent, que ce guide distingue du point de terminaison natif de OpenAI.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.glbgpt.com\/image?inviter=hub_features_image&amp;login=1\"><img alt=\"\" fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"621\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-1024x621.png\" class=\"wp-image-18222\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-1024x621.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-300x182.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-768x465.png 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-1536x931.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-2048x1241.png 2048w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/01\/new-image-gen-18x12.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-luminous-vivid-amber-background-color has-background wp-element-button\" href=\"https:\/\/www.glbgpt.com\/image?inviter=hub_features_image&amp;login=1\">Essayez plusieurs mod\u00e8les d'image de t\u00eate sur GlobalGPT<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"oie-quick\" style=\"box-sizing:border-box;background:#102b46;color:#fff;border-radius:8px;padding:24px;margin:26px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h2 style=\"color:#fff;margin-top:0;box-sizing:border-box;line-height:1.3;\">R\u00e9ponse rapide : choisissez l'approche avant de commencer \u00e0 coder<\/h2><div class=\"oie-scroll\" style=\"overflow-x:auto;box-sizing:border-box;\"><table style=\"color:#fff;border-collapse:collapse;width:100%;min-width:700px;box-sizing:border-box;\"><thead style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Besoin<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Itin\u00e9raire<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Demander la forme<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">R\u00e9sultat \u00e0 traiter<\/th><\/tr><\/thead><tbody style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Cr\u00e9ation ou modification d'une image<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">OpenAI Image API<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">POST \/v1\/images\/edits<\/code>, formulaire en plusieurs parties<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">data[0].b64_json<\/code>; le d\u00e9coder et le stocker<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Quelques op\u00e9rations avec le contexte d'image<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">API de r\u00e9ponses OpenAI<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">POST \/v1\/responses<\/code> avec un outil de g\u00e9n\u00e9ration d'images<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Extraire l'\u00e9l\u00e9ment de sortie relatif \u00e0 la g\u00e9n\u00e9ration d'images<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Plusieurs mod\u00e8les de m\u00e9dias derri\u00e8re un seul compte<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">API publique GlobalGPT<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">POST \/tasks<\/code>, puis interroger <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">GET \/tasks\/{id}<\/code><\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">output.url<\/code>; enregistrez-le avant la fin du d\u00e9lai de 30 jours<\/td><\/tr><\/tbody><\/table><\/div><p class=\"oie-note\" style=\"box-sizing:border-box;background:#f0f5f9;border-left:4px solid #5d7d99;padding:13px 16px;color:#27445f;margin:12px 0;\">Les noms des points de terminaison se ressemblent, mais le contenu des requ\u00eates et le traitement des r\u00e9sultats ne sont pas interchangeables.<\/p><\/div>\n\n\n\n<nav class=\"oie-toc\" style=\"box-sizing:border-box;background:#eef6ff;border:1px solid #c6dbee;border-top:4px solid #2a6ca8;border-radius:6px;padding:20px;margin:28px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><strong style=\"display:block;margin-bottom:8px;box-sizing:border-box;\">Sur cette page<\/strong><ol style=\"columns:18rem 2;margin:0;padding-left:22px;box-sizing:border-box;\"><li style=\"box-sizing:border-box;\"><a href=\"#what-is-image-edit-api\" style=\"color:#145ea8;box-sizing:border-box;\">Fonctionnalit\u00e9s de l'API Image Edit<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#native-first-edit\" style=\"color:#145ea8;box-sizing:border-box;\">Effectuer une premi\u00e8re modification native<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#masks-and-references\" style=\"color:#145ea8;box-sizing:border-box;\">Utilisez des masques et des images de r\u00e9f\u00e9rence<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#models-and-parameters\" style=\"color:#145ea8;box-sizing:border-box;\">Choisissez les mod\u00e8les et les param\u00e8tres<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#image-edit-pricing\" style=\"color:#145ea8;box-sizing:border-box;\">Comprendre la tarification<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#globalgpt-contract\" style=\"color:#145ea8;box-sizing:border-box;\">Utilisez l'itin\u00e9raire de t\u00e2che GlobalGPT<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#tested-workflow\" style=\"color:#145ea8;box-sizing:border-box;\">Consultez le test du mod\u00e8le GlobalGPT<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#image-edit-errors\" style=\"color:#145ea8;box-sizing:border-box;\">G\u00e9rer les erreurs et les r\u00e9ponses lentes<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#faq\" style=\"color:#145ea8;box-sizing:border-box;\">FAQ<\/a><\/li><\/ol><\/nav>\n\n\n\n<h2 id=\"what-is-image-edit-api\" class=\"wp-block-heading\">\u00c0 quoi sert l'API d'\u00e9dition d'images OpenAI ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le processus d'\u00e9dition commence \u00e0 partir d'une image existante. Votre instruction d\u00e9crit la modification, tandis que l'image d'entr\u00e9e fournit le contexte visuel qui doit \u00eatre conserv\u00e9 apr\u00e8s la modification. Vous pouvez remplacer un arri\u00e8re-plan, ajouter ou supprimer un \u00e9l\u00e9ment, proc\u00e9der \u00e0 une refonte plus globale, ou fournir plusieurs images comme r\u00e9f\u00e9rences. Le mod\u00e8le interpr\u00e8te toujours la requ\u00eate ; l'API n'est pas un \u00e9diteur de pixels garantissant les limites de la s\u00e9lection.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le document OpenAI d\u00e9crit deux proc\u00e9dures utiles. Le <strong>API d'images<\/strong> est la solution id\u00e9ale lorsqu'une requ\u00eate doit renvoyer une seule image. Le <strong>API de r\u00e9ponses<\/strong> est la solution la plus adapt\u00e9e lorsque l'utilisateur examine le r\u00e9sultat, demande une nouvelle modification et conserve le contexte de l'image d'un tour \u00e0 l'autre. Ce choix a une incidence \u00e0 la fois sur la structure de la requ\u00eate et sur le code qui extrait le r\u00e9sultat.<\/p>\n\n\n\n<div class=\"oie-table\" style=\"box-sizing:border-box;background:#f5f8fb;border:1px solid #d7e0e9;border-top:4px solid #4f759a;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin:0 0 12px;box-sizing:border-box;line-height:1.3;\">API \u00ab Image \u00bb et API \u00ab Responses \u00bb<\/h3><div class=\"oie-scroll\" style=\"overflow-x:auto;box-sizing:border-box;\"><table style=\"border-collapse:collapse;width:100%;min-width:700px;box-sizing:border-box;\"><thead style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Question<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">API d'images<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">API de r\u00e9ponses<\/th><\/tr><\/thead><tbody style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Meilleur pour<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Une seule action de cr\u00e9ation ou de modification<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Une exp\u00e9rience d'\u00e9dition en plusieurs \u00e9tapes<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Exemple d'entr\u00e9e<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Image en plusieurs parties, invite, masque facultatif<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Outil de saisie de conversation et de g\u00e9n\u00e9ration d'images<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Traitement des donn\u00e9es de sortie<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\"><code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">data[0].b64_json<\/code><\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Rechercher l'\u00e9l\u00e9ment de sortie correspondant \u00e0 la g\u00e9n\u00e9ration d'images<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">D\u00e9tail des co\u00fbts<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">L'\u00e9dition directe utilise les fr\u00e9quences d'entr\u00e9e\/sortie actuelles<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Les r\u00e8gles de saisie mises en cache peuvent varier ; veuillez v\u00e9rifier les tarifs en vigueur<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h2 id=\"native-first-edit\" class=\"wp-block-heading\">Effectuez une premi\u00e8re modification \u00e0 l'aide de l'API native OpenAI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Conservez la cl\u00e9 API sur votre serveur et chargez-la \u00e0 partir d'une variable d'environnement. L'exemple ci-dessous envoie une image et une invite \u00e0 l'endpoint \u00ab edits \u00bb d\u00e9crit dans la documentation. Le <code>image[]<\/code> Le champ peut \u00eatre r\u00e9p\u00e9t\u00e9 lorsque le mod\u00e8le s\u00e9lectionn\u00e9 prend en charge plusieurs entr\u00e9es. Le pipeline du shell d\u00e9code la premi\u00e8re image Base64 renvoy\u00e9e en un fichier PNG local.<\/p>\n\n\n\n<div class=\"oie-code\" style=\"box-sizing:border-box;background:#0e1c2c;color:#edf6ff;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h3 style=\"color:#fff;margin:0 0 4px;box-sizing:border-box;line-height:1.3;\">Modification native de Curl : enregistrer le r\u00e9sultat au format b64_json<\/h3><div class=\"oie-code-label\" style=\"color:#a8c9df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;\">bash<\/div><pre style=\"overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#08131f;padding:14px;border-radius:4px;color:#edf6ff;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">curl -s \\\n  -X POST \"https:\/\/api.openai.com\/v1\/images\/edits\" \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -F \"model=gpt-image-2.5-sunburst\" \\\n  -F \"image[]=@source.png\" \\\n  -F \"prompt=Remplace uniquement l'arri\u00e8re-plan par une sc\u00e8ne de studio dans des tons beige chaud ; conserve le produit et l'\u00e9tiquette tels quels.\" \\\n| jq -r '.data[0].b64_json' \\\n| base64 --decode &gt; edited.png<\/code><\/pre><\/div>\n\n\n\n<div class=\"oie-code\" style=\"box-sizing:border-box;background:#0e1c2c;color:#edf6ff;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h3 style=\"color:#fff;margin:0 0 4px;box-sizing:border-box;line-height:1.3;\">Modification du SDK Python : d\u00e9coder les octets renvoy\u00e9s<\/h3><div class=\"oie-code-label\" style=\"color:#a8c9df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;\">python<\/div><pre style=\"overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#08131f;padding:14px;border-radius:4px;color:#edf6ff;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">from openai import OpenAI\nimport base64\n\nclient = OpenAI()\nresult = client.images.edit(\n    model=\"gpt-image-2.5-sunburst\",\n    image=open(\"source.png\", \"rb\"),\n    prompt=\"Remplacer uniquement l'arri\u00e8re-plan par une sc\u00e8ne de studio beige chaud ; conserver le produit et l'\u00e9tiquette tels quels.\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nwith open(\"edited.png\", \"wb\") as output:\n    output.write(image_bytes)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Avant de consid\u00e9rer ce fichier comme pr\u00eat pour la production, v\u00e9rifiez-le : contr\u00f4lez son type MIME, ses dimensions, le nombre d'octets, et assurez-vous que les d\u00e9tails visuels importants sont toujours pr\u00e9sents. Une r\u00e9ponse 200 indique simplement que la requ\u00eate a \u00e9t\u00e9 accept\u00e9e ; elle ne garantit pas que l'\u00e9tiquette, le logo ou la g\u00e9om\u00e9trie du produit aient \u00e9t\u00e9 conserv\u00e9s.<\/p>\n\n\n\n<h2 id=\"masks-and-references\" class=\"wp-block-heading\">Utilisez les masques et les images de r\u00e9f\u00e9rence en toute s\u00e9curit\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un masque indique au mod\u00e8le la zone que vous souhaitez modifier, mais le masquage d\u2019images dans GPT reste bas\u00e9 sur les invites. Le guide de OpenAI pr\u00e9cise clairement que le mod\u00e8le utilise le masque \u00e0 titre indicatif et non comme une limite absolue au niveau des pixels. Veillez \u00e0 ce que l\u2019invite soit pr\u00e9cise concernant le sujet \u00e0 prot\u00e9ger et v\u00e9rifiez l\u2019ensemble de l\u2019image une fois la g\u00e9n\u00e9ration termin\u00e9e.<\/p>\n\n\n\n<div class=\"oie-checklist\" style=\"box-sizing:border-box;background:#fff8e9;border:1px solid #e8cf8f;border-left:5px solid #d39b19;border-radius:5px;padding:16px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin-top:0;box-sizing:border-box;line-height:1.3;\">V\u00e9rification pr\u00e9alable du masque<\/h3><ul style=\"box-sizing:border-box;\"><li style=\"box-sizing:border-box;\">L'image et le masque utilisent le m\u00eame format.<\/li><li style=\"box-sizing:border-box;\">L'image et le masque ont les m\u00eames dimensions.<\/li><li style=\"box-sizing:border-box;\">La taille du fichier de masque est inf\u00e9rieure \u00e0 50 Mo.<\/li><li style=\"box-sizing:border-box;\">Le masque contient un canal alpha.<\/li><li style=\"box-sizing:border-box;\">La consigne pr\u00e9cise ce qui doit rester inchang\u00e9 et ce qui doit \u00eatre remplac\u00e9.<\/li><\/ul><\/div>\n\n\n\n<div class=\"oie-code\" style=\"box-sizing:border-box;background:#0e1c2c;color:#edf6ff;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h3 style=\"color:#fff;margin:0 0 4px;box-sizing:border-box;line-height:1.3;\">V\u00e9rifiez un masque avant de le mettre en ligne<\/h3><div class=\"oie-code-label\" style=\"color:#a8c9df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;\">python<\/div><pre style=\"overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#08131f;padding:14px;border-radius:4px;color:#edf6ff;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">from PIL import Image\n\nsource = Image.open(\"source.png\")\nmask = Image.open(\"mask.png\")\n\nassert source.format == mask.format, (source.format, mask.format)\nassert source.size == mask.size, (source.size, mask.size)\nassert mask.width * mask.height &gt; 0\nassert mask.mode in {\"RGBA\", \"LA\"}, mask.mode\nassert mask.fp is None or True  # v\u00e9rifier s\u00e9par\u00e9ment la taille du fichier sur le disque\nprint(\"source:\", source.size, source.format)\nprint(\"masque :\", mask.size, mask.mode)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous transmettez plusieurs images avec un masque, le guide actuel pr\u00e9cise que le masque s'applique \u00e0 la premi\u00e8re image. Il s'agit l\u00e0 d'une contrainte utile pour concevoir un flux de travail de r\u00e9f\u00e9rence : faites en sorte que la premi\u00e8re image fournie soit celle dont vous souhaitez modifier la zone, et consid\u00e9rez les images restantes comme des r\u00e9f\u00e9rences, plut\u00f4t que de partir du principe que le masque s'applique \u00e0 l'ensemble de ces images.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Les images de r\u00e9f\u00e9rence r\u00e9pondent \u00e0 un autre type de probl\u00e8me. Elles peuvent servir de r\u00e9f\u00e9rence pour l'identit\u00e9 d'un produit, une gamme d'\u00e9clairage, une palette de couleurs ou une composition. Elles n'obligent pas le mod\u00e8le \u00e0 reproduire chaque contour. Si la forme exacte d'un emballage ou d'une \u00e9tiquette doit rester inchang\u00e9e, pr\u00e9voyez une \u00e9tape de v\u00e9rification visuelle ou une \u00e9tape de retouche classique apr\u00e8s la g\u00e9n\u00e9ration du mod\u00e8le.<\/p>\n\n\n\n<h2 id=\"models-and-parameters\" class=\"wp-block-heading\">Choisissez le mod\u00e8le et les param\u00e8tres<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La liste actuelle figurant dans le guide illustr\u00e9 OpenAI comprend <code>gpt-image-2.5-sunburst<\/code>, <code>gpt-image-2.5-flare<\/code>, et <code>gpt-image-2<\/code>. Consid\u00e9rez les noms de mod\u00e8les et les options prises en charge comme une documentation \u00e9volutive : consultez la page du mod\u00e8le juste avant de l'int\u00e9grer, et enregistrez une version dat\u00e9e si la reproductibilit\u00e9 est importante.<\/p>\n\n\n\n<div class=\"oie-table\" style=\"box-sizing:border-box;background:#f5f8fb;border:1px solid #d7e0e9;border-top:4px solid #4f759a;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin:0 0 12px;box-sizing:border-box;line-height:1.3;\">Choix de param\u00e8tres permettant d'\u00e9viter les d\u00e9faillances \u00e9vitables<\/h3><div class=\"oie-scroll\" style=\"overflow-x:auto;box-sizing:border-box;\"><table style=\"border-collapse:collapse;width:100%;min-width:700px;box-sizing:border-box;\"><thead style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">D\u00e9cision<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">R\u00e8gle pratique<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Pourquoi c'est important<\/th><\/tr><\/thead><tbody style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Fid\u00e9lit\u00e9 de l'entr\u00e9e<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Omettre <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">fid\u00e9lit\u00e9_d'entr\u00e9e<\/code> pour <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">gpt-image-2<\/code>; ses donn\u00e9es d'entr\u00e9e d'images sont trait\u00e9es avec une grande fid\u00e9lit\u00e9.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">L'envoi d'un champ non pris en charge peut transformer une modification valide en une requ\u00eate rejet\u00e9e.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Qualit\u00e9<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Documentation sur les itin\u00e9raires \u00ab 2.5 Sunburst \u00bb et \u00ab Flare \u00bb <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">faible<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">moyen<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">\u00e9lev\u00e9<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">xhigh<\/code>, et <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">max<\/code>.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Un r\u00e9glage plus \u00e9lev\u00e9 rel\u00e8ve d'un compromis entre co\u00fbt et latence, et ne garantit pas une meilleure conservation.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Format<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Demandez le format de sortie pris en charge par le point de terminaison actuel, puis examinez le fichier d\u00e9cod\u00e9.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Votre pipeline de stockage doit se fier aux octets et au type MIME, et pas uniquement \u00e0 l'option demand\u00e9e.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Contexte<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Indiquez l'arri\u00e8re-plan souhait\u00e9 dans la ligne de commande et utilisez l'option d'arri\u00e8re-plan d\u00e9crite dans la documentation lorsque celle-ci est prise en charge.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Le mod\u00e8le continue d'interpr\u00e9ter la sc\u00e8ne ; veillez \u00e0 ce que les contraintes relatives au sujet restent explicites.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">R\u00e9f\u00e9rences<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Utilisez une image de r\u00e9f\u00e9rence pour orienter l'identit\u00e9 visuelle, les couleurs ou l'\u00e9clairage, et d\u00e9finissez le r\u00f4le de chaque \u00e9l\u00e9ment.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">L'ambigu\u00eft\u00e9 des r\u00f4les attribu\u00e9s aux images complique le diagnostic d'une d\u00e9rive.<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h2 id=\"image-edit-pricing\" class=\"wp-block-heading\">Quel est le co\u00fbt de l'API d'\u00e9dition d'images OpenAI ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI facture l'utilisation de GPT Image par cat\u00e9gories de jetons plut\u00f4t que selon un tarif forfaitaire unique par modification. La page de tarification actuelle r\u00e9pertorie des tarifs distincts pour les entr\u00e9es d'images, les entr\u00e9es mises en cache et les sorties d'images. Les modifications effectu\u00e9es via l\u2019API Direct Image ne b\u00e9n\u00e9ficient pas du traitement des entr\u00e9es mises en cache d\u00e9crit pour l\u2019outil de g\u00e9n\u00e9ration d\u2019images dans l\u2019API Responses ; par cons\u00e9quent, ne copiez pas une estimation de l\u2019API Responses dans une requ\u00eate Direct <code>\/v1\/images\/modifications<\/code> budget.<\/p>\n\n\n\n<div class=\"oie-table\" style=\"box-sizing:border-box;background:#f5f8fb;border:1px solid #d7e0e9;border-top:4px solid #4f759a;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin:0 0 12px;box-sizing:border-box;line-height:1.3;\">Taux des jetons d'image publi\u00e9s, v\u00e9rifi\u00e9s le 28 septembre 2026<\/h3><div class=\"oie-scroll\" style=\"overflow-x:auto;box-sizing:border-box;\"><table style=\"border-collapse:collapse;width:100%;min-width:700px;box-sizing:border-box;\"><thead style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Mod\u00e8le<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Entr\u00e9e d'image \/ 1 million de tokens<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Image mise en cache \/ 1 million de jetons<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Sortie d'images \/ 1 million de jetons<\/th><\/tr><\/thead><tbody style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">GPT Image 2.5<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$8<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$2*<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$30<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Image GPT 2<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$4<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$1*<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">$15<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"oie-note\" style=\"max-width:880px;box-sizing:border-box;background:#f0f5f9;border-left:4px solid #5d7d99;padding:13px 16px;color:#27445f;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;margin:12px 0;\">*La colonne \u00ab cached-input \u00bb s'affiche pour le contexte tarifaire publi\u00e9. Le guide tarifaire pr\u00e9cise que le param\u00e8tre \u00ab cached-input \u00bb s'applique \u00e0 l'outil de g\u00e9n\u00e9ration d'images de l'API Responses, et non aux requ\u00eates directes adress\u00e9es \u00e0 l'API Images, telles que <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">\/v1\/images\/modifications<\/code>. Les tarifs peuvent varier ; effectuez le calcul en fonction de la consommation indiqu\u00e9e pour votre propre demande.<\/p>\n\n\n\n<div class=\"oie-code\" style=\"box-sizing:border-box;background:#0e1c2c;color:#edf6ff;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h3 style=\"color:#fff;margin:0 0 4px;box-sizing:border-box;line-height:1.3;\">\u00c9tablir une estimation transparente en fonction de la consommation<\/h3><div class=\"oie-code-label\" style=\"color:#a8c9df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;\">python<\/div><pre style=\"overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#08131f;padding:14px;border-radius:4px;color:#edf6ff;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">def estimate_image_cost(image_input_tokens, image_output_tokens,\n input_rate, output_rate) :\n    return (image_input_tokens \/ 1_000_000) * input_rate + \\\n (image_output_tokens \/ 1_000_000) * output_rate\n\n# Exemple uniquement : remplacez par les valeurs d'utilisation de votre r\u00e9ponse.\nestimate = estimate_image_cost(\n    image_input_tokens=250_000,\n    image_output_tokens=120_000,\n    input_rate=4.00,\n    output_rate=15.00,\n)\nprint(f\"${estimate:.4f}\")<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Cette formule est un exemple \u00e0 titre indicatif et ne constitue en aucun cas une garantie d'un montant fixe par image. Veuillez inclure dans votre budget les nouvelles tentatives, le stockage des fichiers, ainsi que toute utilisation distincte de textes ou d'outils. Lorsque le r\u00e9sultat est important, veillez \u00e0 regrouper la requ\u00eate, l'utilisation de la r\u00e9ponse, le hachage du fichier d\u00e9cod\u00e9 et la d\u00e9cision d'approbation.<\/p>\n\n\n\n<h2 id=\"globalgpt-contract\" class=\"wp-block-heading\">GlobalGPT utilise un contrat API de traitement d'images diff\u00e9rent<\/h2>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.glbgpt.com\/home\/api?inviter=hub_api&amp;login=1\"><img alt=\"\" decoding=\"async\" width=\"1024\" height=\"702\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-1024x702.png\" class=\"wp-image-20178\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-1024x702.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-300x206.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-767x526.png 767w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-17x12.png 17w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api-1536x1053.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/api.png 1938w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.glbgpt.com\/home\/api?inviter=hub_api&amp;login=1\">Obtenir une cl\u00e9 API d\u00e8s maintenant<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Le <a href=\"https:\/\/www.glbgpt.com\/home\/api\/docs\">Documentation de l'API GlobalGPT<\/a> d\u00e9crit la g\u00e9n\u00e9ration d'images, de vid\u00e9os et de fichiers audio comme des t\u00e2ches multim\u00e9dias asynchrones. Son URL de base publique est <code>https:\/\/api2.glbgpt.com\/ai-api\/open\/v1<\/code>. Envoyer le fichier JSON \u00e0 <code>\/t\u00e2ches<\/code>, sondage <code>\/t\u00e2ches\/{id}<\/code>, et lire <code>output.url<\/code> apr\u00e8s la r\u00e9ussite d'une t\u00e2che. Le catalogue de mod\u00e8les r\u00e9pertorie <code>gpt-image-2<\/code> et <code>gpt-image-2.5<\/code> sous forme de routes \u00ab image-edit\/reference \u00bb pouvant prendre jusqu\u2019\u00e0 quatre images en entr\u00e9e et <code>format d'image<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1440\" height=\"680\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7.webp\" alt=\"Documentation de l&#039;API \u00ab public media task \u00bb de GlobalGPT pr\u00e9sentant les champs \u00ab submit \u00bb, \u00ab estimate \u00bb, \u00ab polling \u00bb et \u00ab output URL \u00bb\" class=\"wp-image-20184\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7.webp 1440w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7-300x142.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7-1024x484.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7-768x363.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-media-tasks-20260928_a012b9ace6664ba99a8e9964f8d24fb7-18x9.webp 18w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Documentation de l'API publique S05 :<\/strong> Documentation publique relative au contrat de t\u00e2che asynchrone ; cet article le distingue du point de terminaison natif de OpenAI d\u00e9di\u00e9 aux modifications en plusieurs parties.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1500\" height=\"1080\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa.webp\" alt=\"Catalogue des mod\u00e8les d&#039;images publiques GlobalGPT pr\u00e9sentant les itin\u00e9raires GPT Image et les d\u00e9tails des t\u00e2ches prises en charge\" class=\"wp-image-20185\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa.webp 1500w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa-300x216.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa-1024x737.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa-768x553.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/globalgpt-openai-image-models-20260928_a9c8f99a4adc4697bb81c7204d4740aa-18x12.webp 18w\" sizes=\"(max-width: 1500px) 100vw, 1500px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Catalogue des mod\u00e8les publics S06 :<\/strong> Preuves issues du catalogue public de mod\u00e8les concernant les itin\u00e9raires GPT Image et leurs limites document\u00e9es en mati\u00e8re de t\u00e2ches li\u00e9es aux images ; v\u00e9rifiez les cr\u00e9dits et les champs dynamiques avant publication.<\/p>\n\n\n\n<div class=\"oie-code\" style=\"box-sizing:border-box;background:#0e1c2c;color:#edf6ff;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\"><h3 style=\"color:#fff;margin:0 0 4px;box-sizing:border-box;line-height:1.3;\">Forme de la t\u00e2che publique GlobalGPT<\/h3><div class=\"oie-code-label\" style=\"color:#a8c9df;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;\">bash<\/div><pre style=\"overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#08131f;padding:14px;border-radius:4px;color:#edf6ff;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">BASE=\"https:\/\/api2.glbgpt.com\/ai-api\/open\/v1\"\n\n# Facultatif : obtenir un devis sans cr\u00e9er de t\u00e2che ni r\u00e9server de cr\u00e9dits.\ncurl \"$BASE\/tasks\/estimate\" \\\n  -H \"Authorization: Bearer $GLOBALGPT_API_KEY\" \\\n  -H \"Content-Type: application\/json\" \\\n  -d '{\n    \"model\": \"gpt-image-2.5\",\n    \"prompt\": \"Conservez la bouteille et l'\u00e9tiquette telles quelles. Remplacer uniquement l'arri\u00e8re-plan par un \u00e9clairage de studio beige chaud.\",\n    \"images\": [\"https:\/\/YOUR_PUBLIC_IMAGE_URL\/product.png\"],\n    \"aspect_ratio\": \"3:2\"\n  }'\n\n# Ne soumettre qu\u2019apr\u00e8s avoir v\u00e9rifi\u00e9 le devis.\ncurl \"$BASE\/tasks\" \\\n  -H \"Authorization: Bearer $GLOBALGPT_API_KEY\" \\\n  -H \"Content-Type: application\/json\" \\\n  -H \"Idempotency-Key: image-edit-example-001\" \\\n  -d '{\n    \"model\": \"gpt-image-2.5\",\n    \"prompt\": \"Ne modifiez ni la bouteille ni l'\u00e9tiquette. Remplacez uniquement l\u2019arri\u00e8re-plan par un \u00e9clairage de studio beige chaud.\",\n    \"images\": [\"https:\/\/YOUR_PUBLIC_IMAGE_URL\/product.png\"],\n    \"aspect_ratio\": \"3:2\"\n  }'\n\n# Interroger l\u2019identifiant de la t\u00e2che renvoy\u00e9e jusqu\u2019\u00e0 ce que l\u2019op\u00e9ration aboutisse ou \u00e9choue.\ncurl \"$BASE\/tasks\/TASK_ID\" \\\n  -H \"Authorization: Bearer $GLOBALGPT_API_KEY\"<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ne collez pas le message en plusieurs parties de OpenAI <code>masque<\/code>, <code>fid\u00e9lit\u00e9_d'entr\u00e9e<\/code>, <code>taille<\/code>, ou <code>qualit\u00e9<\/code> champs dans ce JSON et partons du principe qu'ils fonctionnent. La documentation publique actuelle de GlobalGPT ne mentionne pas ces champs pour cette route d'image. Les champs non pris en charge peuvent \u00eatre ignor\u00e9s et renvoy\u00e9s dans <code>param\u00e8tres_ignor\u00e9s<\/code>, v\u00e9rifiez donc cette r\u00e9ponse avant de conclure qu\u2019un param\u00e8tre a pris effet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selon la documentation publique, GlobalGPT r\u00e9serve des cr\u00e9dits lorsqu'une t\u00e2che multim\u00e9dia est soumise, les lib\u00e8re en cas d'\u00e9chec de la t\u00e2che et conserve les fichiers multim\u00e9dias trait\u00e9s avec succ\u00e8s pendant 30 jours. Enregistrez le fichier renvoy\u00e9 sur un espace de stockage que vous contr\u00f4lez si l'URL doit rester accessible plus longtemps. Utilisez le point de terminaison d'estimation avant un traitement par lots, une cl\u00e9 d\u2019idempotence lors de la r\u00e9initialisation d\u2019une requ\u00eate r\u00e9seau, et l\u2019ID de t\u00e2che d\u2019origine lorsque l\u2019interrogation est simplement lente.<\/p>\n\n\n\n<h2 id=\"tested-workflow\" class=\"wp-block-heading\">Ce qu'a r\u00e9v\u00e9l\u00e9 le test du mod\u00e8le GlobalGPT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pour illustrer concr\u00e8tement cette distinction, j\u2019ai effectu\u00e9 un test API sur un mod\u00e8le GlobalGPT limit\u00e9 le 28 septembre 2026, \u00e0 l\u2019aide de deux invites d\u2019entr\u00e9e fictives sans r\u00e9f\u00e9rence \u00e0 une marque et de deux invites de modification. Chaque t\u00e2che utilisait GPT Image 2, une requ\u00eate au format 3:2 et la premi\u00e8re sortie valide. Les images ci-dessous constituent des preuves issues du test du mod\u00e8le ; il ne s'agit ni d'une session dans l'espace de travail d'un navigateur, ni d'un benchmark, ni d'une garantie que chaque modification pr\u00e9servera tous les contours.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1024\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U.png\" alt=\"Une bouteille en c\u00e9ramique ivoire mat sur un fond blanc \u00e9pur\u00e9, avec les inscriptions \u00ab NORTH \u00bb et \u00ab 250 ml \u00bb sur l&#039;\u00e9tiquette\" class=\"wp-image-20186\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U-300x200.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U-1024x683.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U-768x512.png 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_kT3VC8CRTLh9RPtLdYFwesrXsotpdQ7U-18x12.png 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Entr\u00e9e P00 :<\/strong> L'image source fig\u00e9e : une bouteille fictive sans marque, dot\u00e9e d'un bouchon blanc court et d'une \u00e9tiquette courte.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1024\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38.png\" alt=\"Une nature morte d&#039;int\u00e9rieur aux tons beiges chaleureux, avec un r\u00e9cipient en c\u00e9ramique et une douce lumi\u00e8re venant de la fen\u00eatre\" class=\"wp-image-20187\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38-300x200.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38-1024x683.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38-768x512.png 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/09\/task_t7czrp2KJTtuEdj4NuegsGdxfCK1SE38-18x12.png 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>R\u00e9f\u00e9rence P01 :<\/strong> L'image de r\u00e9f\u00e9rence fig\u00e9e : utilis\u00e9e uniquement \u00e0 des fins d'\u00e9clairage et de couleur, et non comme deuxi\u00e8me identit\u00e9 du produit.<\/p>\n\n\n\n<section class=\"oie-result\" style=\"box-sizing:border-box;background:#f4f8f5;border:1px solid #bfd8c7;border-top:4px solid #39825b;border-radius:6px;padding:20px;margin:26px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin-top:0;color:#1f5b3b;box-sizing:border-box;line-height:1.3;\">T01 : retouche d'arri\u00e8re-plan sur une seule image<\/h3><p class=\"oie-result-meta\" style=\"color:#355b47;font-size:14px;box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Mod\u00e8le :<\/strong> Image GPT 2 \u00b7 <strong style=\"box-sizing:border-box;\">Date :<\/strong> 28 septembre 2026 \u00b7 <strong style=\"box-sizing:border-box;\">Sortie :<\/strong> premier fichier PNG valide au format 1536\u00d71024<\/p><details style=\"margin:14px 0;box-sizing:border-box;\"><summary style=\"cursor:pointer;font-weight:650;color:#1d6543;box-sizing:border-box;\">Afficher l'invite compl\u00e8te<\/summary><pre style=\"background:#fff;border:1px solid #d5e4d9;padding:13px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">Conservez sans modification la bouteille en c\u00e9ramique, le bouchon blanc court, le texte fictif de l'\u00e9tiquette \" NORTH \" et \" 250 ml \", les couleurs, l'angle de prise de vue et les proportions de l'image d'origine. Remplacez uniquement le fond blanc pur par un d\u00e9cor de studio int\u00e9rieur beige chaud, inspir\u00e9 par la lumi\u00e8re douce d'une fen\u00eatre et des ombres d\u00e9licates. N\u2019ajoutez aucun nouvel objet, logo, mot, filigrane, personne ou \u00e9tiquette. Conservez la bouteille comme seul sujet dans une composition au format paysage 3:2.<\/code><\/pre><\/details><figure style=\"margin:28px 0;box-sizing:border-box;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/static.futureshareai.com\/anywhere-test\/task_4kxJZYwlOYxqv3xbyIoa3c4r6CAPPHyn.png\" alt=\"La bouteille en c\u00e9ramique NORTH mise en sc\u00e8ne dans un d\u00e9cor de studio aux tons beiges chaleureux\" width=\"1536\" height=\"1024\" style=\"max-width:100%;height:auto;display:block;width:100%;border-radius:6px;box-sizing:border-box;\"><figcaption style=\"font-size:14px;color:#506174;margin-top:8px;box-sizing:border-box;\">La bouteille reste reconnaissable, l'\u00e9tiquette \u00ab NORTH \/ 250 ml \u00bb est visible, et le fond blanc laisse place \u00e0 une sc\u00e8ne d'int\u00e9rieur aux tons beige chauds, avec de douces ombres rappelant celles d'une fen\u00eatre.<\/figcaption><\/figure><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Ce que cela montre :<\/strong> La bouteille reste reconnaissable, l'\u00e9tiquette \u00ab NORTH \/ 250 ml \u00bb est visible, et le fond blanc laisse place \u00e0 une sc\u00e8ne d'int\u00e9rieur aux tons beige chauds, avec de douces ombres rappelant celles d'une fen\u00eatre.<\/p><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Limite :<\/strong> Il s'agit d'un premier r\u00e9sultat valide. Cela ne prouve pas la conservation exacte des pixels ni la fid\u00e9lit\u00e9 g\u00e9n\u00e9rale des \u00e9tiquettes.<\/p><\/section>\n\n\n\n<section class=\"oie-result\" style=\"box-sizing:border-box;background:#f4f8f5;border:1px solid #bfd8c7;border-top:4px solid #39825b;border-radius:6px;padding:20px;margin:26px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin-top:0;color:#1f5b3b;box-sizing:border-box;line-height:1.3;\">T02 : r\u00e9f\u00e9rence d'\u00e9clairage et de couleur \u00e0 partir de deux images<\/h3><p class=\"oie-result-meta\" style=\"color:#355b47;font-size:14px;box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Mod\u00e8le :<\/strong> Image GPT 2 \u00b7 <strong style=\"box-sizing:border-box;\">Date :<\/strong> 28 septembre 2026 \u00b7 <strong style=\"box-sizing:border-box;\">Sortie :<\/strong> premier fichier PNG valide au format 1536\u00d71024<\/p><details style=\"margin:14px 0;box-sizing:border-box;\"><summary style=\"cursor:pointer;font-weight:650;color:#1d6543;box-sizing:border-box;\">Afficher l'invite compl\u00e8te<\/summary><pre style=\"background:#fff;border:1px solid #d5e4d9;padding:13px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px\/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;box-sizing:border-box;max-width:100%;\"><code style=\"background:none;padding:0;border-radius:4px;font-size:.92em;box-sizing:border-box;color:inherit;\">Utilisez l\u2019image d\u2019entr\u00e9e 1 comme r\u00e9f\u00e9rence exacte du produit et l\u2019image d\u2019entr\u00e9e 2 uniquement comme r\u00e9f\u00e9rence pour l\u2019\u00e9clairage beige chaud, la temp\u00e9rature de couleur et les ombres douces en int\u00e9rieur. Conservez inchang\u00e9s la forme de la bouteille en c\u00e9ramique, le bouchon blanc court, le texte fictif de l\u2019\u00e9tiquette \" NORTH \" et \" 250 ml \", les couleurs, l\u2019angle de prise de vue et les proportions de l\u2019image d\u2019entr\u00e9e 1. Remplacez le fond blanc par une sc\u00e8ne de studio d'int\u00e9rieur aux tons beige chaud et apaisants. Ne copiez aucun objet, texte, logo, filigrane, personne ou \u00e9tiquette suppl\u00e9mentaire provenant de l'image d'entr\u00e9e 2. Conservez la bouteille comme seul sujet dans une composition au format paysage 3:2.<\/code><\/pre><\/details><figure style=\"margin:28px 0;box-sizing:border-box;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/static.futureshareai.com\/anywhere-test\/task_wiHpx53i7vJr5ueEtGzqzYzs4TC5bkOs.png\" alt=\"La bouteille en c\u00e9ramique NORTH dans une pi\u00e8ce aux tons beiges chaleureux, baign\u00e9e d&#039;une douce lumi\u00e8re venant de la fen\u00eatre\" width=\"1536\" height=\"1024\" style=\"max-width:100%;height:auto;display:block;width:100%;border-radius:6px;box-sizing:border-box;\"><figcaption style=\"font-size:14px;color:#506174;margin-top:8px;box-sizing:border-box;\">Le produit et l'\u00e9tiquette NORTH \/ 250 ml restent reconnaissables, tandis que le d\u00e9cor reprend l'ambiance chaleureuse du P01, avec ses tons beige, sa table et la lumi\u00e8re qui filtre par la fen\u00eatre.<\/figcaption><\/figure><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Ce que cela montre :<\/strong> Le produit et l'\u00e9tiquette NORTH \/ 250 ml restent reconnaissables, tandis que le d\u00e9cor reprend l'ambiance chaleureuse du P01, avec ses tons beige, sa table et la lumi\u00e8re qui filtre par la fen\u00eatre.<\/p><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Limite :<\/strong> La proportion du bouchon, le contour de la bouteille et son emplacement ont visiblement chang\u00e9. Ne consid\u00e9rez pas cela comme une pr\u00e9servation parfaite ou exacte de l\u2019identit\u00e9 ; proc\u00e9dez \u00e0 une comparaison manuelle lorsque les dimensions des produits doivent correspondre.<\/p><\/section>\n\n\n\n<p class=\"oie-note\" style=\"max-width:880px;box-sizing:border-box;background:#f0f5f9;border-left:4px solid #5d7d99;padding:13px 16px;color:#27445f;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Comment utiliser ces donn\u00e9es :<\/strong> Le r\u00e9sultat utile est un processus de validation reproductible. Figez l'URL d'entr\u00e9e, nommez le sujet prot\u00e9g\u00e9, d\u00e9crivez le r\u00f4le de r\u00e9f\u00e9rence, inspectez les octets renvoy\u00e9s et comparez le produit approuv\u00e9 \u00e0 la source avant publication. Le transfert de style peut aboutir m\u00eame si la g\u00e9om\u00e9trie continue de varier.<\/p>\n\n\n\n<h2 id=\"image-edit-errors\" class=\"wp-block-heading\">G\u00e9rer les erreurs et les r\u00e9ponses lentes<\/h2>\n\n\n\n<div class=\"oie-table\" style=\"box-sizing:border-box;background:#f5f8fb;border:1px solid #d7e0e9;border-top:4px solid #4f759a;border-radius:6px;padding:18px;margin:24px 0;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;color:#17323f;\"><h3 style=\"margin:0 0 12px;box-sizing:border-box;line-height:1.3;\">Sympt\u00f4me \u2192 v\u00e9rification \u2192 action<\/h3><div class=\"oie-scroll\" style=\"overflow-x:auto;box-sizing:border-box;\"><table style=\"border-collapse:collapse;width:100%;min-width:700px;box-sizing:border-box;\"><thead style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Sympt\u00f4me<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">V\u00e9rifiez d'abord<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Une prochaine \u00e9tape en toute s\u00e9curit\u00e9<\/th><\/tr><\/thead><tbody style=\"box-sizing:border-box;\"><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">401 \/ erreur d'authentification<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Cl\u00e9 c\u00f4t\u00e9 serveur, autorisations de compte, h\u00f4te du point de terminaison<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Arr\u00eatez-vous et corrigez l'authentification ; ne notez pas la qualit\u00e9 de l'image.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">400 \/ 422 : requ\u00eate incorrecte<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">ID du mod\u00e8le, noms des champs compos\u00e9s, type de fichier, options non prises en charge<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Modifiez uniquement le champ indiqu\u00e9 dans le message d'erreur, puis conservez la requ\u00eate d'origine qui a \u00e9chou\u00e9.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">429 \/ 5xx \/ capacit\u00e9<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Si un identifiant de t\u00e2che a \u00e9t\u00e9 cr\u00e9\u00e9<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Si aucun identifiant de t\u00e2che n'existe, r\u00e9essayez une fois conform\u00e9ment \u00e0 votre politique ; si une t\u00e2che existe, interrogez cet identifiant.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">La t\u00e2che reste en file d'attente ou en cours de traitement<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Statut, heure du dernier sondage, estimation du fournisseur<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Effectuer une interrogation \u00e0 un intervalle d\u00e9fini ; ne pas cr\u00e9er de doublon tant que le statut est inconnu.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Le r\u00e9sultat est un objet JSON enregistr\u00e9 sous forme d'image<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Type de contenu, premiers octets, format d\u00e9cod\u00e9<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Analyser la r\u00e9ponse, la d\u00e9coder <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">b64_json<\/code> ou t\u00e9l\u00e9charger <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">output.url<\/code>, puis valider.<\/td><\/tr><tr style=\"box-sizing:border-box;\"><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Le param\u00e8tre semble n'avoir aucun effet<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">GlobalGPT <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">param\u00e8tres_ignor\u00e9s<\/code> et la fiche technique du mod\u00e8le<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Supprimez les champs non pris en charge et utilisez le contrat sp\u00e9cifique au mod\u00e8le.<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Il convient de distinguer les \u00e9l\u00e9ments li\u00e9s au transport de ceux li\u00e9s \u00e0 la qualit\u00e9. Un d\u00e9lai d'attente, une erreur DNS ou une r\u00e9ponse li\u00e9e \u00e0 la capacit\u00e9 du fournisseur signifient que vous ne disposez pas d'une image valide \u00e0 \u00e9valuer. \u00c0 l'inverse, une image valide dont la casquette ou l'\u00e9tiquette a \u00e9t\u00e9 modifi\u00e9e constitue un r\u00e9sultat visuel qui doit \u00eatre signal\u00e9 tel quel, m\u00eame si la composition semble attrayante.<\/p>\n\n\n\n<h2 id=\"workflow-checklist\" class=\"wp-block-heading\">Liste de contr\u00f4le pour la retouche d'images en environnement de production<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Figer la source :<\/strong> enregistrer le fichier d'entr\u00e9e, ses dimensions, son format et son hachage.<\/li>\n\n\n\n<li><strong>Attribuer des r\u00f4les aux images :<\/strong> identifier l'image en question ainsi que les \u00e9ventuelles r\u00e9f\u00e9rences en mati\u00e8re d'\u00e9clairage, de palette de couleurs ou de composition.<\/li>\n\n\n\n<li><strong>Cues prot\u00e9g\u00e9s en \u00e9criture :<\/strong> \u00e9num\u00e9rez l'\u00e9tiquette, la silhouette, les couleurs et les proportions qui doivent \u00eatre revues.<\/li>\n\n\n\n<li><strong>Choisissez le contrat :<\/strong> Utilisez le format multipart OpenAI pour le point de terminaison \u00ab native edits \u00bb ou les t\u00e2ches JSON GlobalGPT pour son API multim\u00e9dia publique.<\/li>\n\n\n\n<li><strong>\u00c9tablir un devis et l'envoyer :<\/strong> utiliser les taux actuels OpenAI ou GlobalGPT <code>\/t\u00e2ches\/estimation<\/code>; ajouter une cl\u00e9 d'idempotence pour garantir la s\u00e9curit\u00e9 des soumissions en cas de nouvelle tentative.<\/li>\n\n\n\n<li><strong>Interroger et d\u00e9coder :<\/strong> conserver un identifiant de t\u00e2che, valider le fichier renvoy\u00e9, puis enregistrer les octets ou l'URL dans un espace de stockage approuv\u00e9.<\/li>\n\n\n\n<li><strong>Valider visuellement :<\/strong> comparer le r\u00e9sultat avec le document source avant qu'il ne soit int\u00e9gr\u00e9 \u00e0 un catalogue de produits, \u00e0 une publicit\u00e9 ou \u00e0 une page destin\u00e9e aux clients.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous souhaitez ex\u00e9cuter le m\u00eame processus sans avoir \u00e0 assembler plusieurs tableaux de bord de mod\u00e8les distincts, essayez <a href=\"https:\/\/www.glbgpt.com\/image-generator\/gpt-image-2?inviter=hub_content_gpt_image_2&amp;login=1\">Image GPT 2 dans GlobalGPT<\/a>. Pour la version du flux de travail destin\u00e9e aux navigateurs, voir <a href=\"https:\/\/www.glbgpt.com\/hub\/globalgpt-image-edit\/\">modifier des images dans l'espace de travail GlobalGPT<\/a>; pour une analyse plus approfondie de la configuration et des tarifs, voir <a href=\"https:\/\/www.glbgpt.com\/hub\/gpt-image-2-5-api-guide\/\">Configuration et tarifs de l'API GPT Image<\/a>.<\/p>\n\n\n\n<h2 id=\"faq\" class=\"wp-block-heading\">Foire aux questions<\/h2>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">Qu'est-ce que l'API d'\u00e9dition d'images OpenAI ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Il s'agit de la route de modification d'images POST \/v1\/images\/edits. Vous envoyez une image d'entr\u00e9e et une instruction, accompagn\u00e9es \u00e9ventuellement d'un masque ou d'images de r\u00e9f\u00e9rence, puis vous d\u00e9codez les donn\u00e9es d'image renvoy\u00e9es. Utilisez l'API Image pour une modification unique et l'API Responses lorsque le produit n\u00e9cessite une conversation en plusieurs \u00e9tapes autour d'une image.<\/p>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">L'API d'\u00e9dition d'images OpenAI renvoie-t-elle une URL publique vers l'image ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Les exemples document\u00e9s de l'API Image renvoient des donn\u00e9es au format b64_json. D\u00e9codez ces octets, validez le fichier, puis enregistrez-le dans un espace de stockage que vous contr\u00f4lez. Ne partez pas du principe qu'une r\u00e9ponse positive correspond \u00e0 une URL h\u00e9berg\u00e9e sur un CDN.<\/p>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">Le masque d'image OpenAI correspond-il \u00e0 une s\u00e9lection pixel par pixel ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Non. Un masque guide une modification bas\u00e9e sur des instructions. Le mod\u00e8le peut modifier les pixels situ\u00e9s autour de la zone demand\u00e9e ; veillez donc \u00e0 v\u00e9rifier les \u00e9tiquettes, les d\u00e9tails du produit, les marquages de s\u00e9curit\u00e9 et tout autre \u00e9l\u00e9ment qui doit rester correct.<\/p>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">Combien d'images d'entr\u00e9e un outil de retouche d'images peut-il traiter ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Le guide d'images actuel prend en charge plusieurs images d'entr\u00e9e pour les flux de travail de r\u00e9f\u00e9rence. Pour conna\u00eetre la limite exacte et le comportement sp\u00e9cifique au mod\u00e8le, consultez la documentation du mod\u00e8le concern\u00e9 ; le nombre maximal pris en charge ne garantit pas une conservation parfaite dans toutes les compositions.<\/p>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">Puis-je envoyer la requ\u00eate OpenAI \/v1\/images\/edits \u00e0 GlobalGPT en modifiant la valeur de \u00ab base_url \u00bb ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Le contrat multim\u00e9dia public du n\u00b0 GlobalGPT utilise la m\u00e9thode JSON POST \/tasks, puis GET \/tasks\/{id}, avec des images et un rapport d'aspect (aspect_ratio) lorsque le mod\u00e8le s\u00e9lectionn\u00e9 les accepte. La documentation publique ne mentionne pas le masque multipart, ni les param\u00e8tres input_fidelity, size ou quality du mod\u00e8le OpenAI pour cette route.<\/p>\n\n\n\n<h3 style=\"font-size:21px;line-height:1.35;margin:28px 0 8px;color:#15395c;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;max-width:100%;min-width:0;\">Comment dois-je \u00e9valuer une t\u00e2che d'image avant de la soumettre ?<\/h3><p style=\"max-width:880px;box-sizing:border-box;font:16px\/1.65 system-ui,-apple-system,sans-serif;min-width:0;color:#17323f;margin:12px 0;\">Pour GlobalGPT, envoyez d'abord le m\u00eame corps JSON \u00e0 \/tasks\/estimate. Cela ne cr\u00e9e pas de t\u00e2che et ne r\u00e9serve pas de cr\u00e9dits. Pour OpenAI, effectuez le calcul en utilisant les tarifs actuels par million de jetons, puis v\u00e9rifiez l'utilisation r\u00e9elle dans la r\u00e9ponse ou dans l'historique de facturation.<\/p>\n\n\n<p><script type=\"application\/ld+json\">{<br \/>\n  \"@context\": \"https:\/\/schema.org\",<br \/>\n  \"@type\": \"FAQPage\",<br \/>\n  \"mainEntity\": [<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"What is the OpenAI Image Edit API?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"It is the image-editing route at POST \/v1\/images\/edits. You send an input image and a prompt, optionally with a mask or reference images, then decode the returned image data. Use the Image API for a single edit and the Responses API when the product needs a multi-turn image conversation.\"<br \/>\n      }<br \/>\n    },<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"Does the OpenAI Image Edit API return a public image URL?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"The documented Image API examples return b64_json. Decode those bytes, validate the file, and save it in storage you control. Do not assume that a successful response is a hosted CDN URL.\"<br \/>\n      }<br \/>\n    },<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"Is an OpenAI image mask exact pixel selection?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"No. A mask guides a prompt-based edit. The model can change pixels around the requested area, so inspect labels, product details, safety marks, and other elements that must remain correct.\"<br \/>\n      }<br \/>\n    },<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"How many input images can an image edit use?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"The current image guide supports multiple input images for reference workflows. For the exact limit and model-specific behavior, check the current model documentation; a supported maximum does not guarantee perfect preservation in every composition.\"<br \/>\n      }<br \/>\n    },<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"Can I send the OpenAI \/v1\/images\/edits request to GlobalGPT by changing base_url?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"No. GlobalGPT's public media contract uses JSON POST \/tasks, then GET \/tasks\/{id}, with images and aspect_ratio where the selected model accepts them. The public docs do not list OpenAI's multipart mask, input_fidelity, size, or quality contract for that route.\"<br \/>\n      }<br \/>\n    },<br \/>\n    {<br \/>\n      \"@type\": \"Question\",<br \/>\n      \"name\": \"How should I estimate an image task before submitting it?\",<br \/>\n      \"acceptedAnswer\": {<br \/>\n        \"@type\": \"Answer\",<br \/>\n        \"text\": \"For GlobalGPT, send the same JSON body to \/tasks\/estimate first. It does not create a task or reserve credits. For OpenAI, calculate with the current per-million-token rates and then verify actual usage in the response or billing record.\"<br \/>\n      }<br \/>\n    }<br \/>\n  ]<br \/>\n}<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>L'API d'\u00e9dition d'images OpenAI permet de modifier une image existante \u00e0 partir d'une invite. La m\u00e9thode native est POST \/v1\/images\/edits ; elle accepte une image, une instruction et des contr\u00f4les d'\u00e9dition facultatifs tels qu'un masque ou des images de r\u00e9f\u00e9rence. Utilisez l'API Image pour une requ\u00eate cibl\u00e9e, et utilisez l'API Responses lorsque le produit n\u00e9cessite un traitement d'image en plusieurs \u00e9tapes [\u2026]<\/p>","protected":false},"author":7,"featured_media":20176,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"OpenAI Image Edit API: Masks, Pricing & Examples","_seopress_titles_desc":"Learn how the OpenAI Image Edit API handles masks, reference images, parameters, pricing, and a separate GlobalGPT async image workflow.","_seopress_robots_index":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-20175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-image"],"acf":[],"_links":{"self":[{"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/posts\/20175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/comments?post=20175"}],"version-history":[{"count":3,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/posts\/20175\/revisions"}],"predecessor-version":[{"id":20188,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/posts\/20175\/revisions\/20188"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/media\/20176"}],"wp:attachment":[{"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/media?parent=20175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/categories?post=20175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/fr\/wp-json\/wp\/v2\/tags?post=20175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}