Skip to Content

Images API

Dos endpoints: generación (texto → imagen) y edición (imagen + texto → imagen). Las respuestas siguen la estructura estándar de OpenAI data[0].b64_json.

Los modelos de imagen de la familia Gemini (como google/gemini-3.1-flash-image-preview) en este endpoint solo pueden generar, no editar. Para editar, utiliza el protocolo nativo de Gemini.

Generar imágenes

POST https://api.ofox.ai/v1/images/generations

Con gpt-image-2

gen.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") resp = client.images.generate( model="openai/gpt-image-2", prompt="A simple red apple on a white table", size="1024x1024", quality="low", output_format="png", ) with open("output.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json))

Resultado real:

Manzana roja generada por gpt-image-2

Con gemini-3.1-flash-image-preview

El mismo endpoint también acepta modelos de imagen de Gemini. No envíes n: el gateway lo mapea por error al campo numberOfImages y devuelve 400. Cada llamada genera 1 imagen.

gen_gemini.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") resp = client.images.generate( model="google/gemini-3.1-flash-image-preview", prompt="A simple red apple on a white table, photorealistic", size="1024x1024", quality="low", output_format="png", ) with open("output.png", "wb") as f: f.write(base64.b64decode(resp.data[0].b64_json))

Resultado real:

Manzana roja generada por Gemini

Parámetros

ParámetroTipoObligatorioDescripción
modelstringopenai/gpt-image-2, google/gemini-3.1-flash-image-preview
promptstringDescripción en lenguaje natural
qualitystringauto / low / medium / high / standard / hd
nnumber1–10, valor predeterminado 1. No compatible con modelos Gemini
sizestringauto / 1024x1024 / 1536x1024 / 1024x1536 / 256x256 / 512x512 / 1792x1024 / 1024x1792
output_formatstringpng / jpeg / webp
backgroundstringtransparent / opaque / auto
streambooleanPredeterminado false

Respuesta

{ "created": 1777385517, "data": [ { "b64_json": "<imagen Base64>", "index": 0 } ], "model": "openai/gpt-image-2", "size": "1024x1024", "quality": "low", "usage": { "input_tokens": 14, "input_tokens_details": { "text_tokens": 14 }, "output_tokens": 208, "total_tokens": 222 } }

La imagen está en data[0].b64_json; decodifícala desde base64 y guárdala.

Editar imágenes

POST https://api.ofox.ai/v1/images/edits

multipart/form-data, requiere subir un archivo de imagen.

Este endpoint solo admite modelos OpenAI / Azure OpenAI. Llamar a google/gemini-3.1-flash-image-preview devolverá Image editing is not supported for model. Usa el protocolo nativo de Gemini para editar imágenes.

Llamada

edit.py
import base64 from openai import OpenAI client = OpenAI(api_key="YOUR_OFOX_API_KEY", base_url="https://api.ofox.ai/v1") with open("apple.png", "rb") as f: resp = client.images.edit( model="openai/gpt-image-2", image=f, prompt="Cambia la manzana a verde, mantén todo lo demás igual", size="auto", quality="low", ) with open("apple_edited.png", "wb") as out: out.write(base64.b64decode(resp.data[0].b64_json))

El campo image recibe una ruta de archivo local (cURL usa el prefijo @), no una URL.

Comparación real:

OriginalEditada
Manzana roja originalManzana verde editada

Parámetros

ParámetroTipoObligatorioDescripción
modelstringRecomendado openai/gpt-image-2
imagefileArchivo PNG / JPEG
promptstringInstrucción de edición
qualitystringlow / medium / high
nnumberPredeterminado 1
sizestringauto mantiene el tamaño del original

Respuesta

Igual que la generación:

{ "created": 1777385669, "data": [ { "b64_json": "<imagen editada Base64>", "index": 0 } ], "model": "openai/gpt-image-2", "size": "auto", "quality": "low", "usage": { "input_tokens": 1041, "input_tokens_details": { "image_tokens": 1024, "text_tokens": 17 }, "num_input_images": 1, "output_tokens": 358, "total_tokens": 1399 } }

usage.input_tokens_details.image_tokens es el consumo de tokens de la imagen de entrada y num_input_images es el número de imágenes de entrada.

Consulta los modelos compatibles y precios en el catálogo de modelos .

Last updated on