Saltar al contenido

Editar imágenes

Imagen a imagen / edición de imágenes: GPT Image (con mask), Seedream y Gemini del grupo "Gemini (todos los modelos, incl. imagen)".

POST/v1/images/edits

Genera a partir de imágenes de referencia o edita zonas concretas. Se recomienda multipart/form-data (archivos locales; campo de referencia image / image[], repetible); también acepta JSON (referencias como URL HTTP(S) o Data URL). Ambas formas usan los mismos nombres de campo. El ejemplo de la derecha usa JSON; para multipart consulte la guía de generación de imágenes.

La edición por JSON y las tareas asíncronas no conservan output_compression, moderation, user ni response_format. El grupo "Gemini oficial directo" no tiene este endpoint; envíe las referencias en Generar imágenes.

Encabezados

Authorization:obligatoriostring

Bearer sk-…: una clave de API creada en la consola; su grupo debe incluir el modelo solicitado

Prefer:opcionalstring

respond-async: GPT Image / Gemini devuelven de inmediato 202 Accepted, task_id y status_url; después consulte con GET /v1/images/tasks?task_id=…. Recomendado para imágenes grandes 2K / 4K; Seedream ignora esta cabecera y responde de forma síncrona como siempre

Valoresrespond-async

Parámetros del cuerpoJSON

ModeloAbrir en el constructor de solicitudes de imagen Documentación del modelo
Grupo: GPT Image (todos los modelos). Lee el resultado en data[].b64_json. Hasta 16 imágenes de referencia.
model:obligatorio"gpt-image-2"

Confirme primero que GET /v1/models de la clave actual incluye este ID

prompt:obligatoriostring

Instrucción de generación o edición; si está vacío devuelve 400 prompt must not be empty. El gateway no limita la longitud; el máximo es el límite oficial

LímitesTras quitar los espacios al inicio y al final no puede quedar vacío; si no, 400 "prompt must not be empty"Longitud1–32000 caracteres

size:opcional"auto" o string

Ejemplos: 1024x1024, 2048x2048, 3840x2160. Un valor no válido devuelve 400 antes de generar, sin facturar; no acepta 1K / 2K / 4K

Límitesauto o anchoxalto: lados múltiplos de 16, cada lado ≤ 3840, relación lado largo/corto ≤ 3:1, 655360–8294400 píxeles en total

quality:opcionalstring

Cuanto más alto el nivel, más tokens de salida y mayor costo: en pruebas con 1024x1024, low da unos 200, high unos 1,760, xhigh unos 3,120 y max unos 7,020 tokens de salida

Valoresautolowmediumhigh

LímitesEl gateway no lo valida y lo reenvía sin cambios; cuanto más alto el nivel, más tokens de salida

n:opcionalinteger

Algunos grupos solo admiten 1 y un valor mayor devuelve 400; ≤ 0 se trata como 1

Rango1–10Predeterminado1

background:opcionalstring

transparent requiere png o webp; el fondo transparente en 2.0 es una función en vista previa

Valoresautoopaquetransparent

output_format:opcionalstring

Determina el formato de b64_json una vez decodificado

Valorespngjpegwebp

output_compression:opcionalinteger

Solo jpeg / webp; solo se conserva en el JSON síncrono de generations y en la edición multipart

Rango0–100Predeterminado100

moderation:opcionalstring

No desactiva la revisión de seguridad del contenido

Valoresautolow

user:opcionalstring

Cadena de identificación del usuario final; no es un ID de cuenta de HopBase ni cambia a quién se factura

response_format:opcionalstring

Envíe lo que envíe, se devuelve b64_json; no se puede obtener un enlace de descarga con url. Omítalo

stream:opcionalboolean

true cambia a SSE de Images de HopBase (envía keepalive durante la espera; solo el último evento data: contiene el JSON de Images y termina con [DONE]), no los eventos nativos de vista previa imagen por imagen de OpenAI; en el SDK mantenga false

Límitestrue devuelve SSE de Images de HopBase; en el SDK mantenga falsePredeterminadofalse

input_fidelity:opcionalstring

Campo de compatibilidad; GPT Image 2 ya procesa las referencias en alta fidelidad por defecto. Omítalo

Valoreslowhigh

image:obligatoriostring o array of string

Archivos multipart (image / image[]), o en JSON una cadena o array de cadenas con URL HTTP(S) / Data URL. No lee images y no acepta base64 sin prefijo ni file_id; puede comprimirse antes de reenviar

Límites1–16 imágenes (límite oficial); URL remota ≤ 26214400 bytes por imagen y debe devolver image/*. Solo lee image, no images

mask:opcionalstring

Las zonas transparentes indican qué editar; el gateway escala la máscara al tamaño de la primera imagen de referencia; no se garantiza que lo que queda fuera de la máscara quede idéntico píxel a píxel

LímitesPNG con canal alfa; las zonas transparentes indican qué editar

  • transparent requiere png o webp
  • output_compression solo aplica a jpeg / webp

Respuesta

200Éxito síncrono

202Con Prefer: respond-async

created:opcionalinteger

Segundos Unix

data:obligatorioarray of object

Un elemento por imagen

usage:opcionalobject

Puede devolverse

Errores

400Parámetros no válidos (rechazo antes de generar, sin facturar)
401Falta la clave, la clave no es válida o ha caducado (missing_api_key / invalid_api_key / api_key_expired)
402Se agotó el saldo o la cuota de la clave, del miembro o del departamento (insufficient_quota)
404El modelo no está en el grupo de esta clave (model_not_found) o la ruta no pertenece a ese grupo (route_not_found)
413El cuerpo de la solicitud supera 60 MB (request_too_large)
429Se alcanzó el límite de concurrencia de la cuenta o de la clave (user_concurrency_limit / apikey_concurrency_limit), con Retry-After

Páginas relacionadas