Skip to Content
ModelosGPT ImageInpainting

Inpainting

Marque una zona con una máscara y repinte únicamente esa zona; todo lo demás se mantiene como estaba.

¿No va a escribir código? Consulte Generar imágenes en sus propias herramientas.

POST/v1/images/editsParámetros comunes

Antes de empezar

NecesitaDetalles
Clave de APICree una en la consola de OfoxAI  y sustituya YOUR_OFOX_API_KEY en el código
EntornocURL necesita jq para decodificar la imagen; Python necesita pip install openai, además de pip install pillow para generar la máscara; Node.js 18 o posterior, sin dependencias
ImágenesColoque un input.png y un mask.png del mismo tamaño en el directorio actual. ¿Aún no tiene máscara? El paso 1 siguiente muestra cómo crearla
Tiempo de esperaConfigure el tiempo de espera del cliente en 600 segundos. La alta calidad, los tamaños grandes o la edición pueden tardar varios minutos
Valores utilizados en el código
URL de la APIhttps://api.ofox.io/v1
ID de modeloopenai/gpt-image-2.5-flare
Clave de APISustituya YOUR_OFOX_API_KEY en el código por su clave
Dependencias de Pythonpip install openai pillowpillow se utiliza para crear la máscara

Requisitos de la máscara

Original
+
Máscaracentro transparente, opaco en el resto
→
Resultadosolo se repinta la zona transparente

Ilustración, no es un resultado generado real

  • Un PNG con canal alfa. JPEG y PNG opaco no funcionan.
  • Exactamente del mismo tamaño que la imagen original.
  • Los píxeles transparentes se repintan; los píxeles opacos conservan el original.
  • Solo funciona en el endpoint de edición. Si se envía a texto a imagen, se ignora.

Pasos

Crear una máscara

Omita este paso si ya dispone de una.

Este fragmento lee input.png del directorio actual, hace transparente el cuadrado central del 40 % y lo guarda como mask.png.

make_mask.py
from PIL import Image, ImageDraw src = Image.open("input.png") mask = Image.new("RGBA", src.size, (0, 0, 0, 255)) # fully opaque = keep everything w, h = src.size ImageDraw.Draw(mask).rectangle( # transparent area = what gets repainted (int(w * 0.3), int(h * 0.3), int(w * 0.7), int(h * 0.7)), fill=(0, 0, 0, 0) ) mask.save("mask.png")

Enviar la petición

Todos los ejemplos siguientes se han ejecutado tal cual. El resultado se guarda como output.png en el directorio actual.

Terminal
# mask.png: same size as input.png, with an alpha channel; transparent area = what gets repainted curl -s https://api.ofox.io/v1/images/edits \ -H "Authorization: Bearer YOUR_OFOX_API_KEY" \ -F "model=openai/gpt-image-2.5-flare" \ -F "image=@input.png" \ -F "mask=@mask.png" \ -F "prompt=An orange cat sitting in the center, background and everything else unchanged" \ -F "quality=low" \ -o response.json jq -r '.data[0].b64_json' response.json | base64 --decode > output.png

Redactar la instrucción

Describa la imagen completa tal como debe quedar, no solo lo que hay que añadir.

InstrucciónResultado medido
✅Un gato naranja sentado en el centro, el fondo y todo lo demás sin cambiosUn gato en el centro; el resto sin cambios
❌Dibuje un gato en la zona transparenteEl modelo interpretó «transparente» como contenido y dibujó un fondo de cuadros

Resultado medido

Fuera de la máscara, la imagen apenas cambia: la diferencia media de píxeles respecto al original es inferior a 2/255.

Como comparación, editar la misma imagen sin máscara modificó esa misma zona en 120/255.

Solución de problemas

SíntomaCausaSolución
Error Invalid image file or modeLa máscara no es un PNG con canal alfaVuelva a generarla con el código del paso 1 anterior
Ha cambiado toda la imagenLa máscara no tuvo efecto: se envió al endpoint de texto a imagen, o la máscara es totalmente opacaCompruebe que llama a /v1/images/edits y que la máscara tiene una zona transparente
Ha aparecido un fondo de cuadrosLa instrucción mencionaba «la zona transparente»Describa la imagen completa, como se indica en Redactar la instrucción

Para otros errores, consulte la tabla completa de errores.

Documentación oficial

La documentación de OpenAI describe el comportamiento al llamar directamente a OpenAI. Cuando llama a través de OfoxAI, prevalecen los resultados medidos en estas páginas. Por ejemplo, no es necesario fijar un proveedor para la edición.

Last updated on