Generar una imagen
Crea imágenes con la API de Imágenes de ShareAI utilizando un modelo compatible, un texto de entrada y opciones de generación de imágenes validadas.
En esta página
https://api.shareai.now/api/v1/images/generationsGenerar una imagen a partir de un texto de entrada.
- URL base
https://api.shareai.now- Autenticación
- Clave API Bearer o token de acceso OAuth aprobado
Usa un modelo de imágenes actualmente habilitado en ShareAI y permitido por tus credenciales. El modelo determina qué tamaños, niveles de calidad y opciones de salida admite.
Envía una solicitud#
cURL
curl --fail-with-body --request POST \
"https://api.shareai.now/api/v1/images/generations" \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "YOUR_IMAGE_MODEL",
"prompt": "A quiet forest painted in watercolor.",
"n": 1,
"size": "1024x1024"
}'
Python
import json
import os
import urllib.request
headers = {"Authorization": "Bearer " + os.environ["SHAREAI_API_KEY"]}
headers["Content-Type"] = "application/json"
payload = {'model': 'YOUR_IMAGE_MODEL', 'prompt': 'A quiet forest painted in watercolor.', 'n': 1, 'size': '1024x1024'}
data = json.dumps(payload).encode()
request = urllib.request.Request('https://api.shareai.now/api/v1/images/generations', data=data, headers=headers, method='POST')
with urllib.request.urlopen(request, timeout=180) as response:
print(json.load(response))
TypeScript
const url = "https://api.shareai.now/api/v1/images/generations";
const headers: Record = {
Authorization: `Bearer ${process.env.SHAREAI_API_KEY}`,
};
headers["Content-Type"] = "application/json";
const payload = {
"model": "YOUR_IMAGE_MODEL",
"prompt": "A quiet forest painted in watercolor.",
"n": 1,
"size": "1024x1024"
};
const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(payload) });
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
console.log(await response.json());
Campos de solicitud#
| Campo | Valor |
|---|---|
model | Un ID de modelo de generación de imágenes habilitado. |
prompt | Una descripción de texto no vacía. |
n | Número de imágenes, de 1 a 10, sujeto a la compatibilidad del modelo. |
size / quality | Valores opcionales de tamaño y calidad compatibles con el modelo. |
response_format / output_format | Configuraciones opcionales de respuesta y formato de archivo compatibles con el modelo. |
background | Configuración opcional de fondo compatible con el modelo. |
Leer la imagen#
Inspecciona las data entradas devueltas. Dependiendo del modelo y el formato solicitado, una entrada contiene una URL de imagen HTTPS o datos de imagen en base64. Usa el formato devuelto real; no asumas que todos los proveedores devuelven una URL. La API no descarga las URLs de imágenes devueltas por ti.
Límites de tamaño y tiempo#
Las solicitudes son síncronas. El texto combinado está limitado a 256 KiB, la llamada al proveedor a 120 segundos y la respuesta a 2 MiB. Las imágenes grandes en base64 pueden exceder ese límite de respuesta. Selecciona un tamaño de salida adecuado o un modelo que admita salida en URL.
Reintentar con cuidado#
Generar una imagen puede generar costos. Después de un tiempo de espera o un fallo de red ambiguo, verifica la actividad antes de reintentar; repetir la solicitud puede generar y cobrar por otra imagen. La API no reintenta automáticamente una solicitud de imagen después de enviarla a un proveedor.
Operaciones compatibles#
Esta ruta genera imágenes a partir de texto. Las ediciones de imágenes, variaciones, cargas multipartes y generación de imágenes en streaming no son compatibles. La facturación actual requiere un contrato de uso de tokens compatible con el modelo/proveedor; los proveedores solo por imagen pueden no estar disponibles.
Usar autorización del cliente#
Para un flujo OAuth aprobado, envía el token de acceso como Bearer. La generación de imágenes financiada por cuenta requiere surcharge y un plan de uso aceptado. Todas las restricciones de modelo, proveedor y cuenta permanecen vigentes.
Última actualización septiembre 15, 2026