OpenAI: GPT Image 1 Mini
GPT Image 1 Mini crea y edita imágenes a partir de texto y referencias visuales dentro de la familia GPT Image 1. Admite tamaños de salida estándar, máscaras y formatos de imagen habituales, con fidelidad de entrada baja en lugar de la opción de alta fidelidad de GPT Image 1.
- Ailoot Ultra · Imágenes
POST /v1/images/generationsopenai/gpt-image-1-mini - Ailoot Ultra · Imágenes
POST /v1/images/generationsgpt-image-1-mini
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
GPT Image 1 Mini es la variante Mini de la familia GPT Image 1 de OpenAI. Acepta texto e imágenes y produce imágenes mediante los flujos de generación y edición del proveedor. Utilízalo para encargos creativos habituales, conceptos visuales y cambios en una imagen proporcionada cuando los controles documentados de la edición Mini se ajusten a la tarea. Prepara la tarea con los tamaños de imagen estándar y la fidelidad de entrada baja de Mini.
Para una imagen nueva, describe el sujeto, la escena, la luz, la composición y el estilo. Para una edición, identifica el cambio requerido y los elementos de origen que deben seguir siendo reconocibles. Un encargo de ilustración sencillo puede pedir una bicicleta de reparto junto a una puerta, formas amplias y limpias y una paleta sobria; una instrucción posterior puede cambiar el fondo y conservar la composición elegida. Los flujos directos documentados aceptan hasta 32,000 caracteres de instrucciones textuales y entre una y diez salidas, que pueden ofrecer alternativas para revisar.
La edición puede utilizar hasta dieciséis imágenes de entrada. Explica qué imagen aporta el sujeto principal, el entorno o el tratamiento visual para que esas funciones no sean ambiguas. GPT Image 1 Mini solo admite low en input_fidelity. El ajuste high disponible en GPT Image 1 no es una opción para Mini. La fidelidad de entrada es independiente de la calidad de renderizado de salida: elegir una salida de alta calidad no activa un modo diferente de conservación de la fuente. Explicita los requisitos de conservación e inspecciona los detalles pertinentes de la fuente en el elemento resultante.
Una máscara puede orientar un cambio solicitado en una zona seleccionada. La fuente y la máscara necesitan el mismo formato y las mismas dimensiones, y la máscara requiere un canal alfa; la guía de generación de imágenes establece un requisito de tamaño inferior a 50 MB. Con varias imágenes de origen, la máscara se aplica a la primera. Un encargo concreto puede cambiar el color de un objeto y conservar el encuadre general de la escena. La máscara es una guía basada en instrucciones textuales, no una frontera geométrica garantizada, por lo que debes comprobar la zona adyacente además del cambio previsto.
Los tamaños de imagen estándar son 1024 × 1024, 1536 × 1024 y 1024 × 1536 píxeles, con selección automática cuando se admita. Las opciones de calidad de renderizado son low, medium, high y auto. Son independientes de la fidelidad de entrada de Mini, que se limita al nivel bajo. Las dimensiones personalizadas de alta resolución y los niveles xhigh o max de ediciones posteriores de GPT Image no forman parte de este perfil Mini. Elige un formato de imagen adecuado para su ubicación y un nivel de calidad apropiado para un borrador o un elemento terminado.
El proveedor admite salidas PNG, JPEG y WebP, con PNG como formato predeterminado. JPEG y WebP permiten compresión de 0 a 100. Los fondos transparentes, opacos y automáticos responden a requisitos de composición distintos; selecciona PNG o WebP cuando necesites un canal alfa. Un objeto transparente puede colocarse en una composición separada, mientras que una escena opaca incluye su propio fondo. Conserva el archivo de salida seleccionado en lugar de tratar la representación codificada utilizada para entregarlo como el elemento de diseño final.
La referencia de imágenes del proveedor documenta transmisión en continuo con hasta tres imágenes parciales antes de la finalización. Una vista previa puede mostrar el progreso, pero solo debe conservarse la imagen final como resultado terminado. Para una secuencia de ediciones, proporciona de nuevo la imagen elegida junto con la siguiente instrucción concreta. La interfaz del fabricante también admite procesamiento por lotes.
Revisa la rotulación de la imagen, los detalles sensibles a la composición y el aspecto de los objetos de origen frente al encargo. GPT Image aún puede tener dificultades con la colocación precisa del texto, las composiciones estructuradas y la coherencia de motivos recurrentes entre generaciones. Utiliza el resultado elegido para una edición más acotada cuando deba cambiar un detalle visible, manteniendo claros tanto el cambio como los requisitos de conservación. Un resultado útil de Mini es una imagen completa para una tarea creativa definida, preparada con los tamaños estándar y los controles de fidelidad que proporciona esta edición exacta.
Ailoot Ultra · Imágenes POST /v1/images/generations openai/gpt-image-1-mini
openai/gpt-image-1-miniopenai/gpt-image-1-minigpt-image-1-mini
Inicio
GPT Image 1 Mini crea y edita imágenes a partir de texto y referencias visuales dentro de la familia GPT Image 1. Admite tamaños de salida estándar, máscaras y formatos de imagen habituales, con fidelidad de entrada baja en lugar de la opción de alta fidelidad de GPT Image 1.
- Entradas aceptadas
- Texto · Imágenes
- Resultados
- Imágenes
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Imágenes POST /v1/images/generations
- Entrada
text,image- Salida
image
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites openai/gpt-image-1-mini | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud mínima: 1 | Predeterminado— |
Campoaspect_ratio | Tipostring | RequisitoOpcional | Valores y límites 1:1, 3:2, 2:3, auto | Predeterminado— |
Campoquality | Tipostring | RequisitoOpcional | Valores y límites auto, low, medium, high | Predeterminado— |
Campobackground | Tipostring | RequisitoOpcional | Valores y límites auto, transparent, opaque | Predeterminado— |
Campon | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 10 | Predeterminado— |
Campoinput_references | Tipoarray | RequisitoOpcional | Valores y límites Número mínimo de elementos: 0 Número máximo de elementos: 16 | Predeterminado— |
Campooutput_compression | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 0 Máximo: 100 | Predeterminado— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores y límites | Predeterminado— |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, prompt |
Parámetromaterial_types | Contratotext, image |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifas
Cómo se calcula el cargo definitivo
Las tarifas mostradas permiten estimar el costo antes de la generación. El cargo final se calcula a partir del costo registrado para la generación original. La duración medida de la salida y las cantidades estimadas no son la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $0.065536 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija por la generación completada. |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Imágenes
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-image-1-mini', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Imágenes
Descarga cada imagen recibida o guarda su contenido Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserva todos los resultados completados
Guarda todas las imágenes completadas; descarga cada URL recibida o decodifica su contenido Base64.
Conserva la respuesta completa y los encabezados, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.
Si es necesario revisar la respuesta original
Conserva el X-Client-Request-ID devuelto para la conciliación. Consulta únicamente los valores reales de task_id/asset_id devueltos o la biblioteca multimedia de tu propiedad; nunca construyas una URL de tarea a partir del ID de la operación ni vuelvas a enviar la solicitud de creación.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campocreated | Tipo |
Campodata[].url | Tipo |
Campodata[].b64_json | Tipo |
Campousage | Tipo |
Alias
Alias del modelo
Ailoot Ultra openai/gpt-image-1-mini, gpt-image-1-mini
Alias de rutas de métodos
/v1/images
ID de modelo relacionados
Ailoot Ultra · Imágenes POST /v1/images/generations gpt-image-1-mini
gpt-image-1-miniopenai/gpt-image-1-minigpt-image-1-mini
Inicio
GPT Image 1 Mini crea y edita imágenes a partir de texto y referencias visuales dentro de la familia GPT Image 1. Admite tamaños de salida estándar, máscaras y formatos de imagen habituales, con fidelidad de entrada baja en lugar de la opción de alta fidelidad de GPT Image 1.
- Entradas aceptadas
- Texto
- Resultados
- Imágenes
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · Imágenes POST /v1/images/generations
- Entrada
text- Salida
image
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites gpt-image-1-mini | Predeterminado— |
Campoprompt | Tipostring | RequisitoObligatorio | Valores y límites Longitud máxima: 32,000 | Predeterminado— |
Camposize | Tipostring | RequisitoOpcional | Valores y límites 1024x1024, 1536x1024, 1024x1536, auto | Predeterminadoauto |
Campobackground | Tipostring | RequisitoOpcional | Valores y límites transparent, opaque, auto | Predeterminadoauto |
Campomoderation | Tipostring | RequisitoOpcional | Valores y límites low, auto Condiciones: Usa auto para la moderación estándar de contenido. | Predeterminado— |
Campon | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 1 Máximo: 10 | Predeterminado1 |
Campoquality | Tipostring | RequisitoOpcional | Valores y límites auto, high, medium, low | Predeterminadoauto |
Campooutput_compression | Tipointeger | RequisitoOpcional | Valores y límites Mínimo: 0 Máximo: 100 Condiciones: Se aplica a la salida JPEG y WebP; envía el valor entero documentado. | Predeterminado100 |
Campooutput_format | Tipostring | RequisitoOpcional | Valores y límites webp, png, jpeg | Predeterminadopng |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites false Condiciones: Esta ruta devuelve una respuesta JSON completa. | Predeterminadofalse |
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratoprompt, model |
Parámetromaterial_types | Contratotext |
Parámetrooptional | Contratosize, background, moderation, n, quality, output_compression, output_format, stream |
Parámetroconditions | ContratoUn fondo transparente requiere PNG o WebP., La compresión de salida se aplica a JPEG o WebP., El método seleccionado genera a partir de texto. La edición y los controles de transmisión descritos para el fabricante son capacidades independientes. |
Ciclo de vida: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · El task_id real devuelto o el registro de la biblioteca multimedia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifas
Cómo se calcula el cargo definitivo
Las tarifas mostradas permiten estimar el costo antes de la generación. El cargo final se calcula a partir del costo registrado para la generación original. La duración medida de la salida y las cantidades estimadas no son la cantidad facturable final.
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo fast
- Sin especificar Cuando se selecciona el modo fast
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento usa el ajuste default
Tarifas estimadas para comparar
Precios por configuración
Relaciona cada cargo con las condiciones mostradas. Usa una tarifa para cada conjunto de configuraciones alternativas.
| Configuración | Tabla de tarifas | Cantidad prevista | Cargo |
|---|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cantidad prevista— | Cargo Entrada · Tokens de entrada · Estimación solo para comparar — / 1K tokens Salida · Tokens de salida · Estimación solo para comparar — / 1K tokens Entrada · Lectura de caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché · Estimación solo para comparar — / 1K tokens Entrada · Escritura en caché, 1 hora · Estimación solo para comparar — / 1K tokens |
| ConfiguraciónCosto estimado de generación | Tabla de tarifas— | Cantidad previstaestimación para una generación | Cargo Salida · Costo estimado de generación · Estimación solo para comparar $0.065536 estimación previa a la generación Esta estimación no es un cargo adicional ni una tarifa fija por la generación completada. |
Ailoot reserva un monto estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
Ailoot Ultra · Imágenes
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-1-mini', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Recibir y guardar resultados
Ailoot Ultra · Imágenes
Descarga cada imagen recibida o guarda su contenido Base64
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Otras consultas de contenido
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Conserva todos los resultados completados
Guarda todas las imágenes completadas; descarga cada URL recibida o decodifica su contenido Base64.
Conserva la respuesta completa y los encabezados, todas las salidas reales, los identificadores originales devueltos y todos los campos de uso. Recupera la operación original sin volver a enviar la solicitud de creación.
Si es necesario revisar la respuesta original
Conserva el X-Client-Request-ID devuelto para la conciliación. Consulta únicamente los valores reales de task_id/asset_id devueltos o la biblioteca multimedia de tu propiedad; nunca construyas una URL de tarea a partir del ID de la operación ni vuelvas a enviar la solicitud de creación.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campocreated | Tipo |
Campodata[].url | Tipo |
Campodata[].b64_json | Tipo |
Campousage | Tipo |
Alias
Alias del modelo
Ailoot Ultra openai/gpt-image-1-mini, gpt-image-1-mini
Alias de rutas de métodos
/v1/images
ID de modelo relacionados
FAQ · OpenAI: GPT Image 1 Mini
- ¿Qué entradas y resultados están disponibles?
POST /v1/images/generations·openai/gpt-image-1-mini:text,image→imagePOST /v1/images/generations·gpt-image-1-mini:text→image- ¿Qué campos utiliza la solicitud?
POST /v1/images/generations·openai/gpt-image-1-mini:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,providerPOST /v1/images/generations·gpt-image-1-mini:model,prompt,size,background,moderation,n,quality,output_compression,output_format,stream- ¿Qué límites se aplican?
POST /v1/images/generations·openai/gpt-image-1-mini:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100POST /v1/images/generations·gpt-image-1-mini:prompt.maximum_length:32000;n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100