API Riferimento
Gli endpoint, le chiavi, il limiti. Riferimento per gli endpoint di immagini AI — genera, rimuovi, espandi — con autenticazione, CORS e limiti di frequenza.
Morph espone un insieme di endpoint AI per immagini all'indirizzo api.morph.cool. Questi endpoint alimentano le funzionalità AI di Artboard e possono essere utilizzati da sviluppatori che costruiscono integrazioni.
https://api.morph.coolTutte le richieste utilizzano HTTPS. Le richieste HTTP vengono rifiutate.
Autenticazione
Gli endpoint AI per immagini (genera, rimuovi, espandi) non richiedono autenticazione per l'uso base. Sono limitati per indirizzo IP. Gli endpoint che modificano i dati utente (conversioni, campana, classifica) richiedono un token JWT passato come Bearer token nell'intestazione Authorization.
Authorization: Bearer <jwt_token>
Limiti di velocità
Tutti gli endpoint sono soggetti a limiti di frequenza per prevenire abusi. Superare il limite restituisce uno stato 429 con un errore JSON.
- Punti finali Artboard AI — 10 richieste al minuto per IP (supportato da KV).
- Registrazione delle conversioni — richiede autenticazione, nessun limite IP separato.
- Rapporto errori — 30 richieste al minuto per IP.
- Lista d'attesa — 10 richieste al minuto per IP.
Genera Immagine
POST /artboard/generate
Generazione testo-immagine e inpainting. Invia un'immagine canvas con una maschera per riempire le regioni selezionate in base a un prompt testuale. Supporta anche una modalità descrivi che restituisce una descrizione testuale dell'immagine.
| Campo | Tipo | Descrizione |
|---|---|---|
| prompt | stringa | Descrizione testuale di ciò che generare. Non richiesta in modalità describe. |
| canvasImagerichiesto | stringa | PNG codificato in Base64 del contenuto della tela. |
| maskImage | stringa | PNG codificato in Base64 della maschera di selezione. Bianco = area da riempire. Richiesto per l'inpainting, non necessario per descrivere. |
| modalità | stringa | Imposta su "describe" per la modalità descrizione immagine. Ometti per la generazione. |
Risposta alla generazione:
{
"result": "<base64_png_string>"
}
Descrivi la risposta:
{
"result": "A detailed text description of the image content."
}
Convalida: In modalità descrizione, il PNG deve essere almeno 64×64 pixel. Immagini più piccole restituiscono un errore REGION_TOO_SMALL.
Rimozione oggetti
POST /artboard/remove
Rimozione di oggetti potenziata dall'IA. Disegna su un oggetto nella maschera e il modello riempie l'area con contenuti appropriati contestualmente.
| Campo | Tipo | Descrizione |
|---|---|---|
| canvasImagerichiesto | stringa | PNG codificato in Base64 della tela. |
| maskImagerichiesto | stringa | Maschera PNG codificata in Base64. Bianco = area da rimuovere. |
Risposta:
{
"result": "<base64_png_string>"
}
Espansione generativa
POST /artboard/expand
Espandi la tela in una direzione specifica. L'IA riempie l'area nuova con contenuti che corrispondono all'immagine esistente. Utilizza l'estensione dei pixel di bordo per il contesto.
| Campo | Tipo | Descrizione |
|---|---|---|
| canvasImagerichiesto | stringa | PNG codificato in Base64 della canvas. Deve essere 64–4096px su ogni lato. |
| direzionerichiesta | stringa | Uno di: left, right, top, bottom, all. |
| expandPxrichiesto | numero | Pixel da espandere. Intervallo: 64–512. |
| prompt | stringa | Prompt testuale opzionale per guidare il contenuto generato. |
Risposta:
{
"result": "<base64_png_string>"
}
Convalida: L'immagine sorgente deve avere dimensioni comprese tra 64 e 4096px su ciascun lato. La tela espansa non deve superare i 4096px in nessuna dimensione. Le violazioni restituiscono errori REGION_TOO_SMALL o CANVAS_TOO_LARGE.
Risposte di errore
Tutti gli endpoint restituiscono risposte di errore JSON con un campo error:
{
"error": "RATE_LIMITED"
}
Codici di errore comuni:
- RATE_LIMITED — troppe richieste. Attendere e riprovare.
- REGION_TOO_SMALL — le dimensioni dell'immagine sono inferiori a 64×64px minimi.
- CANVAS_TOO_LARGE — la canvas espansa supera il limite di 4096px.
- MISSING_FIELDS — un campo obbligatorio non è stato fornito.
Note
- Modello AI — tutti gli endpoint di inpainting utilizzano Stable Diffusion v1.5 tramite Cloudflare Workers AI. Il numero di passi di inferenza è limitato a 20.
- Formato immagine — tutte le immagini devono essere PNG codificati in base64.
- Privacy — images are processed in-memory and are not stored, logged, or used for model training.
- CORS — endpoint accettano richieste da
morph.cool,www.morph.coolelocalhost:5173. - Timeout — il client dovrebbe impostare un timeout di 30 secondi. L'elaborazione lato server raramente supera i 15 secondi.