Por capacidad

Imágenes

Elige un modelo, copia la solicitud y obtén la imagen. Todo lo de abajo se adapta al modelo que elijas.

#1. Elige un modelo

gpt-image-2.5-ext$0.0065 / solicitudTarea asíncronaLímites y estado

12 modelos en línea para esto. Al cambiar de modelo, cambia el código de abajo.

#2. Copia la solicitud

Reemplaza YOUR_API_KEY por tu clave y ejecútala. Las opciones que se muestran son las que acepta este modelo.

POSThttps://www.aisplice.store/v1/images/tasksBearer API keyTarea asíncrona

OpcionesSolo se muestran las opciones publicadas para este modelo.

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/images/tasks \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "GPT Image 2.5 Ext",
  "prompt": "A cinematic scene with careful composition",
  "size": "1:1",
  "resolution": "1K",
  "quality": "auto",
  "n": 1
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/images/tasks/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 3
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/images/tasks/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

Este modelo requiere URL públicas de medios. Sube primero un archivo local y luego pon public_url en la solicitud al modelo. Evita cuerpos Base64 grandes.

Leer la guía de subida

Todos los parámetros

Todos los campos que acepta este modelo, con los valores permitidos.

model
stringobligatorio

Identificador exacto del modelo para esta solicitud.

gpt-image-2.5-ext
prompt
stringobligatorio

Instrucción que describe el resultado deseado.

size
stringopcional

Relación de aspecto o dimensiones de salida.

auto1:13:22:34:33:45:44:516:99:162:11:23:11:321:99:21
resolution
stringopcional

Resolución de salida solicitada.

1K2K4K
quality
stringopcional

For 2K/4K: low uses standard upscaling, auto/medium professional, and high enhanced. 1K returns the original image.

autolowmediumhigh
n
integeropcional
1
images
string[]opcional

Optional reference images for editing.

Ciclo de vida de la respuesta

Estado de la tarea, estados finales y ejemplos de respuesta del resultado.

Enviar
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "image.task",
  "model": "GPT Image 2.5 Ext",
  "status": "queued"
}
Contenido
{
  "created": 1720000000,
  "data": [
    {
      "url": "https://media.example/result.png"
    }
  ]
}

En espera

queued · submitted · in_progress · processing

Éxito

completed · succeeded · success

Fallo

failed · failure · cancelled · canceled

Todos los campos: /v1/images/tasks en la referencia de la API →

#3. Obtén el resultado

La llamada de envío responde de inmediato con un task_id. Consulta la tarea cada pocos segundos hasta que status sea completed, o pasa webhook_url y te llamaremos cuando termine.

GET https://www.aisplice.store/v1/images/tasks/{task_id}

GET https://www.aisplice.store/v1/images/tasks/{task_id}/content

Solo se cobra si tiene éxito

Una tarea fallida o cancelada se reembolsa automáticamente. El registro de solicitudes muestra el costo final de cada tarea.

Valores de estado y consulta periódica →Recibe un callback en lugar de consultar →

#Si algo sale mal

  • 400 con un nombre de campo: este modelo no acepta esa opción; usa los valores indicados en el paso 2.
  • Contenido rechazado por el modelo: reformula el prompt; las solicitudes rechazadas no se cobran.
  • 402: el saldo no cubre esta solicitud; recarga en Billetera y reintenta.
  • 429: reduce el ritmo y reintenta después de los segundos indicados en Retry-After.
  • 503 model_not_found: el nombre del modelo es incorrecto o el modelo está fuera de línea; elige uno del paso 1.

Buscar otro error →

#Imágenes de referencia

Pasa URL públicas de imágenes en el campo de imagen de referencia indicado en el paso 2. Si es un archivo local, súbelo primero y usa la URL que recibas.

Cómo subir un archivo local →

Integrarlo en tu productoQué opciones mostrar primero a tus usuarios y cuáles dejar para más adelante.
Qué opciones mostrar primero a tus usuariosEmpieza con el prompt y un ajuste de precio; añade el resto cuando el flujo básico funcione.+

Intención creativa

Los campos como prompt van en la UI porque el usuario entiende directamente el resultado que cambian.

Multiplicador de costo

Los campos como duración, resolución, tamaño y cantidad solo deben introducirse cuando el precio ya se pueda explicar.

Cambio de modo

Los campos como imagen, máscara o ID de continuación cambian el propio flujo de trabajo y solo deben aparecer en modos dedicados.

Infraestructura del sistema

Los campos como webhook_secret son para integradores, no para creadores habituales, así que déjalos fuera de la UI predeterminada.

  • prompt
    Cuándo mostrarlo
    Siempre. Es la entrada creativa principal de las tareas de imagen.
    Valor predeterminado recomendado
    Obligatorio en la UI.
    Por qué importa
    Controla el resultado directamente; ocultarlo deja la función inutilizable.
  • size
    Cuándo mostrarlo
    Muéstralo en la primera versión si la facturación cambia según las dimensiones de salida.
    Valor predeterminado recomendado
    Empieza con una proporción recomendada, como 1:1.
    Por qué importa
    Afecta tanto al costo como a la composición del resultado, así que los usuarios necesitan pronto una opción de tamaño sencilla.
  • quality
    Cuándo mostrarlo
    Muéstralo solo cuando los usuarios pidan claramente un nivel más alto o más barato.
    Valor predeterminado recomendado
    Mantenlo en el servidor con el valor predeterminado del modelo.
    Por qué importa
    Cambia el precio y la latencia, pero normalmente no necesita ser un control desde el primer día.
  • n
    Cuándo mostrarlo
    Muéstralo solo cuando la generación por lotes sea un flujo de trabajo central.
    Valor predeterminado recomendado
    Por defecto, 1.
    Por qué importa
    Multiplica el costo de inmediato y puede generar una primera experiencia confusa.
  • mask / image
    Cuándo mostrarlo
    Muéstralo solo en productos de edición o de imagen de referencia.
    Valor predeterminado recomendado
    Ocúltalo en el modo de texto a imagen.
    Por qué importa
    Estos campos convierten el producto de generación en edición, así que no deben filtrarse al flujo básico.
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

Mantén una única fuente de verdad para los resultados

Cuando una tarea termine, organiza tu app en torno a la URL de la plataforma que devuelve /content. Así ocultas los detalles del proveedor upstream y la reproducción del historial se mantiene estable.

¿Sigues con el problema?

Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.