Pengeditan gambar
POST /v1/images/edits menerima gambar yang sudah ada dan sebuah prompt dan mengembalikan gambar yang diubah: latar belakang baru, objek yang dihapus, gaya yang diterapkan. Ini mengikuti format pengeditan gambar OpenAI, sehingga client.images.edit berfungsi dengan base URL yang diubah. Model gambar yang menghasilkan juga mengedit — lihat halaman model.
Mengunggah file
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"));
Field multipart dapat bernama image, image[], atau file. Hanya file gambar pertama yang digunakan. Tambahkan file mask — PNG yang area transparannya menandai bagian yang akan diedit — pada model yang mendukung mask.
Mengirim URL gambar sebagai 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
}'
Respons
Bentuknya sama dengan pembuatan gambar: array data dengan satu entri per gambar, masing-masing berisi b64_json. Decode dan simpan byte-nya.
Opsi dan harga
size, quality, n, dan format output berfungsi jika didukung oleh model; halaman model mencantumkan nilai-nilainya. Harga pengeditan sama seperti pembuatan gambar — per gambar, berdasarkan resolusi, atau per token, tergantung modelnya — dan ditampilkan di halaman model.
Pengeditan gambar ditagihkan ke saldo pay-as-you-go; kunci Token Plan ditolak di endpoint ini.