Skip to main content
POST
POST /v1/images/edits El endpoint de imagen a imagen usa un cuerpo de solicitud multipart/form-data. Sube una o varias imágenes de referencia y envía el prompt y los parámetros como campos de formulario.
Usa https://bettertoken.ai/v1 como Base URL. Envía tu BetterToken API Key mediante Authorization: Bearer YOUR_API_KEY.
Puedes completar los campos del formulario y subir imágenes de referencia en el Playground de la derecha. Después, envía la solicitud directamente a https://bettertoken.ai/v1/images/edits.
No uses un cuerpo JSON normal para las solicitudes de imagen a imagen. Envía los campos de texto y archivo mediante multipart/form-data.

Valores recomendados

Envía estos campos de forma explícita en cada solicitud:
Usa image para una sola imagen de referencia. Para varias imágenes de referencia, repite el campo image[].

Una imagen de referencia

Varias imágenes de referencia

Edita una zona seleccionada con una máscara

Añade el campo de archivo opcional mask cuando quieras orientar la edición a una zona seleccionada. El endpoint actual de BetterToken admite un solo archivo en mask. No envíes campos mask[] repetidos.
  • La imagen original y la máscara deben tener el mismo formato y las mismas dimensiones en píxeles. Cada archivo debe pesar menos de 50 MB. Para obtener la máxima compatibilidad, usa PNG con canal Alpha en ambos archivos.
  • La máscara debe incluir un canal Alpha. Los píxeles totalmente transparentes (Alpha 0) marcan la zona que el modelo puede volver a dibujar. Los píxeles totalmente opacos (Alpha 255) indican al modelo que conserve esa zona.
  • Una imagen RGB normal en blanco y negro no es una máscara válida si no contiene realmente un canal Alpha.
  • Si envías varios campos image[], la máscara se aplica a la primera imagen de entrada.
  • La máscara orienta al modelo. No garantiza que los píxeles fuera de la zona transparente permanezcan exactamente iguales.

Edición con máscara en Python

Abre ambos archivos en una sola sentencia with para que Python los cierre después de la solicitud:

Comprueba los archivos antes de subirlos

Esta comprobación mínima con Pillow verifica los requisitos de formato, dimensiones y canal Alpha. Para una máscara local típica, también muestra una advertencia si el canal Alpha no incluye zonas totalmente transparentes y opacas:

Ejemplo con Python

Tamaños recomendados

size representa la proporción y el nivel de tamaño esperados. El servidor puede asignar o ajustar los píxeles devueltos. Usa las dimensiones de la imagen decodificada en lugar de recortar la salida por la fuerza al valor solicitado.

Guarda la imagen

Una respuesta correcta sigue la estructura de imagen compatible con OpenAI:
Lee data[0].b64_json y guárdalo como contenido de imagen en base64. Define siempre output_format: "png" para poder guardar la imagen decodificada como .png.

Flujo de respuesta

Este endpoint es síncrono. Después de enviar POST /images/edits, mantén abierta la solicitud HTTP hasta que responda el servidor. Cuando la generación se completa, el contenido de la imagen se devuelve en data[0].b64_json. El endpoint no devuelve un task_id, y no existe un endpoint separado para consultar el estado o descargar el resultado.

Documentación relacionada

Autorizaciones

Authorization
string
header
requerido

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Cuerpo

multipart/form-data
model
enum<string>
predeterminado:gpt-image-2
requerido

Use the GPT Image 2 model ID.

Opciones disponibles:
gpt-image-2
Ejemplo:

"gpt-image-2"

prompt
string
requerido

Instructions for editing the image or generating from reference images.

Ejemplo:

"Use this reference image to create a more polished square product hero image while preserving the main style."

image
file

The reference image field for a single input image.

image[]
file[]

Repeat this field for each input when sending multiple reference images.

mask
file

An optional single mask file. The mask and original image must have the same format and dimensions, each file must be smaller than 50 MB, and the mask must contain an Alpha channel. For maximum compatibility, use PNG with an Alpha channel for both files. With multiple image[] inputs, the mask applies to the first image.

n
predeterminado:1

Use 1. Send separate requests when you need multiple output images.

Ejemplo:

"1"

size
enum<string>
predeterminado:1024x1024

The requested image size or aspect-ratio tier. The server may map or adjust the final pixel dimensions, so inspect the decoded image for its actual size.

Opciones disponibles:
auto,
1024x1024,
1536x1024,
1024x1536,
1536x1152,
1152x1536,
2048x2048,
2048x1152,
3840x2160,
2160x3840
Ejemplo:

"1024x1024"

response_format
enum<string>
predeterminado:b64_json

Use b64_json.

Opciones disponibles:
b64_json
Ejemplo:

"b64_json"

output_format
enum<string>
predeterminado:png

Use png. Do not rely on jpeg or webp being returned directly in the selected format.

Opciones disponibles:
png
Ejemplo:

"png"

Respuesta

Image editing result.

created
integer
Ejemplo:

1710000000

data
object[]