{"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\/es\/hub\/openai-image-edit-api","title":{"rendered":"API de edici\u00f3n de im\u00e1genes OpenAI: m\u00e1scaras, par\u00e1metros, precios y flujos de trabajo GlobalGPT"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>La API de edici\u00f3n de im\u00e1genes OpenAI modifica una imagen existente a partir de una indicaci\u00f3n.<\/strong> La ruta nativa es <code>POST \/v1\/images\/edits<\/code>; admite una imagen, una indicaci\u00f3n y controles de edici\u00f3n opcionales, como una m\u00e1scara o im\u00e1genes de referencia. Utiliza la API de Im\u00e1genes para una solicitud espec\u00edfica y la API de Respuestas cuando el producto requiera un flujo de trabajo de im\u00e1genes de varios pasos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una edici\u00f3n fiable es un peque\u00f1o proceso: congelar el archivo de origen, indicar qu\u00e9 debe mantenerse, indicar qu\u00e9 puede cambiar, revisar los bytes devueltos y guardar el recurso aprobado. Si prefieres alternar entre modelos de imagen y otras herramientas multimedia en un mismo espacio de trabajo, <a href=\"https:\/\/www.glbgpt.com\/image-generator\/gpt-image-2?inviter=hub_content_gpt_image_2&amp;login=1\">Crear y editar im\u00e1genes con GPT Image 2 en GlobalGPT<\/a>; su API p\u00fablica utiliza un contrato de tareas as\u00edncronas diferente, que esta gu\u00eda distingue del punto final nativo 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\">Prueba varios modelos de imagen superior en 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;\">Respuesta r\u00e1pida: elige la estrategia antes de escribir el c\u00f3digo<\/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;\">Necesita<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Ruta<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Solicitar forma<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Resultado que hay que gestionar<\/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;\">Una generaci\u00f3n o edici\u00f3n de imagen<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">API de imagen de 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\/images\/edits<\/code>, formulario de varias hojas<\/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>; descodificarlo y guardarlo<\/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;\">Varias vueltas con contexto de imagen<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">API de respuestas 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> con una herramienta de generaci\u00f3n de im\u00e1genes<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">Extraer el elemento de salida correspondiente a la generaci\u00f3n de im\u00e1genes<\/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;\">Varios modelos de medios detr\u00e1s de una misma cuenta<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;border-color:#49637d;box-sizing:border-box;\">API p\u00fablica 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>, y luego realizar una consulta <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>; gu\u00e1rdalo antes de que finalice el plazo de 30 d\u00edas<\/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;\">Los nombres de los puntos finales parecen similares, pero los cuerpos de las solicitudes y el tratamiento de los resultados no son intercambiables.<\/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;\">En esta p\u00e1gina<\/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;\">Qu\u00e9 hace la API de edici\u00f3n de im\u00e1genes<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#native-first-edit\" style=\"color:#145ea8;box-sizing:border-box;\">Realiza una primera edici\u00f3n en el idioma original<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#masks-and-references\" style=\"color:#145ea8;box-sizing:border-box;\">Utiliza m\u00e1scaras e im\u00e1genes de referencia<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#models-and-parameters\" style=\"color:#145ea8;box-sizing:border-box;\">Selecciona modelos y par\u00e1metros<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#image-edit-pricing\" style=\"color:#145ea8;box-sizing:border-box;\">Entender la estructura de precios<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#globalgpt-contract\" style=\"color:#145ea8;box-sizing:border-box;\">Utiliza la ruta de tareas GlobalGPT<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#tested-workflow\" style=\"color:#145ea8;box-sizing:border-box;\">Lee la prueba del modelo GlobalGPT<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#image-edit-errors\" style=\"color:#145ea8;box-sizing:border-box;\">Gestionar los errores y las respuestas lentas<\/a><\/li><li style=\"box-sizing:border-box;\"><a href=\"#faq\" style=\"color:#145ea8;box-sizing:border-box;\">PREGUNTAS FRECUENTES<\/a><\/li><\/ol><\/nav>\n\n\n\n<h2 id=\"what-is-image-edit-api\" class=\"wp-block-heading\">\u00bfPara qu\u00e9 sirve la API de edici\u00f3n de im\u00e1genes OpenAI?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El proceso de edici\u00f3n parte de una imagen ya existente. Tu solicitud describe el cambio, mientras que la imagen de entrada proporciona el contexto visual que debe conservarse tras la edici\u00f3n. Puedes sustituir un fondo, a\u00f1adir o eliminar un elemento, realizar un cambio de estilo m\u00e1s amplio o pasar m\u00e1s de una imagen como referencia. El modelo sigue interpretando la solicitud; la API no es un editor de p\u00edxeles con un l\u00edmite de selecci\u00f3n garantizado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El documento OpenAI describe dos flujos de trabajo \u00fatiles. El <strong>API de im\u00e1genes<\/strong> es la opci\u00f3n m\u00e1s adecuada cuando una solicitud debe devolver una sola imagen. El <strong>API de respuestas<\/strong> es la opci\u00f3n m\u00e1s adecuada cuando el usuario va a revisar el resultado, solicitar otro cambio y mantener el contexto de la imagen a lo largo de las rondas. Esa elecci\u00f3n afecta tanto a la estructura de la solicitud como al c\u00f3digo que extrae el resultado.<\/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 de im\u00e1genes frente a API de respuestas<\/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;\">Pregunta<\/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 im\u00e1genes<\/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 respuestas<\/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;\">Lo mejor para<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Una \u00fanica acci\u00f3n de creaci\u00f3n o edici\u00f3n<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Una experiencia de edici\u00f3n en varias fases<\/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;\">Entrada t\u00edpica<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Imagen de varias partes, indicaci\u00f3n, m\u00e1scara opcional<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Herramienta de generaci\u00f3n de im\u00e1genes y de entrada de texto para conversaciones<\/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;\">Gesti\u00f3n de la producci\u00f3n<\/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;\">Busca el elemento de salida de generaci\u00f3n de im\u00e1genes<\/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;\">Desglose de costes<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">La edici\u00f3n directa utiliza las velocidades de entrada y salida actuales<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Las normas de entrada almacenadas en cach\u00e9 pueden variar; consulta las tarifas actuales<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h2 id=\"native-first-edit\" class=\"wp-block-heading\">Realiza una primera edici\u00f3n con la API nativa OpenAI<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Guarda la clave API en tu servidor y c\u00e1rgala desde una variable de entorno. El ejemplo siguiente env\u00eda una imagen y una indicaci\u00f3n al punto final de ediciones documentado. El <code>imagen[]<\/code> El campo se puede repetir cuando el modelo seleccionado admite varias entradas. El canal de comandos del shell descodifica la primera imagen en formato Base64 devuelta y la convierte en un archivo 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;\">Edici\u00f3n con Native Curl: guardar el resultado de 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=Sustituye \u00fanicamente el fondo por una escena de estudio en tonos beige c\u00e1lidos; mant\u00e9n el producto y la etiqueta sin cambios.\" \\\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;\">Edici\u00f3n del SDK de Python: descodificar los bytes devueltos<\/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=\"Sustituye \u00fanicamente el fondo por una escena de estudio en tono beige c\u00e1lido; mant\u00e9n el producto y la etiqueta sin cambios.\",\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\">Antes de dar por lista esta producci\u00f3n, comprueba el archivo descodificado: verifica su tipo MIME, sus dimensiones, el n\u00famero de bytes y si los detalles visuales importantes siguen estando presentes. Una respuesta 200 solo indica que la solicitud ha sido aceptada; no te garantiza que la etiqueta, el logotipo o la geometr\u00eda del producto se hayan conservado.<\/p>\n\n\n\n<h2 id=\"masks-and-references\" class=\"wp-block-heading\">Utiliza las m\u00e1scaras y las im\u00e1genes de referencia de forma segura<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una m\u00e1scara indica al modelo qu\u00e9 zona quieres modificar, pero el enmascaramiento de im\u00e1genes de GPT sigue bas\u00e1ndose en las instrucciones. La gu\u00eda de OpenAI advierte expl\u00edcitamente de que el modelo utiliza la m\u00e1scara como orientaci\u00f3n y no como un l\u00edmite absoluto de p\u00edxeles. Aseg\u00farate de que las instrucciones sean espec\u00edficas en cuanto al sujeto que deseas proteger y revisa la imagen completa tras la generaci\u00f3n.<\/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;\">Comprobaci\u00f3n previa de la m\u00e1scara<\/h3><ul style=\"box-sizing:border-box;\"><li style=\"box-sizing:border-box;\">La imagen y la m\u00e1scara tienen el mismo formato.<\/li><li style=\"box-sizing:border-box;\">La imagen y la m\u00e1scara tienen las mismas dimensiones.<\/li><li style=\"box-sizing:border-box;\">El archivo de la m\u00e1scara ocupa menos de 50 MB.<\/li><li style=\"box-sizing:border-box;\">La m\u00e1scara contiene un canal alfa.<\/li><li style=\"box-sizing:border-box;\">Las instrucciones indican qu\u00e9 debe permanecer sin cambios y qu\u00e9 debe sustituirse.<\/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;\">Comprueba la m\u00e1scara antes de subirla<\/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  # comprueba por separado el tama\u00f1o del archivo en el disco\nprint(\"source:\", source.size, source.format)\nimprimir(\"m\u00e1scara:\", m\u00e1scara.tama\u00f1o, m\u00e1scara.modo)<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si se pasan varias im\u00e1genes con una m\u00e1scara, seg\u00fan la gu\u00eda actual, la m\u00e1scara se aplica a la primera imagen. Este es un criterio \u00fatil a la hora de dise\u00f1ar un flujo de trabajo de referencia: haz que la primera entrada sea el recurso cuya zona pretendes editar y trata las im\u00e1genes restantes como referencias, en lugar de dar por hecho que la m\u00e1scara se aplica a todas ellas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las im\u00e1genes de referencia resuelven un problema diferente. Pueden aportar una identidad al producto, una familia de iluminaci\u00f3n, una paleta de colores o una referencia compositiva. No obligan al modelo a conservar cada contorno. Si es necesario mantener sin cambios la forma exacta de un envase o una etiqueta, utiliza una fase de revisi\u00f3n visual o un paso de edici\u00f3n convencional tras la generaci\u00f3n del modelo.<\/p>\n\n\n\n<h2 id=\"models-and-parameters\" class=\"wp-block-heading\">Elige el modelo y los par\u00e1metros<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La gu\u00eda de im\u00e1genes actual del OpenAI incluye <code>gpt-image-2.5-sunburst<\/code>, <code>gpt-image-2.5-flare<\/code>, y <code>gpt-imagen-2<\/code>. Considera los nombres de los modelos y las opciones compatibles como documentaci\u00f3n en constante evoluci\u00f3n: consulta la p\u00e1gina del modelo justo antes de integrarlos y marca como fija una versi\u00f3n con fecha si la reproducibilidad es 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;\">Decisiones sobre los par\u00e1metros que evitan fallos evitables<\/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;\">Decisi\u00f3n<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Regla pr\u00e1ctica<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Por qu\u00e9 es importante<\/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;\">Fidelidad de entrada<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Omitir <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">fidelidad_de_entrada<\/code> para <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">gpt-imagen-2<\/code>; sus entradas de imagen se procesan con alta fidelidad.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">El env\u00edo de un campo no admitido puede convertir una modificaci\u00f3n v\u00e1lida en una solicitud rechazada.<\/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;\">Calidad<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">El documento sobre las rutas \u00ab2.5 Sunburst\u00bb y \u00abFlare\u00bb <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">bajo<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">medio<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">alto<\/code>, <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">xalto<\/code>, y <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">m\u00e1x.<\/code>.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Un valor m\u00e1s alto supone una elecci\u00f3n entre coste y latencia, no una garant\u00eda de una mejor conservaci\u00f3n.<\/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;\">Formato<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Pide el formato de salida que documenta el punto final actual y, a continuaci\u00f3n, revisa el archivo descodificado.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Tu canal de almacenamiento deber\u00eda basarse en los bytes y el tipo MIME, y no solo en la opci\u00f3n solicitada.<\/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;\">Antecedentes<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Indica el fondo deseado en la instrucci\u00f3n y utiliza la opci\u00f3n de fondo documentada cuando sea compatible.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">El modelo sigue interpretando la escena; mant\u00e9n expl\u00edcitas las restricciones del sujeto.<\/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;\">Referencias<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Utiliza una imagen de referencia para orientarte en cuanto a la identidad, el color o la iluminaci\u00f3n, y define la funci\u00f3n de cada elemento.<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">La ambig\u00fcedad en las funciones de las im\u00e1genes dificulta el diagn\u00f3stico de la deriva.<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<h2 id=\"image-edit-pricing\" class=\"wp-block-heading\">\u00bfCu\u00e1nto cuesta la API de edici\u00f3n de im\u00e1genes OpenAI?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI tarifica el uso de GPT Image por categor\u00edas de tokens, en lugar de aplicar una tarifa plana universal por edici\u00f3n. La p\u00e1gina de tarifas actual muestra tarifas distintas para entradas de imagen, entradas en cach\u00e9 y salidas de imagen. Las ediciones directas de la API de im\u00e1genes no se someten al tratamiento de \u00abentrada en cach\u00e9\u00bb documentado para la herramienta de generaci\u00f3n de im\u00e1genes en la API de respuestas, por lo que no se debe copiar una estimaci\u00f3n de la API de respuestas en una solicitud directa <code>\/v1\/im\u00e1genes\/modificaciones<\/code> presupuesto.<\/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;\">Tarifas de los tokens de imagen publicadas, verificadas el 28 de septiembre de 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;\">Modelo<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Entrada de im\u00e1genes \/ 1 mill\u00f3n 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;\">Entrada de imagen almacenada en cach\u00e9 \/ 1 mill\u00f3n 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;\">Generaci\u00f3n de im\u00e1genes \/ 1 mill\u00f3n de tokens<\/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;\">GPT Imagen 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 columna \u00abcached-input\u00bb se muestra para el contexto de precios publicado. La gu\u00eda de precios indica que \u00abcached-input\u00bb se aplica a la herramienta de generaci\u00f3n de im\u00e1genes de la API de Respuestas, no a las solicitudes directas a la API de Im\u00e1genes, como por ejemplo <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">\/v1\/im\u00e1genes\/modificaciones<\/code>. Las tarifas pueden variar; haz el c\u00e1lculo bas\u00e1ndote en el consumo indicado en tu propia solicitud.<\/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;\">Elabora un presupuesto transparente basado en el consumo<\/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# Solo a modo de ejemplo: sustit\u00fayelo por el uso que le des en tu respuesta.\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\">Esta f\u00f3rmula es un ejemplo orientativo, no una garant\u00eda de que la factura por imagen sea fija. Incluye en tu propio presupuesto los reintentos, el almacenamiento de archivos y cualquier uso adicional de texto o herramientas. Cuando el resultado sea importante, mant\u00e9n juntos la solicitud, el uso de la respuesta, el hash del archivo descodificado y la decisi\u00f3n de aprobaci\u00f3n.<\/p>\n\n\n\n<h2 id=\"globalgpt-contract\" class=\"wp-block-heading\">GlobalGPT utiliza un contrato de API de edici\u00f3n de im\u00e1genes diferente<\/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\">Consigue ahora tu clave API<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">En <a href=\"https:\/\/www.glbgpt.com\/home\/api\/docs\">Documentaci\u00f3n de la API de GlobalGPT<\/a> describe la generaci\u00f3n de im\u00e1genes, v\u00eddeos y audio como tareas multimedia as\u00edncronas. Su URL base p\u00fablica es <code>https:\/\/api2.glbgpt.com\/ai-api\/open\/v1<\/code>. Env\u00eda el JSON a <code>\/tareas<\/code>, encuesta <code>\/tareas\/{id}<\/code>, y leer <code>output.url<\/code> tras completar una tarea con \u00e9xito. El cat\u00e1logo de modelos recoge <code>gpt-imagen-2<\/code> y <code>gpt-image-2.5<\/code> como rutas de edici\u00f3n de im\u00e1genes o de referencia con hasta cuatro im\u00e1genes de entrada y <code>relaci\u00f3n de aspecto<\/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=\"Documentaci\u00f3n de la API de tareas multimedia p\u00fablicas GlobalGPT, en la que se muestran los campos de URL de env\u00edo, estimaci\u00f3n, sondeo y salida\" 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>Documentaci\u00f3n de la API p\u00fablica de S05:<\/strong> Documentaci\u00f3n p\u00fablica sobre el contrato de tareas as\u00edncronas; este art\u00edculo lo distingue del punto final nativo de ediciones multiparte de OpenAI.<\/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=\"Cat\u00e1logo de modelos de imagen p\u00fablica GlobalGPT que muestra las rutas de GPT Image y los detalles de las tareas compatibles\" 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>Cat\u00e1logo de modelos p\u00fablicos de la temporada 6:<\/strong> Pruebas p\u00fablicas del cat\u00e1logo de modelos para las rutas de GPT Image y sus l\u00edmites documentados en cuanto a tareas relacionadas con im\u00e1genes; comprueba los cr\u00e9ditos y los campos din\u00e1micos antes de publicar.<\/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;\">Forma de la tarea p\u00fablica 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# Opcional: obtener un presupuesto sin crear una tarea ni reservar cr\u00e9ditos.\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\": \"Mant\u00e9n la botella y la etiqueta sin cambios. Sustituye \u00fanicamente el fondo por una iluminaci\u00f3n de estudio en tono beige c\u00e1lido.\",\n    \"images\": [\"https:\/\/YOUR_PUBLIC_IMAGE_URL\/product.png\"],\n    \"aspect_ratio\": \"3:2\"\n  }'\n\n# Envi\u00e1 solo despu\u00e9s de comprobar el presupuesto.\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\": \"Mant\u00e9n la botella y la etiqueta sin cambios. Sustituye solo el fondo por una iluminaci\u00f3n de estudio en tono beige c\u00e1lido.\",\n    \"images\": [\"https:\/\/YOUR_PUBLIC_IMAGE_URL\/product.png\"],\n    \"aspect_ratio\": \"3:2\"\n  }'\n\n# Consulta el ID de la tarea devuelta hasta que se complete con \u00e9xito o falle.\ncurl \"$BASE\/tasks\/TASK_ID\" \\\n  -H \"Authorization: Bearer $GLOBALGPT_API_KEY\"<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">No pegues el archivo multiparte de OpenAI <code>m\u00e1scara<\/code>, <code>fidelidad_de_entrada<\/code>, <code>talla<\/code>, o <code>calidad<\/code> campos en este JSON y dar por hecho que funcionan. La documentaci\u00f3n p\u00fablica actual de GlobalGPT no incluye esos campos para esta ruta de imagen. Los campos no compatibles pueden omitirse y reflejarse en <code>par\u00e1metros_ignorados<\/code>, as\u00ed que comprueba esa respuesta antes de dar por hecho que un ajuste ha surtido efecto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan la documentaci\u00f3n p\u00fablica, GlobalGPT reserva cr\u00e9ditos cuando se env\u00eda una tarea multimedia, los libera cuando la tarea falla y mantiene disponibles los archivos multimedia que se han procesado correctamente durante 30 d\u00edas. Guarda el recurso devuelto en un almacenamiento que controles si necesitas que la URL permanezca activa durante m\u00e1s tiempo. Utiliza el punto final de estimaci\u00f3n antes de un lote, una clave de idempotencia al reintentar una solicitud de red y el ID de tarea original cuando una consulta simplemente sea lenta.<\/p>\n\n\n\n<h2 id=\"tested-workflow\" class=\"wp-block-heading\">Lo que revel\u00f3 la prueba del modelo GlobalGPT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para concretar esta distinci\u00f3n, el 28 de septiembre de 2026 realic\u00e9 una prueba de la API del modelo GlobalGPT con l\u00edmites, utilizando dos indicaciones de entrada ficticias y sin marcas, y dos indicaciones de edici\u00f3n. En cada tarea se utiliz\u00f3 GPT Image 2, una solicitud 3:2 y la primera salida v\u00e1lida. Las im\u00e1genes que se muestran a continuaci\u00f3n son pruebas del modelo, no una sesi\u00f3n del espacio de trabajo del navegador, ni una prueba de rendimiento, ni una garant\u00eda de que cada edici\u00f3n conserve todos los contornos.<\/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=\"Una botella de cer\u00e1mica de color marfil mate sobre un fondo blanco liso, con las palabras \u00abNORTH\u00bb y \u00ab250 ml\u00bb en la etiqueta.\" 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>Entrada P00:<\/strong> La imagen original congelada: una botella ficticia sin marca, con un tap\u00f3n blanco corto y una etiqueta peque\u00f1a.<\/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=\"Un c\u00e1lido bodeg\u00f3n de interior en tonos beige con un recipiente de cer\u00e1mica y una suave luz que entra por la ventana\" 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>Referencia P01:<\/strong> La imagen de referencia \u00abcongelada\u00bb: se utiliza \u00fanicamente para la iluminaci\u00f3n y el color, no como una segunda identidad del producto.<\/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: edici\u00f3n del fondo de una imagen<\/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;\">Modelo:<\/strong> Imagen GPT 2 \u00b7 <strong style=\"box-sizing:border-box;\">Fecha:<\/strong> 28 de septiembre de 2026 \u00b7 <strong style=\"box-sizing:border-box;\">Salida:<\/strong> primer archivo PNG v\u00e1lido de 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;\">Mostrar el mensaje completo<\/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;\">Mant\u00e9n sin cambios la botella de cer\u00e1mica, el tap\u00f3n blanco corto, el texto ficticio de la etiqueta \"NORTH\" y \"250 ml\", los colores, el \u00e1ngulo de la c\u00e1mara y las proporciones de la imagen original. Sustituye \u00fanicamente el fondo blanco puro por un entorno de estudio interior en tonos beige c\u00e1lidos, inspirado en la suave luz que entra por la ventana y en las sombras tenues. No a\u00f1adas ning\u00fan objeto, logotipo, palabra, marca de agua, persona ni etiqueta nuevos. Mant\u00e9n la botella como \u00fanico motivo en una composici\u00f3n horizontal de 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 botella de cer\u00e1mica NORTH, integrada en una c\u00e1lida escena de estudio en tonos beige\" 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 botella sigue siendo reconocible, se ve la etiqueta \u00abNORTH \/ 250 ml\u00bb y el fondo blanco da paso a una c\u00e1lida escena interior en tonos beige con suaves sombras que parecen procedentes de una ventana.<\/figcaption><\/figure><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Lo que esto demuestra:<\/strong> La botella sigue siendo reconocible, se ve la etiqueta \u00abNORTH \/ 250 ml\u00bb y el fondo blanco da paso a una c\u00e1lida escena interior en tonos beige con suaves sombras que parecen procedentes de una ventana.<\/p><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">L\u00edmite:<\/strong> Este es un primer resultado v\u00e1lido. No garantiza la conservaci\u00f3n exacta de los p\u00edxeles ni la fidelidad general de las etiquetas.<\/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: referencia de iluminaci\u00f3n y color con dos im\u00e1genes<\/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;\">Modelo:<\/strong> Imagen GPT 2 \u00b7 <strong style=\"box-sizing:border-box;\">Fecha:<\/strong> 28 de septiembre de 2026 \u00b7 <strong style=\"box-sizing:border-box;\">Salida:<\/strong> primer archivo PNG v\u00e1lido de 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;\">Mostrar el mensaje completo<\/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;\">Utiliza la imagen de entrada 1 como referencia exacta del producto y la imagen de entrada 2 \u00fanicamente como referencia para la iluminaci\u00f3n beige c\u00e1lida, la temperatura de color y las sombras suaves del interior. Mant\u00e9n sin cambios la forma de la botella de cer\u00e1mica, el tap\u00f3n blanco corto, el texto ficticio de la etiqueta \"NORTH\" y \"250 ml\", los colores, el \u00e1ngulo de la c\u00e1mara y las proporciones de la imagen de entrada 1. Sustituye el fondo blanco por una escena tranquila de estudio interior en tonos beige c\u00e1lidos. No copies ning\u00fan objeto, texto, logotipo, marca de agua, persona o etiqueta adicionales de la imagen de entrada 2. Mant\u00e9n la botella como \u00fanico sujeto en una composici\u00f3n apaisada de 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 botella de cer\u00e1mica NORTH en una habitaci\u00f3n de c\u00e1lidos tonos beige, iluminada por la suave luz que entra por la ventana\" 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;\">El producto y la etiqueta NORTH \/ 250 ml siguen siendo reconocibles, mientras que la escena retoma el ambiente c\u00e1lido en tonos beige de la habitaci\u00f3n, la mesa y la luz que entra por la ventana del modelo P01.<\/figcaption><\/figure><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">Lo que esto demuestra:<\/strong> El producto y la etiqueta NORTH \/ 250 ml siguen siendo reconocibles, mientras que la escena retoma el ambiente c\u00e1lido en tonos beige de la habitaci\u00f3n, la mesa y la luz que entra por la ventana del modelo P01.<\/p><p style=\"box-sizing:border-box;margin:12px 0;\"><strong style=\"box-sizing:border-box;\">L\u00edmite:<\/strong> La proporci\u00f3n de la tapa de la botella, el contorno de la botella y su ubicaci\u00f3n han cambiado de forma visible. No se debe considerar que esto supone una conservaci\u00f3n perfecta o exacta de la identidad; recurre a la comparaci\u00f3n manual cuando las dimensiones de la mercanc\u00eda deban coincidir.<\/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;\">C\u00f3mo utilizar estos datos:<\/strong> El resultado \u00fatil es un proceso de revisi\u00f3n repetible. Se bloquea la URL de entrada, se nombra el tema protegido, se describe la funci\u00f3n de referencia, se inspeccionan los bytes devueltos y se compara el producto aprobado con la fuente antes de su publicaci\u00f3n. La transferencia de estilo puede tener \u00e9xito aunque la geometr\u00eda siga variando.<\/p>\n\n\n\n<h2 id=\"image-edit-errors\" class=\"wp-block-heading\">Gestionar los errores y las respuestas lentas<\/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;\">S\u00edntoma \u2192 comprobaci\u00f3n \u2192 acci\u00f3n<\/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;\">S\u00edntoma<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">Compru\u00e9balo primero<\/th><th style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;background:#e7eef5;color:#173b5d;box-sizing:border-box;\">El siguiente paso seguro<\/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 \/ error de autenticaci\u00f3n<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Clave del lado del servidor, permisos de la cuenta, host del punto final<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Det\u00e9n el proceso y corrige la autenticaci\u00f3n; no eval\u00faes la calidad de la imagen.<\/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: solicitud incorrecta<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">ID del modelo, nombres de campos compuestos, tipo de archivo, opciones no admitidas<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Modifica \u00fanicamente el campo indicado en el error y conserva la solicitud original que ha dado error.<\/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 \/ capacidad<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Si se ha creado un ID de tarea<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Si no existe ning\u00fan ID de tarea, vuelve a intentarlo una vez seg\u00fan tu pol\u00edtica; si existe una tarea, consulta ese ID.<\/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 tarea permanece en cola o en proceso<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Estado, hora de la \u00faltima consulta, estimaci\u00f3n del proveedor<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Realiza una consulta a intervalos fijos; no crees un duplicado mientras se desconozca el estado.<\/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;\">El resultado es un objeto JSON guardado como imagen<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Tipo de contenido, primeros bytes, formato descodificado<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Analizar la respuesta, descodificar <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">b64_json<\/code> o descargar <code style=\"background:#eef3f8;padding:2px 5px;border-radius:4px;font-size:.92em;box-sizing:border-box;color:#18364a;\">output.url<\/code>, y luego val\u00eddalo.<\/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;\">Parece que el par\u00e1metro no tiene ning\u00fan efecto<\/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;\">par\u00e1metros_ignorados<\/code> y ficha del modelo<\/td><td style=\"padding:11px;border:1px solid #c9d5e1;text-align:left;vertical-align:top;box-sizing:border-box;\">Elimina los campos no compatibles y utiliza el contrato espec\u00edfico del modelo.<\/td><\/tr><\/tbody><\/table><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Distingue entre las pruebas de transporte y las pruebas de calidad. Un tiempo de espera agotado, un error de DNS o una respuesta de capacidad del proveedor significan que no dispones de una imagen v\u00e1lida para evaluar. Por el contrario, una imagen v\u00e1lida con un l\u00edmite o una etiqueta modificados es un resultado visual que debe comunicarse tal cual, aunque la composici\u00f3n resulte atractiva.<\/p>\n\n\n\n<h2 id=\"workflow-checklist\" class=\"wp-block-heading\">Lista de comprobaci\u00f3n para la edici\u00f3n de im\u00e1genes en un entorno de producci\u00f3n seguro<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Congelar la fuente:<\/strong> guardar el archivo de entrada, las dimensiones, el formato y el hash.<\/li>\n\n\n\n<li><strong>Asignar funciones a las im\u00e1genes:<\/strong> Identifica la imagen en cuesti\u00f3n y cualquier referencia en cuanto a iluminaci\u00f3n, paleta de colores o composici\u00f3n.<\/li>\n\n\n\n<li><strong>Se\u00f1ales protegidas contra escritura:<\/strong> Enumera la marca, la silueta, los colores y las proporciones que hay que revisar.<\/li>\n\n\n\n<li><strong>Elige el contrato:<\/strong> Utiliza \u00abOpenAI multipart\u00bb para el punto final de ediciones nativas o \u00abGlobalGPT JSON tasks\u00bb para su API de medios p\u00fablica.<\/li>\n\n\n\n<li><strong>Calcular y enviar:<\/strong> utilizar las tarifas actuales OpenAI o GlobalGPT <code>\/tareas\/presupuesto<\/code>; a\u00f1ade una clave de idempotencia para que los env\u00edos se puedan repetir sin problemas.<\/li>\n\n\n\n<li><strong>Solicitar y descodificar:<\/strong> Conservar un identificador de tarea, validar el archivo devuelto y guardar los bytes o la URL en un almacenamiento autorizado.<\/li>\n\n\n\n<li><strong>Aprobar visualmente:<\/strong> Compara el resultado con el original antes de que se incluya en un cat\u00e1logo de productos, un anuncio o una p\u00e1gina dirigida a los clientes.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si quieres ejecutar el mismo proceso sin tener que unir distintos paneles de control de modelos, prueba a <a href=\"https:\/\/www.glbgpt.com\/image-generator\/gpt-image-2?inviter=hub_content_gpt_image_2&amp;login=1\">Imagen GPT 2 en GlobalGPT<\/a>. Para consultar la versi\u00f3n del flujo de trabajo dise\u00f1ada para navegadores, v\u00e9ase <a href=\"https:\/\/www.glbgpt.com\/hub\/globalgpt-image-edit\/\">editar im\u00e1genes en el espacio de trabajo GlobalGPT<\/a>; para obtener m\u00e1s informaci\u00f3n sobre la configuraci\u00f3n y los precios, consulta <a href=\"https:\/\/www.glbgpt.com\/hub\/gpt-image-2-5-api-guide\/\">Configuraci\u00f3n y tarifas de la API de im\u00e1genes de GPT<\/a>.<\/p>\n\n\n\n<h2 id=\"faq\" class=\"wp-block-heading\">Preguntas frecuentes<\/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;\">\u00bfQu\u00e9 es la API de edici\u00f3n de im\u00e1genes 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;\">Se trata de la ruta de edici\u00f3n de im\u00e1genes en POST \/v1\/images\/edits. Se env\u00eda una imagen de entrada y una indicaci\u00f3n, opcionalmente con una m\u00e1scara o im\u00e1genes de referencia, y a continuaci\u00f3n se descodifican los datos de la imagen devueltos. Utiliza la API de im\u00e1genes para una \u00fanica edici\u00f3n y la API de respuestas cuando el producto requiera una conversaci\u00f3n en varias rondas sobre im\u00e1genes.<\/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;\">\u00bfDevuelve la API de edici\u00f3n de im\u00e1genes OpenAI una URL p\u00fablica de la imagen?<\/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;\">Los ejemplos documentados de la API de im\u00e1genes devuelven b64_json. Decodifica esos bytes, comprueba la validez del archivo y gu\u00e1rdalo en un almacenamiento que controles. No des por sentado que una respuesta satisfactoria es una URL alojada en una 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;\">\u00bfLa m\u00e1scara de imagen OpenAI permite una selecci\u00f3n exacta de p\u00edxeles?<\/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;\">No. Una m\u00e1scara sirve de gu\u00eda para una edici\u00f3n basada en indicaciones. El modelo puede modificar los p\u00edxeles que rodean el \u00e1rea solicitada, por lo que debes revisar las etiquetas, los detalles del producto, las marcas de seguridad y otros elementos que deben mantenerse correctos.<\/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;\">\u00bfCu\u00e1ntas im\u00e1genes de entrada puede utilizar un programa de edici\u00f3n de im\u00e1genes?<\/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;\">La gu\u00eda de im\u00e1genes actual admite varias im\u00e1genes de entrada para flujos de trabajo de referencia. Para conocer el l\u00edmite exacto y el comportamiento espec\u00edfico de cada modelo, consulta la documentaci\u00f3n del modelo en cuesti\u00f3n; el n\u00famero m\u00e1ximo admitido no garantiza una conservaci\u00f3n perfecta en todas las composiciones.<\/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;\">\u00bfPuedo enviar la solicitud OpenAI \/v1\/images\/edits a GlobalGPT cambiando el valor de base_url?<\/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;\">El contrato de medios p\u00fablicos del n.\u00ba GlobalGPT utiliza JSON POST \/tasks y, a continuaci\u00f3n, GET \/tasks\/{id}, con im\u00e1genes y aspecto_ratio cuando el modelo seleccionado los acepta. La documentaci\u00f3n p\u00fablica no incluye la m\u00e1scara multiparte, el par\u00e1metro `input_fidelity`, el tama\u00f1o ni el contrato de calidad de OpenAI para esa ruta.<\/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;\">\u00bfC\u00f3mo debo calcular el tiempo necesario para una tarea de imagen antes de enviarla?<\/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;\">Para GlobalGPT, env\u00eda primero el mismo cuerpo JSON a \/tasks\/estimate. Esto no crea ninguna tarea ni reserva cr\u00e9ditos. Para OpenAI, realiza el c\u00e1lculo con las tarifas actuales por mill\u00f3n de tokens y, a continuaci\u00f3n, comprueba el uso real en la respuesta o en el registro de facturaci\u00f3n.<\/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>La API de edici\u00f3n de im\u00e1genes OpenAI modifica una imagen existente a partir de una indicaci\u00f3n. La ruta nativa es POST \/v1\/images\/edits; admite una imagen, una indicaci\u00f3n y controles de edici\u00f3n opcionales, como una m\u00e1scara o im\u00e1genes de referencia. Utiliza la API de im\u00e1genes para una solicitud espec\u00edfica y utiliza la API de respuestas cuando el producto necesite una imagen de varios pasos [\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\/es\/wp-json\/wp\/v2\/posts\/20175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/comments?post=20175"}],"version-history":[{"count":3,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/posts\/20175\/revisions"}],"predecessor-version":[{"id":20188,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/posts\/20175\/revisions\/20188"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/media\/20176"}],"wp:attachment":[{"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/media?parent=20175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/categories?post=20175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/es\/wp-json\/wp\/v2\/tags?post=20175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}