API de GPT Image 2 en Azure: precios y configuración en Azure OpenAI
Configurar GPT Image 2 en Azure OpenAI implica lidiar con precios por token, una cuota inicial de 5 imágenes por minuto, salida solo en base64 y nombres de despliegue. Este artículo detalla el costo real de cada render, los pasos de despliegue en Foundry, llamadas REST y Python que funcionan y cinco errores que inflan la factura.
Puedes llamar a GPT Image 2 desde tu propia suscripción de Azure, y al hacerlo, la factura, la cuota y el modelo de seguridad siguen las reglas de Azure y no las de OpenAI. Eso cambia la forma de planificarlo. El precio se calcula por tokens, así que un render cuesta más o menos según la calidad y el tamaño, en lugar de una tarifa fija por imagen, y la cuota predeterminada es de solo 5 imágenes por minuto hasta que pidas más. Este artículo repasa cuánto cuesta el modelo, cómo desplegarlo en Microsoft Foundry, las llamadas exactas de REST y Python, y los errores que inflan la factura sin que te des cuenta. Si solo quieres imágenes y no quieres configurar la nube, hay una opción en el navegador hacia el final.
Qué ofrece GPT Image 2 en Azure
Azure OpenAI, el lado de Azure de Microsoft Foundry, aloja los modelos de imagen de OpenAI junto a sus modelos de texto. Creas un recurso, despliegas un modelo con un nombre que eliges y envías las solicitudes a un endpoint con el nombre de tu propio recurso. Nada del cuerpo de la solicitud es exótico. Las diferencias aparecen en la facturación, la cuota, la autenticación y la elección de región.
La oferta de modelos
La documentación de Microsoft enumera tres modelos de imagen de disponibilidad general en la familia actual, además de una serie anterior que todavía requiere una solicitud de acceso.
La conclusión práctica: GPT Image 2 y los modelos 2.5 no necesitan formulario de aprobación, así que una suscripción nueva puede desplegarlos la misma tarde. La serie 1 requiere primero una solicitud de registro.
Quién debería elegir Azure
Azure merece el esfuerzo extra de configuración cuando se cumple al menos una de estas condiciones:
Tu empresa ya contrata servicios en la nube mediante un acuerdo con Azure, así que el gasto en imágenes entra en una factura existente.
Necesitas elegir la región en la que se procesan las solicitudes.
Quieres inicio de sesión con Microsoft Entra ID, asignación de roles y redes privadas, en lugar de un secreto compartido en un archivo de entorno.
La cuota debe gestionarse por suscripción y por despliegue, con un administrador que pueda aumentarla.
Azure es la opción equivocada si todavía estás decidiendo si la idea funciona. Un desarrollador en solitario que prueba un concepto no necesita un grupo de recursos, una asignación de roles y una solicitud de cuota solo para ver diez renders. Prototipa donde la configuración sea barata y pasa a Azure cuando los prompts, los tamaños y el volumen mensual estén definidos.
Así se comparan las tres rutas habituales.
Azure OpenAI
OpenAI directo
Picasso IA en el navegador
Configuración
Suscripción, recurso, despliegue
Cuenta y facturación
Inicia sesión y escribe un prompt
Unidad de facturación
Tokens, en una factura de Azure
Tokens, en una factura de OpenAI
Gestionada por la plataforma
Tamaños
Tamaños personalizados en pasos de 16 px
Los define la propia documentación de la API de OpenAI
1:1, 3:2, 2:3
Ideal para
Aplicaciones de producción con necesidades de gobernanza
Prototipos rápidos
Borradores, pruebas, usuarios no desarrolladores
El costo real de cada render
No hay un precio fijo por imagen. Pagas por tokens: el texto de tu prompt, las imágenes de referencia que envíes y, con diferencia, la mayor parte: la imagen que genera el modelo.
Tarifas por token
OpenAI publica estas tarifas estándar para GPT Image 2, por cada millón de tokens:
Tipo de token
Precio por 1M de tokens
Entrada de texto
$5.00
Entrada de texto en caché
$1.25
Entrada de imagen
$8.00
Entrada de imagen en caché
$2.00
Salida de imagen
$30.00
El procesamiento por lotes aparece con la mitad de la tarifa estándar en la propia página de precios de OpenAI. Las calculadoras de precios de Azure de terceros muestran $5.00 por millón de tokens de entrada y $30.00 por millón de tokens de salida para el despliegue en Azure, lo que coincide con las líneas de entrada de texto y salida de imagen de la tabla anterior.
💡 Consejo: Azure publica las tarifas por región y tipo de despliegue, y pueden diferir de la tabla pública de OpenAI. Confirma las cifras exactas en la calculadora de precios de Azure para tu región antes de fijar un presupuesto.
Ejemplos de costo calculados
El precio de una imagen es su número de tokens de salida multiplicado por $30 y dividido entre un millón. El modelo decide cuántos tokens usa un render, y eso depende de la calidad y del tamaño del lienzo. Las cifras siguientes son supuestos elegidos para mostrar la aritmética, no mediciones. Lee los datos de uso que devuelve cada respuesta real para conocer tus cifras verdaderas.
Tokens de salida supuestos
Costo a $30 por 1M
Costo por 1.000 imágenes
1.000
$0.03
$30
2.500
$0.075
$75
5.000
$0.15
$150
8.000
$0.24
$240
Añade el prompt en sí: un prompt de 500 tokens a $5 por millón suma $0.0025, un redondeo sin importancia frente a la imagen. El lado de salida es el que impulsa el total, así que presupuesta en torno a él.
Cómo reducir la factura
Haz borradores en calidad baja. Pasa a medium o high solo cuando la composición sea correcta.
Ajusta el lienzo a la página. Un render de 1536x864 es más que suficiente para la imagen principal de un blog. La documentación de imágenes de OpenAI marca como experimental cualquier tamaño superior a 2560x1440, y los lienzos más grandes suelen consumir más tokens de salida.
Pide una imagen cada vez mientras iteras. El parámetro n acepta de 1 a 10, y cada imagen extra se cobra.
Reutiliza los prefijos del prompt. La entrada de texto en caché cuesta $1.25 por millón en lugar de $5.00, lo que ayuda cuando una descripción de estilo larga se repite en miles de llamadas.
Revisa las opciones por lotes para el trabajo que pueda esperar, ya que el procesamiento por lotes cuesta la mitad en el lado de OpenAI.
Lista de comprobación antes del despliegue
Dos cosas hacen tropezar a la gente antes de enviar una sola solicitud: dónde está disponible el modelo y lo poca cuota que tiene por defecto.
Suscripción y región
Necesitas una suscripción activa de Azure y un recurso de Azure OpenAI en una región que ofrezca el modelo. La generación de imágenes está disponible en un subconjunto de regiones, así que abre la tabla de disponibilidad de regiones de Microsoft, busca GPT Image 2 y elige una región cercana a tus usuarios o a tus normativas de datos. Crear primero el recurso y comprobar la tabla después es la razón más común de un despliegue fallido.
Cuota y límites de frecuencia
La cuota predeterminada documentada para GPT Image 2 es de 5 imágenes por minuto. De ello se derivan varias consecuencias:
Una ráfaga de trabajos en paralelo chocará casi de inmediato con respuestas HTTP 429.
Como la cuota se cuenta en imágenes, una sola solicitud que pida diez imágenes puede superarla en un despliegue nuevo. Prueba tu valor de n antes de depender de él.
Planifica reintentos con retroceso exponencial y presenta pronto una solicitud de aumento de cuota si esperas tráfico real.
Un pequeño envoltorio de reintentos mantiene vivo un trabajo por lotes cuando el límite aprieta:
import time
from openai import RateLimitError
def generate_with_retry(client, deployment, prompt, attempts=5):
for attempt in range(attempts):
try:
return client.images.generate(
model=deployment, prompt=prompt, size="1536x864", quality="low", n=1
)
except RateLimitError:
if attempt == attempts - 1:
raise
time.sleep(2 ** attempt * 5)
Con la cuota predeterminada, una espera de 5, 10, 20 y 40 segundos entre intentos da tiempo a que la ventana por minuto se recargue.
💡 Consejo: Considera el límite de 5 imágenes por minuto como un límite de prueba. Una página de producto que renderiza imágenes bajo demanda necesitará una cuota mayor, una cola o ambas cosas.
Despliega el modelo en Foundry
Los menús del portal cambian de nombre entre versiones, así que sigue el nombre del modelo en lugar de una secuencia de clics memorizada.
Crea el recurso
En el portal de Azure, crea un recurso de Azure OpenAI o un proyecto de Microsoft Foundry, en una región que incluya GPT Image 2.
Elige un nombre de recurso que te convenza a largo plazo. Forma parte del endpoint: https://<resource-name>.openai.azure.com.
Termina el asistente de creación y espera a que el aprovisionamiento se complete.
Crea el despliegue
Abre el portal de Foundry y ve a la página de despliegues de tu recurso.
Elige desplegar un modelo base y busca gpt-image-2.
Selecciona un tipo de despliegue, define la capacidad y asigna un nombre al despliegue.
Ese nombre importa. En Azure, el campo model de tu código es el nombre del despliegue, no el ID público del modelo. Si lo llamas images-prod, tu código envía images-prod.
Foundry también ofrece un playground para los modelos de imagen, la forma más rápida de confirmar que un despliegue funciona antes de escribir código.
Encuentra el endpoint y las credenciales
Tu endpoint aparece en la vista general del recurso y en la página de despliegues. Para la autenticación, Azure te deja elegir entre una credencial estática y Microsoft Entra ID. Para cualquier cosa más allá de una prueba desechable, usa Entra ID: asigna el rol Cognitive Services OpenAI User a tu identidad, inicia sesión con la CLI de Azure y deja que el SDK obtenga tokens de corta duración. Así no queda nada sensible en tu repositorio.
La documentación actual de Microsoft usa la versión de API 2025-04-01-preview o posterior. Estas son las reglas de solicitud para GPT Image 2:
Tamaño:WIDTHxHEIGHT personalizado, con ambos lados múltiplos de 16 y ninguno por encima de 3.840 píxeles.
Relación de aspecto: entre 1:3 y 3:1.
Número de píxeles: entre 655.360 y 8.294.400.
Calidad:low, medium o high.
Cantidad:n de 1 a 10.
La solicitud REST
TOKEN=$(az account get-access-token \
--resource https://cognitiveservices.azure.com \
--query accessToken -o tsv)
curl -X POST "https://<resource-name>.openai.azure.com/openai/deployments/<deployment-name>/images/generations?api-version=2025-04-01-preview" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $TOKEN" \
-d '{
"prompt": "A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
"size": "1536x864",
"quality": "medium",
"n": 1
}'
Python con el SDK de OpenAI
import base64
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(),
"https://cognitiveservices.azure.com/.default",
)
client = AzureOpenAI(
azure_endpoint="https://<resource-name>.openai.azure.com",
azure_ad_token_provider=token_provider,
api_version="2025-04-01-preview",
)
result = client.images.generate(
model="<deployment-name>",
prompt="A ceramic mug of coffee on an oak desk, morning window light, 85mm photograph",
size="1536x864",
quality="medium",
n=1,
)
with open("render.png", "wb") as f:
f.write(base64.b64decode(result.data[0].b64_json))
Guarda la salida en base64
Este es el detalle que sorprende a la gente: el endpoint de imágenes de Azure para estos modelos devuelve solo datos en base64, sin opción de URL alojada. Cada respuesta lleva la imagen completa dentro del JSON.
Eso tiene consecuencias reales para tu aplicación:
Decodifica y escribe el archivo en almacenamiento duradero de inmediato, por ejemplo en un contenedor de blobs.
Guarda en tu base de datos la URL del almacenamiento, no la cadena base64.
Redimensiona las miniaturas en tu lado, ya que la API no lo hará por ti.
Nunca vuelvas a generar una imagen que ya pagaste solo porque perdiste los bytes.
El almacenamiento es la parte barata del proceso. Unos cientos de kilobytes por imagen en almacenamiento de blobs cuestan una fracción mínima de lo que costó el render, así que conservar cada salida que pagas casi siempre es la mejor opción.
Cinco errores que desperdician dinero
Dejar la calidad en high para los borradores. Los tokens de salida son el gasto principal, y la alta calidad pide la mayor cantidad. Haz el borrador en low y termina en high.
Pedir lienzos 4K para páginas web. Si la página muestra la imagen con 1.280 píxeles de ancho, un render de 3.840 píxeles es dinero que no llegas a ver.
Reintentar errores 429 en un bucle sin pausas. Las llamadas limitadas que se repiten sin retroceso desperdician tiempo y pueden acumular trabajo fallido.
Enviar el nombre público del modelo. El valor de model debe ser tu nombre de despliegue. Una discrepancia devuelve un error, y luego los ingenieros pierden una hora culpando a la región.
No guardar la salida. Las respuestas en base64 desaparecen con tu proceso. Si no escribiste los bytes en almacenamiento, la única solución es otro render de pago.
Usa GPT Image 2 en PicassoIA
No todos los proyectos necesitan un recurso en la nube. GPT Image 2 en PicassoIA funciona desde una página web, lo que lo convierte en una forma rápida de probar prompts antes de gastar tokens de Azure en ellos.
Elige tus ajustes
Abre la página del modelo, escribe tu prompt y ajusta las opciones que necesites.
Ajuste
Qué hace
Predeterminado
Prompt
Describe la imagen (obligatorio)
Ninguno
Calidad
Detalle bajo, medio o alto
auto
Fondo
Transparente, opaco o automático
auto
Relación de aspecto
1:1, 3:2 o 2:3
1:1
Número de imágenes
De 1 a 10 variaciones por ejecución
1
Formato de salida
PNG, JPEG o WebP
webp
Compresión
De 0 a 100 por ciento
90
Moderación
Nivel del filtro de contenido
auto
Imágenes de entrada
Imágenes de referencia para ediciones y variaciones
Ninguna
Un campo opcional acepta tu propia credencial de OpenAI. Déjalo vacío y la plataforma enruta la solicitud por ti.
💡 Consejo: Los prompts que nombran un objetivo, una dirección de la luz y una textura de superficie producen resultados más estables. Pide a un modelo de texto como Claude Sonnet 5 o GPT 5.6 Terra que redacte tres variantes del prompt y prueba cada una aquí.
Genera y descarga
Pulsa el botón de generar y espera al render.
Revisa el texto, las manos y los bordes a tamaño completo.
Descarga el archivo en el formato que elegiste.
Cambia un ajuste a la vez y vuelve a ejecutar.
Un flujo de trabajo sensato divide el trabajo en dos. Usa el navegador para fijar la composición, la redacción y la colocación del texto, porque las iteraciones ahí son rápidas y puedes ejecutar hasta diez variaciones a la vez. Cuando un prompt produzca de forma fiable lo que quieres, cópialo en tu código de Azure y ejecútalo con el tamaño y la calidad que necesite tu producto. El prompt se traslada sin cambios, así que cada experimento previo ahorra llamadas de pago más adelante.
Ya tienes el panorama completo de GPT Image 2 en Azure: precios por token que premian los borradores de baja calidad, una cuota inicial de 5 imágenes por minuto, salida solo en base64 y un nombre de despliegue que hace de campo del modelo. Estos cuatro datos deciden la mayoría de los presupuestos y de los errores.
La forma más barata de encontrar un prompt que funcione es probarlo antes de que toque tu factura de Azure. Abre GPT Image 2 en Picasso IA, escribe la foto de producto, el cartel o la imagen principal que tengas en mente y ejecuta cinco variaciones en calidad baja. Elige la ganadora y lleva ese prompt exacto a tu despliegue de Azure con confianza. Tu primer render está a un prompt de distancia, así que ponte a crearlo.