GetAPI.ONE
Generar imágenes con GetAPI.ONE
Seleccione un modelo de imagen del catálogo actual, envíe la solicitud declarada más pequeña a la ruta de imágenes ONE, valide la estructura de respuesta y almacene la salida de forma segura.
Preparar una solicitud compatible
- Abra el catálogo actual y seleccione un modelo cuyo endpoint declarado sea generación de imágenes.
- Revise los precios en vivo antes de una llamada facturable; esta guía no fija precios.
- Empiece con una salida y solo los campos indicados en el contrato del modelo.
POST https://www.getapi.one/v1/images/generationsEnviar una generación mínima
- Defina GETAPI_ONE_API_KEY en el entorno de un proceso fiable.
- Copie el ID exacto del modelo de imagen del catálogo actual.
- Describa sujeto, composición y restricciones en la instrucción.
- Solicite primero un resultado y amplíe campos opcionales solo tras confirmar la compatibilidad del modelo.
- Decodifique localmente la salida base64 con límites. Si la respuesta contiene una URL, regístrela para un descargador aprobado con reglas explícitas de salida y hosts y revalidación de redirecciones, en lugar de acceder a ella desde el proceso API.
curl --fail-with-body https://www.getapi.one/v1/images/generations \
-H "Authorization: Bearer $GETAPI_ONE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "<IMAGE_MODEL_ID_FROM_CURRENT_CATALOG>",
"prompt": "A clean product diagram of a secure server-side API flow",
"n": 1
}' > image-response.jsonimport base64
import json
from pathlib import Path
from urllib.parse import urlsplit
payload = json.loads(Path("image-response.json").read_text(encoding="utf-8"))
item = payload["data"][0]
if item.get("b64_json"):
image_bytes = base64.b64decode(item["b64_json"], validate=True)
if len(image_bytes) > 25 * 1024 * 1024:
raise ValueError("Image exceeds the local 25 MB safety limit")
Path("generated-image.bin").write_bytes(image_bytes)
elif item.get("url"):
url = item["url"]
parsed = urlsplit(url)
if parsed.scheme != "https" or not parsed.hostname:
raise ValueError("Refusing an invalid or non-HTTPS image URL")
# Do not dereference provider-controlled URLs from a generic server example.
# Give this record to an approved downloader that enforces your egress and
# host policy, rejects private/link-local/loopback destinations, revalidates
# every redirect, sends no ONE credential, and bounds the response bytes.
Path("generated-image-url.txt").write_text(url, encoding="utf-8")
print("URL recorded for an egress-controlled downloader")
else:
raise ValueError("Expected data[0].url or data[0].b64_json")
Evaluar el resultado
| Comprobación | Condición de aprobación |
|---|---|
| Fidelidad a la instrucción | Están presentes el sujeto y la composición requeridos. |
| Seguridad y derechos | La salida es adecuada para el público previsto y dispone de derechos sobre las entradas proporcionadas. |
| Contrato de respuesta | Revise data[0].url o data[0].b64_json, valídelo y guarde los bytes devueltos. |
| Registro operativo | Se registran ID del modelo, versión de la instrucción, ID de solicitud si existe y resultado, sin la clave. |
Verificar el resultado esperado
- La solicitud HTTP tiene éxito y el cuerpo contiene la estructura de imagen devuelta por el modelo elegido.
- El archivo base64 decodificado se abre como el tipo de imagen esperado; o se registra la URL y luego se recupera únicamente mediante el descargador aprobado con control de salida.
- La consola ONE registra la solicitud o el uso correspondiente.
Corregir errores de solicitudes de imagen
| Síntoma | Acción |
|---|---|
| Parámetro no compatible | Quite los campos opcionales de tamaño, calidad, formato o cantidad hasta confirmarlos para ese modelo exacto. |
| Salida vacía o inutilizable | Revise el cuerpo JSON completo y maneje su campo real de URL o datos codificados; no suponga un formato único de proveedor. |
| Rechazo por políticas o entrada | Modifique la entrada en lugar de reenviar repetidamente la misma solicitud. |
Almacenar entradas y salidas con seguridad
- Mantenga las claves en el servidor y valide longitud de la instrucción, cantidad de salidas y campos opcionales antes del reenvío.
- No envíe imágenes confidenciales ni datos personales salvo que lo permita su gestión de datos aprobada.
- Considere temporales las URL devueltas salvo indicación explícita contraria del contrato; copie las salidas aprobadas a almacenamiento controlado.
- Nunca reenvíe el encabezado Authorization de GetAPI.ONE a una URL de imagen devuelta.
- Trate las URL devueltas como entradas no fiables: aplique una política explícita de salida y hosts, bloquee destinos privados, de enlace local y de bucle local, y vuelva a validar cada redirección en el descargador dedicado.