API Hop

Documentación

Documentación de API Hop

Generación de imágenes GPT-Image-2

Genera imágenes o edita referencias con gpt-image-2 y recibe los resultados en la respuesta JSON o conexión SSE actual.

POSThttps://api.apihop.ai/openai/v1/images/generations

gpt-image-2 admite generación y edición con imágenes de referencia para imágenes de producto, borradores de carteles, ilustraciones, recursos sociales, visuales de alta resolución, transferencia de estilo y fusión de varias referencias.

text
POST https://api.apihop.ai/openai/v1/images/generations

Autenticación

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Inicio rápido

json
{
  "model": "gpt-image-2",
  "prompt": "A minimal black wireless earbud product poster on a white background, clean studio lighting, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "low"
}

Alcance de la comparación de precios

Los niveles de imagen 1K / 2K / 4K publicados por RequestBeam son *precios de venta de RequestBeam*, no tarifas oficiales fijas de OpenAI por imagen. La documentación de precios de OpenAI describe cargos por tokens de imagen/texto y niveles de procesamiento; el coste real depende del tamaño, calidad, referencias de entrada y salida. Compararlos solo porque ambos mencionan 1k o 2k no es un cálculo de descuento entre conceptos equivalentes.

Para evitar afirmaciones de ahorro sin fundamento, la antigua referencia de proveedor agregado USD per image y la insignia de descuento se ocultan deliberadamente para GPT Image 2. El precio de RequestBeam sigue visible y el contrato de facturación no cambia. Para una comparación futura justificable, registra el modelo exacto, endpoint, calidad, tamaño, condiciones de entrada, URL de la fuente oficial y fecha de verificación. Comprueba el precio efectivo de tu cuenta antes de una llamada de pago.

Cuerpo

modelstringobligatorioPredeterminado: gpt-image-2

ID del modelo de imagen. Usa gpt-image-2.

promptstringobligatorio

Instrucción de imagen. Describe el sujeto, escena, composición, estilo, material, iluminación, colores y si debe aparecer texto.

nintegerPredeterminado: 1

Número de imágenes que generar. El contrato público actual de gpt-image-2 solo admite 1. Otros valores devuelven 400 antes de reservar saldo.

sizestringPredeterminado: auto

Relación de aspecto o dimensiones en píxeles de salida.

Valores habituales:

  • 1:1
  • 4:3
  • 16:9
  • 9:16
  • 1024x1024
  • 1536x1024
  • 1024x1536
  • 2048x2048
  • 2048x1152
  • 3840x2160
  • 2160x3840
  • auto
qualitystringPredeterminado: auto

Calidad de salida. Los valores admitidos incluyen low, medium, high y auto.

resolutionstringPredeterminado: 1k

Nivel de resolución de salida. Los valores admitidos son 1k, 2k y 4k.

Puede combinarse con size, por ejemplo size: "16:9" y resolution: "2k".

image_urlsarray<string>

Imágenes de referencia para edición mediante instrucciones o fusión de varias imágenes.

  • Hasta 16 imágenes.
  • Cada imagen puede ocupar hasta 20 MB, con un límite total de entrada de 256 MB.
  • Se admiten URL de imágenes accesibles públicamente.
  • Se admiten URI de datos Base64 como data:image/...;base64,....
  • Se pueden mezclar URL y URI de datos Base64 en la misma matriz.
output_formatstringPredeterminado: png

Formato de salida. Los valores admitidos incluyen png, jpeg y webp.

streambooleanPredeterminado: false

Si se devuelven eventos enviados por el servidor (SSE).

Imágenes de referencia y edición

La edición con imágenes de referencia usa el mismo endpoint JSON. Añade image_urls y describe qué conservar y cambiar en prompt:

json
{
  "model": "gpt-image-2",
  "prompt": "Keep the product unchanged, replace the background with a dark blue studio, and add soft rim lighting",
  "image_urls": [
    "https://example.com/product.png"
  ],
  "size": "1:1",
  "resolution": "2k"
}

Varias referencias pueden aportar el sujeto, la composición o el estilo visual:

json
{
  "model": "gpt-image-2",
  "prompt": "Use the product from the first image and the composition from the second image to create a clean ecommerce hero image",
  "image_urls": [
    "https://example.com/product.png",
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
  ],
  "size": "4:3",
  "resolution": "2k"
}

Límites del contrato público actual:

  • La edición de imagen completa, transferencia de estilo y fusión de varias referencias se admiten mediante image_urls.
  • No existe una ruta independiente POST https://api.apihop.ai/openai/v1/images/edits.
  • No se aceptan subidas multipart/form-data. Convierte primero las imágenes locales a URI de datos Base64 o súbelas a URL accesibles.
  • No se admite rellenado con máscara. Enviar mask, mask_url o maskUrl devuelve 400 antes de reservar saldo.

Ejemplos de solicitudes

Imagen de producto 1:1

json
{
  "model": "gpt-image-2",
  "prompt": "A transparent glass cup on a light gray background, commercial product photography, soft shadow, no text",
  "n": 1,
  "size": "1024x1024",
  "resolution": "1k",
  "quality": "low",
  "output_format": "png"
}

Cartel 16:9

json
{
  "model": "gpt-image-2",
  "prompt": "A futuristic city night poster with neon lights, wet streets, cinematic composition, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "medium",
  "output_format": "jpeg"
}

Cómo se devuelven los resultados

Este endpoint compatible con OpenAI no devuelve primero una respuesta de envío de tarea con data.jobId para consultarla después:

  • Con stream: false, la solicitud HTTP actual espera hasta la finalización y devuelve las URL de imágenes en la respuesta JSON.
  • Con stream: true, la conexión SSE actual permanece abierta hasta image_generation.completed y [DONE].

No uses GET https://api.apihop.ai/v1/jobs/{id} para obtener resultados de este endpoint. Usa Consultar tarea asíncrona solo cuando un endpoint de creación asíncrona devuelva explícitamente un jobId.

Respuesta sin streaming

La respuesta contiene URL de imágenes. Se incluye usage cuando la ruta del proveedor aporta información de medición.

json
{
  "created": 1777270000,
  "data": [
    {
      "url": "https://image.example.com/generated/123456789012345678/0.png"
    }
  ],
  "usage": {
    "input_tokens": 20,
    "output_tokens": 1234,
    "total_tokens": 1254
  }
}

Respuesta en streaming

text
event: image_generation.completed
data: {"type":"image_generation.completed","data":[{"index":0,"url":"https://image.example.com/generated/123456789012345678/0.png"}],"usage":{"input_tokens":20,"output_tokens":1234,"total_tokens":1254}}

data: [DONE]

Referencia de tamaños

Relación de destino1K recomendado2K recomendado4K recomendado
1:11024x10242048x2048No recomendado
3:21536x10242048x1360No recomendado
2:31024x15361360x2048No recomendado
4:31024x7682048x1536No recomendado
3:4768x10241536x2048No recomendado
16:91536x8642048x11523840x2160
9:16864x15361152x20482160x3840
21:92016x8642688x11523840x1648
9:21864x20161152x26881648x3840

Respuesta de error

Consulta Códigos de error y resolución de problemas para la referencia completa de códigos, diferencias de protocolo y pasos de diagnóstico.

json
{
  "code": 10000,
  "message": "prompt is required",
  "type": "api_error"
}

Errores habituales:

  • 400: faltan parámetros obligatorios o la combinación no es compatible
  • 401: fallo de autenticación o clave de API incorrecta
  • 402: saldo insuficiente
  • 404: el modelo no existe o no está activado
  • 429: límite de velocidad superado
  • 5xx: servicio temporalmente no disponible o fallo de generación de imágenes