Saltar al contenido

Edición de imágenes

POST /v1/images/edits recibe una imagen existente y un prompt, y devuelve una imagen modificada: un fondo nuevo, un objeto eliminado, un estilo aplicado. Sigue el formato de edición de imágenes de OpenAI, así que client.images.edit funciona cambiando la URL base. Los modelos de imagen que generan también editan; consulta la página de modelos.

Sube un archivo

curl https://api.inferray.com/v1/images/edits \
  -H "Authorization: Bearer $INFERRAY_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image=@product.png" \
  -F "prompt=Put the product on a marble countertop in soft morning light"
import fs from "node:fs";
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.inferray.com/v1", apiKey: process.env.INFERRAY_API_KEY });

const result = await client.images.edit({
  model: "gpt-image-2",
  image: fs.createReadStream("product.png"),
  prompt: "Put the product on a marble countertop in soft morning light",
});

fs.writeFileSync("edited.png", Buffer.from(result.data[0].b64_json, "base64"));

El campo multipart puede llamarse image, image[] o file. Solo se usa el primer archivo de imagen. Agrega un archivo mask —un PNG cuyas áreas transparentes indican dónde editar— en los modelos que admiten máscaras.

Envía URLs de imagen como JSON

curl https://api.inferray.com/v1/images/edits \
  -H "Authorization: Bearer $INFERRAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3-pro-image-preview",
    "images": [{ "image_url": "https://example.com/room.jpg" }],
    "prompt": "Repaint the walls sage green",
    "n": 1
  }'

La respuesta

La misma estructura que la generación de imágenes: un array data con una entrada por imagen, cada una con b64_json. Decodifícalo y guarda los bytes.

Opciones y precios

size, quality, n y el formato de salida funcionan cuando el modelo los admite; la página del modelo indica sus valores. La edición tiene el mismo precio que la generación —por imagen, por resolución o por token, según el modelo— y se muestra en la página del modelo.

La edición de imágenes se cobra al saldo de pago por uso; las claves de Token Plan se rechazan en este endpoint.