Referencia de API

Usa la API abierta de GPT Image 2 para generar y editar imágenes de forma programática. Autentícate con tu propia clave de API, paga con créditos y obtén resultados mediante polling.

Descripción general

La API de GPT Image 2 te permite generar imágenes a través de tu cuenta de GPT Image 2. Las solicitudes usan tu clave de API del sitio y se enrutan a través de nuestra integración de Kie en el lado del servidor.

Crea una clave de API desde:

/settings/apikeys

Luego llama a:

POST /api/v1/images/generations
GET /api/v1/images/tasks/{task_id}

La generación de imágenes es asíncrona. El endpoint de creación devuelve un id de tarea, y el endpoint de tarea devuelve las URLs finales de la imagen cuando la generación tiene éxito.

Autenticación

Envía tu clave de API de GPT Image 2 como token Bearer:

Authorization: Bearer sk-xxx

No expongas claves de API en código del lado del navegador. Úsalas desde tu backend, scripts o funciones serverless.

Facturación

El uso de la API consume los mismos créditos que la aplicación web:

OperaciónCosto en créditos
Generación de imagen10 créditos por imagen

Si una solicitud al proveedor falla antes de que se acepte una tarea, los créditos consumidos se reembolsan automáticamente mediante el flujo de fallo de tarea.

Crear generación de imagen

Endpoint

POST https://gpt-image-2.art/api/v1/images/generations

Cuerpo de la solicitud

ParámetroTipoRequeridoDescripción
modelstringNoUsa gpt-image-2. Los alias internos gpt-image-2-text-to-image y gpt-image-2-image-to-image también son compatibles.
promptstringDescripción en texto de la imagen. Obligatorio a menos que se proporcionen image_urls.
image_urlsstring[]NoURLs de imágenes de referencia para la generación imagen a imagen.
nintegerNoNúmero de imágenes a generar, de 1 a 10. Valor predeterminado: 1.
sizestringNoUno de 1024x1024, 1536x1024, 1024x1536, 1920x1088, 1088x1920, 3824x2160, 2160x3824 o auto.
qualitystringNoOpción de calidad del proveedor, por ejemplo high o auto.
output_formatstringNopng, jpeg o webp cuando sea compatible con el proveedor.
response_formatstringNoSolo se admite url.
userstringNoIdentificador opcional de usuario final para tu propio seguimiento.

Ejemplo de texto a imagen

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic product photo of a matte black coffee bag on a marble counter",
    "size": "1536x1024",
    "quality": "high",
    "n": 1
  }'

Ejemplo de imagen a imagen

curl https://gpt-image-2.art/api/v1/images/generations \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Keep the product unchanged and place it on a clean studio background",
    "image_urls": ["https://example.com/product.png"],
    "size": "1024x1024",
    "n": 1
  }'

Respuesta de creación

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "pending",
  "credits": 10,
  "data": []
}

Guarda el id y consulta el endpoint de tarea mediante polling.

Consultar tarea de imagen

Endpoint

GET https://gpt-image-2.art/api/v1/images/tasks/{task_id}

Ejemplo

curl https://gpt-image-2.art/api/v1/images/tasks/8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3 \
  -H "Authorization: Bearer $GPT_IMAGE_2_API_KEY"

Respuesta de éxito

{
  "id": "8f6d9f87-1b3f-4f89-bdfb-3df8e77b7af3",
  "object": "image.generation",
  "created": 1714000000,
  "model": "gpt-image-2-text-to-image",
  "status": "succeeded",
  "credits": 10,
  "data": [
    {
      "url": "https://..."
    }
  ]
}

Valores posibles de status:

EstadoSignificado
pendingLa tarea está en cola.
processingEl proveedor está generando la imagen.
succeededLas URLs de imagen están disponibles en data.
failedLa generación falló.
canceledLa generación fue cancelada.

Ejemplo de JavaScript

const apiKey = process.env.GPT_IMAGE_2_API_KEY;

const createRes = await fetch(
  'https://gpt-image-2.art/api/v1/images/generations',
  {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${apiKey}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'gpt-image-2',
      prompt:
        'A premium skincare bottle on wet stone with soft studio lighting',
      size: '1024x1024',
      n: 1,
    }),
  }
);

const task = await createRes.json();

let result = task;
while (['pending', 'processing'].includes(result.status)) {
  await new Promise((resolve) => setTimeout(resolve, 3000));
  const queryRes = await fetch(
    `https://gpt-image-2.art/api/v1/images/tasks/${task.id}`,
    {
      headers: {
        Authorization: `Bearer ${apiKey}`,
      },
    }
  );
  result = await queryRes.json();
}

console.log(result.data);

Formato de error

Los errores siguen el formato de estilo OpenAI:

{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "param": null,
    "code": "invalid_api_key"
  }
}

Recursos relacionados