API Referencia
Los puntos finales, las claves, el límites. Referencia para los puntos finales de imagen de IA — generar, eliminar, expandir — con autenticación, CORS y límites de tasa.
Morph expone un conjunto de puntos finales de imagen impulsados por IA en api.morph.cool. Estos puntos finales impulsan las funciones de IA de Artboard y pueden ser utilizados por desarrolladores que construyen integraciones.
https://api.morph.coolTodas las solicitudes usan HTTPS. Las solicitudes HTTP se rechazan.
Autenticación
Los puntos finales de imagen de IA (generar, eliminar, expandir) no requieren autenticación para uso básico. Están limitados por dirección IP. Los puntos finales que modifican datos de usuario (conversiones, campana, clasificación) requieren un token JWT pasado como Bearer token en el encabezado Authorization.
Authorization: Bearer <jwt_token>
Límites de tasa
Todos los puntos finales están limitados por tasa para evitar abusos. Exceder el límite devuelve un estado 429 con un error JSON.
- Puntos finales de Artboard AI — 10 solicitudes por minuto por IP (respaldado por KV).
- Registro de conversiones — requiere autenticación, sin límite de IP separado.
- Informes de error — 30 solicitudes por minuto por IP.
- Lista de espera — 10 solicitudes por minuto por IP.
Generar imagen
POST /artboard/generate
Generación de imágenes a partir de texto e inpainting. Envía una imagen de lienzo con una máscara para rellenar regiones seleccionadas según un texto de indicación. También admite un modo describir que devuelve una descripción textual de la imagen.
| Campo | Tipo | Descripción |
|---|---|---|
| sugerencia | string | Descripción de texto de lo que generar. No requerido en modo describir. |
| canvasImagerequerido | string | PNG codificado en Base64 del contenido del lienzo. |
| maskImage | string | PNG codificada en Base64 de la máscara de selección. Blanco = área a rellenar. Requerido para inpainting, no necesario para describir. |
| modo | string | Establece a "describe" para el modo de descripción de imagen. Omite para generación. |
Respuesta de generación:
{
"result": "<base64_png_string>"
}
Describir respuesta:
{
"result": "A detailed text description of the image content."
}
Validación: En modo describir, la imagen PNG debe tener al menos 64×64 píxeles. Las imágenes más pequeñas devuelven un error REGION_TOO_SMALL.
Eliminar objeto
POST /artboard/remove
Eliminación de objetos con IA. Pinta sobre un objeto en la máscara y el modelo rellena el área con contenido contextualmente apropiado.
| Campo | Tipo | Descripción |
|---|---|---|
| canvasImagerequerido | string | Código Base64 de PNG del lienzo. |
| maskImagerequerido | string | Máscara PNG codificada en Base64. Blanco = área a eliminar. |
Respuesta:
{
"result": "<base64_png_string>"
}
Expandir generativo
POST /artboard/expand
Amplía el lienzo en una dirección determinada. La IA llena el área nueva con contenido que coincide con la imagen existente. Utiliza extensión de píxeles de borde para contexto.
| Campo | Tipo | Descripción |
|---|---|---|
| canvasImagerequerido | string | PNG codificado en Base64 del lienzo. Debe tener entre 64 y 4096 píxeles de lado. |
| direcciónrequerida | string | Uno de: left, right, top, bottom, all. |
| expandPxrequerido | número | Píxeles para expandir. Rango: 64–512. |
| sugerencia | string | Prompt de texto opcional para guiar el contenido generado. |
Respuesta:
{
"result": "<base64_png_string>"
}
Validación: La imagen de origen debe tener entre 64 y 4096 píxeles en cada lado. El lienzo expandido no debe exceder los 4096 píxeles en ninguna dimensión. Las violaciones devuelven errores REGION_TOO_SMALL o CANVAS_TOO_LARGE.
Respuestas de error
Todos los puntos finales devuelven respuestas de error JSON con un campo error:
{
"error": "RATE_LIMITED"
}
Códigos de error comunes:
- LÍMITE_DE_TASA — demasiadas solicitudes. Espere y vuelva a intentarlo.
- REGION_TOO_SMALL — las dimensiones de la imagen están por debajo de 64×64px mínimo.
- CANVAS_TOO_LARGE — el lienzo expandido excede el límite de 4096px.
- MISSING_FIELDS — un campo requerido no fue proporcionado.
Notas
- Modelo de IA — todos los puntos finales de inpainting usan Stable Diffusion v1.5 a través de Cloudflare Workers AI. Se limitan a 20 pasos de inferencia.
- Formato de imagen — todas las imágenes deben ser PNGs codificados en base64.
- Privacidad — las imágenes se procesan en memoria y no se almacenan, registran ni usan para entrenar modelos.
- CORS — los endpoints aceptan solicitudes desde
morph.cool,www.morph.coolylocalhost:5173. - Timeout — el cliente debe configurar un tiempo de espera de 30 segundos. El procesamiento del lado del servidor rara vez excede los 15 segundos.