StarMagicStarMagic
Español
简体中文简繁體中文繁EnglishEN日本語日EspañolES한국어KO
Guía de integración
StarMagicStarMagic
Español
简体中文简繁體中文繁EnglishEN日本語日EspañolES한국어KO

GPT Image 2 Generación de imágenes Beta

  • El modelo GPT Image 2 (gpt-image-2-beta) soporta modos de texto a imagen, imagen a imagen y edición de imagen
  • Modo de procesamiento asíncrono, usa el ID de tarea devuelto para consultar el estado
  • Los enlaces de imágenes generadas son válidos por 24 horas, guárdalos oportunamente

Facturación (per_call, por nivel de resolución):

  • auto o relación + resolution: facturado por el campo resolution (1K / 2K / 4K, ver resolution)
  • Píxeles explícitos AnchoxAlto: clasificados automáticamente por el total de píxeles — total ≤ 1.7 MP → 1K, total > 1.7 MP y ≤ 4.4 MP → 2K, total > 4.4 MP → 4K
  • n está fijado en 1; quality no está disponible en este canal

Autorización

AuthorizationstringheaderObligatorio

## Todas las APIs requieren autenticación Bearer Token ## **Obtener API Key:** Visita la [Página de gestión de API Key](https://starmagic.ai/app/api-keys) para obtener tu API Key **Agregar al encabezado de la solicitud:** ``` Authorization: Bearer YOUR_API_KEY ```

Authorization: Bearer YOUR_API_KEY

Cuerpo de solicitud

application/json
modelenum<gpt-image-2-beta>Obligatorio

Nombre del modelo de generación de imágenes

"gpt-image-2-beta"
promptstringObligatorio

Prompt que describe la imagen que desea generar, o que describe cómo editar la imagen de entrada. Limitado a 2000 tokens

"A beautiful colorful sunset over the ocean"
sizestring

Relación de aspecto de la imagen generada. Elige una de las proporciones admitidas o usa `auto` para que el modelo decida automáticamente: - `auto`: Determinado automáticamente por el modelo (predeterminado) - `1:1`: Cuadrado - `3:2` / `2:3`: Horizontal / Vertical - `4:3` / `3:4`: Horizontal / Vertical - `5:4` / `4:5`: Horizontal / Vertical - `16:9` / `9:16`: Pantalla ancha horizontal / vertical - `21:9` / `9:21`: Ultrapanorámica horizontal / vertical - `2:1` / `1:2`: Horizontal / Vertical - `3:1` / `1:3`: Panorámica horizontal / vertical **Píxeles explícitos `AnchoxAlto`** también son admitidos (p. ej., `1024x1024` / `1920x1080` / `3840x2160`). Al usar píxeles explícitos, el campo `resolution` se ignora y el nivel de facturación se clasifica automáticamente por el total de píxeles: - Total ≤ 1.7 MP → 1K - Total > 1.7 MP y ≤ 4.4 MP → 2K - Total > 4.4 MP → 4K **Límites estrictos de píxeles:** - El ancho y el alto deben ser ambos múltiplos de `16` - Total de píxeles: `655.360` (≈ 0,65 MP) ~ `8.294.400` (≈ 8,29 MP) - Cada lado ≤ `3840` - Relación ≤ `3:1`

"16:9"
resolutionenum<1K | 2K | 4K>

Nivel de resolución, solo efectivo cuando `size` es una proporción. **Cuándo se ignora:** - `size=auto`: facturado a la tarifa 1K (no es necesario pasar este parámetro) - `size` como píxeles explícitos `AnchoxAlto`: este campo se ignora y el nivel se clasifica automáticamente por el total de píxeles (ver descripción de `size`) Multiplicador de precio: - 1K: 1× base (predeterminado) - 2K: 1,7× base - 4K: 2,6× base Dimensiones de salida horizontal/cuadrado (vertical = invertido): | Proporción | 1K | 2K | 4K | |---|---|---|---| | 1:1 | 1024×1024 | 2048×2048 | 2880×2880 | | 2:1 | 1456×720 | 2896×1456 | 3840×1920 * | | 3:1 | 1776×592 | 3552×1184 | 3840×1280 * | | 3:2 | 1248×832 | 2512×1680 | 3520×2352 | | 4:3 | 1184×880 | 2368×1776 | 3312×2480 * | | 5:4 | 1152×912 | 2288×1824 | 3216×2576 | | 16:9 | 1360×768 | 2736×1536 | 3840×2160 (UHD) | | 21:9 | 1568×672 | 3136×1344 | 3840×1632 * | * reducido automáticamente para ajustarse al presupuesto de píxeles.

"1K"
image_urlsstring<uri>[]

Lista de URLs de imagen de referencia para funciones de imagen a imagen y edición de imagen **Nota:** - Hasta `16` imágenes de referencia por solicitud - Formatos de imagen admitidos: `.jpeg`, `.jpg`, `.png`, `.webp` - Las URLs de imagen deben ser directamente visibles por el servidor, o la URL de imagen debe activar la descarga directa al acceder (generalmente estas URLs terminan con extensiones de archivo de imagen, como `.png`, `.jpg`)

[
  "https://example.com/image1.png",
  "https://example.com/image2.png"
]
callback_urlstring<uri>

URL de callback HTTPS para completación de tarea **Momento del Callback:** - Se activa cuando la tarea se completa, falla o se cancela - Se envía después de la confirmación de facturación **Restricciones de Seguridad:** - Solo protocolo HTTPS - Direcciones IP internas están prohibidas (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.) - La longitud de la URL no debe exceder `2048` caracteres **Mecanismo de Callback:** - Tiempo de espera: `10` segundos - Máximo `3` reintentos después del fallo (a `1`/`2`/`4` segundos después del fallo) - El formato de respuesta del callback es consistente con la API de consulta de tareas - El código de estado 2xx se considera exitoso, otros códigos activan reintento

"https://your-domain.com/webhooks/image-task-completed"

Respuesta

application/json
成功

Cuerpo de respuesta

createdinteger

Marca de tiempo de creación de la tarea

1757156493
idstring

ID de tarea

"task-unified-1757156493-imcg5zqt"
modelstring

Nombre del modelo real utilizado

"gpt-image-2-beta"
objectenum<image.generation.task>

Tipo de objeto de tarea

"image.generation.task"
progressinteger

Porcentaje de progreso de la tarea (0-100)

0
statusenum<pending | processing | completed | failed>

Estado de la tarea

"pending"
task_infoobject
{
  "can_cancel": true,
  "estimated_time": 100
}
typeenum<text | image | audio | video>

Tipo de salida de la tarea

"image"
usageobject

Información de uso y facturación

{
  "billing_rule": "per_call",
  "credits_reserved": 2.5,
  "user_group": "default"
}
POST/v1/images/generations
curl --request POST \
  --url https://api.starmagic.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "model": "gpt-image-2-beta",
  "prompt": "A beautiful colorful sunset over the ocean"
}'
Respuesta: 成功
{
  "created": 1757156493,
  "id": "task-unified-1757156493-imcg5zqt",
  "model": "gpt-image-2-beta",
  "object": "image.generation.task",
  "progress": 0,
  "status": "pending",
  "task_info": {
    "can_cancel": true,
    "estimated_time": 100
  },
  "type": "image",
  "usage": {
    "billing_rule": "per_call",
    "credits_reserved": 2.5,
    "user_group": "default"
  }
}