API Référence
Les points de terminaison, les clés, le limites. Référence pour les points de terminaison d'image IA — générer, supprimer, étendre — avec authentification, CORS et limites de débit.
Morph expose un ensemble d'API d'image alimentées par l'IA à api.morph.cool. Ces API alimentent les fonctionnalités IA d'Artboard et peuvent être utilisées par les développeurs pour créer des intégrations.
https://api.morph.coolToutes les requêtes utilisent HTTPS. Les requêtes HTTP sont rejetées.
Authentification
Les points d'API d'image IA (génération, suppression, extension) ne nécessitent pas d'authentification pour une utilisation basique. Ils sont limités par adresse IP. Les points d'API qui modifient les données utilisateur (conversions, cloche, classement) nécessitent un jeton JWT transmis en tant que Bearer dans l'en-tête Authorization.
Authorization: Bearer <jwt_token>
Limites de taux
Tous les points d'accès sont limités en débit pour éviter les abus. Dépasser la limite renvoie un statut 429 avec une erreur JSON.
- Points d'entrée Artboard AI — 10 requêtes par minute par IP (stocké en mémoire).
- Journalisation de conversion — nécessite une authentification, pas de limite d'IP séparée.
- Rapport d'erreurs — 30 requêtes par minute par adresse IP.
- Waitlist — 10 demandes par minute par IP.
Générer une image
POST /artboard/generate
Génération d'images à partir de texte et retouche par texte. Envoyez une image de canevas avec un masque pour remplir les régions sélectionnées en fonction d'une requête textuelle. Prend également en charge un mode décrire qui renvoie une description textuelle de l'image.
| Champ | Type | Description |
|---|---|---|
| invite | string | Description texte de ce à générer. Non requis en mode describe. |
| canvasImagerequis | string | PNG encodé en Base64 du contenu de la toile. |
| maskImage | string | PNG encodé en Base64 du masque de sélection. Blanc = zone à remplir. Requis pour l'inpainting, pas nécessaire pour décrire. |
| mode | string | Définissez sur "describe" pour le mode de description d'image. Omettez pour la génération. |
Réponse de génération :
{
"result": "<base64_png_string>"
}
Décrire la réponse :
{
"result": "A detailed text description of the image content."
}
Validation : En mode description, la PNG doit mesurer au moins 64×64 pixels. Les images plus petites renvoient une erreur REGION_TOO_SMALL.
Supprimer l'objet
POST /artboard/remove
Suppression d'objet par IA. Dessinez sur un objet dans le masque et le modèle remplit la zone avec un contenu adapté au contexte.
| Champ | Type | Description |
|---|---|---|
| canvasImagerequis | string | Image PNG encodée en Base64 du canevas. |
| maskImagerequired | string | Masque PNG encodé en Base64. Blanc = zone à supprimer. |
Réponse :
{
"result": "<base64_png_string>"
}
Générer l'extension
POST /artboard/expand
Étendez la toile dans une direction donnée. L'IA remplit la nouvelle zone avec du contenu correspondant à l'image existante. Utilise l'extension de pixels aux bords pour le contexte.
| Champ | Type | Description |
|---|---|---|
| canvasImagerequis | string | PNG encodé en Base64 de la toile. Doit mesurer entre 64 et 4096 px sur chaque côté. |
| directionrequis | string | L'un des suivants : left, right, top, bottom, all. |
| expandPxrequis | number | Pixels à étendre. Plage : 64–512. |
| invite | string | Prompt de texte facultatif pour guider le contenu généré. |
Réponse :
{
"result": "<base64_png_string>"
}
Validation : L'image source doit mesurer entre 64 et 4096px sur chaque côté. La toile étendue ne doit pas dépasser 4096px dans aucune dimension. Les violations renvoient des erreurs REGION_TROP_PETITE ou TOILE_TROP_GRANDE.
Réponses d'erreur
Tous les points de terminaison renvoient des réponses d'erreur JSON avec un champ error :
{
"error": "RATE_LIMITED"
}
Codes d'erreur courants :
- TAUX_DE_SOLICITATIONS_TROP_ELEVE — trop de requêtes. Attendez et réessayez.
- REGION_TOO_SMALL — dimensions de l'image inférieures à 64×64px minimum.
- CANVAS_TROP_GRAND — la zone de dessin étendue dépasse la limite de 4096px.
- CHAMPS_MANQUANTS — un champ requis n'a pas été fourni.
Remarques
- Modèle IA — toutes les fins d'inpainting utilisent Stable Diffusion v1.5 via Cloudflare Workers AI. Les étapes d'inférence sont limitées à 20.
- Format d'image — toutes les images doivent être des PNG encodés en base64.
- Confidentialité — les images sont traitées en mémoire et ne sont pas stockées, enregistrées ou utilisées pour l'entraînement des modèles.
- CORS — les points de terminaison acceptent les requêtes provenant de
morph.cool,www.morph.cooletlocalhost:5173. - Délai d'expiration — le client doit définir un délai d'expiration de 30 secondes. Le traitement côté serveur dépasse rarement 15 secondes.