API Referenz
Die Endpunkte, die Schlüssel, die Grenzen. Referenz für die AI-Bild-Endpunkte — generieren, entfernen, erweitern — mit Authentifizierung, CORS und Rate-Limits.
Morph exposes a set of AI-powered image endpoints at api.morph.cool. These endpoints power Artboard's AI features and can be used by developers building integrations.
https://api.morph.coolAlle Anfragen verwenden HTTPS. HTTP-Anfragen werden abgelehnt.
Authentifizierung
AI-Bild-Endpunkte (generieren, entfernen, erweitern) erfordern keine Authentifizierung für den grundlegenden Einsatz. Sie werden durch die IP-Adresse begrenzt. Endpunkte, die Benutzerdaten ändern (Konvertierungen, Glocke, Bestenliste), erfordern ein JWT-Token, das als Bearer-Token im Authorization-Header übergeben wird.
Authorization: Bearer <jwt_token>
Grenzen der Nutzung
Alle Endpunkte sind rate-limited, um Missbrauch zu verhindern. Überschreiten der Grenze gibt einen 429-Status mit einer JSON-Fehlermeldung zurück.
- Artboard AI-Endpunkte — 10 Anfragen pro Minute pro IP (KV-basiert).
- Konvertierungsprotokoll — erfordert Authentifizierung, keine separate IP-Beschränkung.
- Fehlerberichterstattung — 30 Anfragen pro Minute pro IP.
- Warteliste — 10 Anfragen pro Minute pro IP.
Bild generieren
POST /artboard/generate
Text-zu-Bild-Generierung und Inpainting. Senden Sie ein Canvas-Bild mit einer Maske, um ausgewählte Bereiche basierend auf einem Textprompt auszufüllen. Unterstützt auch einen Beschreibungsmodus, der eine Textbeschreibung des Bildes zurückgibt.
| Feld | Typ | Beschreibung |
|---|---|---|
| Prompt | string | Textbeschreibung, was generiert werden soll. Nicht erforderlich im Beschreibungsmodus. |
| canvasImageerforderlich | string | Base64-codierte PNG des Canvas-Inhalts. |
| maskImage | string | Base64-codierte PNG des Auswahlmasken. Weiß = Bereich zum Füllen. Erforderlich für Inpainting, nicht benötigt für Beschreiben. |
| Modus | string | Auf "beschreiben" setzen für den Bildbeschreibungsmodus. Weglassen für die Generierung. |
Generierungsantwort:
{
"result": "<base64_png_string>"
}
Antwort beschreiben:
{
"result": "A detailed text description of the image content."
}
Validierung: Im Beschreibungsmodus muss das PNG mindestens 64×64 Pixel groß sein. Kleinere Bilder geben einen REGION_TOO_SMALL-Fehler zurück.
Objekt entfernen
POST /artboard/remove
KI-gestützte Objekterkennung. Male über ein Objekt im Maskenbereich und das Modell füllt den Bereich mit kontextuell passendem Inhalt.
| Feld | Typ | Beschreibung |
|---|---|---|
| canvasImageerforderlich | string | Base64-codierte PNG des Canvas. |
| maskImageerforderlich | string | Base64-codierte PNG-Maske. Weiß = Bereich zum Entfernen. |
Antwort:
{
"result": "<base64_png_string>"
}
Generative Expand
POST /artboard/expand
Erweitern Sie die Leinwand in eine Richtung. Die KI füllt den neuen Bereich mit Inhalten, die dem vorhandenen Bild entsprechen. Verwendet Kantenpixelerweiterung für Kontext.
| Feld | Typ | Beschreibung |
|---|---|---|
| canvasImageerforderlich | string | Base64-codierte PNG des Canvas. Muss 64–4096px auf jeder Seite sein. |
| Richtungerforderlich | string | Einer von: left, right, top, bottom, all. |
| expandPxerforderlich | number | Pixel erweitern. Bereich: 64–512. |
| Prompt | string | Optionaler Textprompt, um den generierten Inhalt zu leiten. |
Antwort:
{
"result": "<base64_png_string>"
}
Validierung: Die Quellbildgröße muss 64–4096px auf jeder Seite betragen. Die erweiterte Leinwand darf keine Dimension über 4096px überschreiten. Verstöße führen zu den Fehlern REGION_TOO_SMALL oder CANVAS_TOO_LARGE.
Fehlerantworten
Alle Endpunkte geben JSON-Fehlerantworten mit einem error-Feld zurück:
{
"error": "RATE_LIMITED"
}
Häufige Fehlercodes:
- GESCHWINDIGKEITSBESCHRÄNKUNG — zu viele Anfragen. Warten und erneut versuchen.
- REGION_TOO_SMALL — Bildabmessungen unter 64×64px Minimum.
- CANVAS_ZU_GROSS — erweiterter Canvas überschreitet die 4096px-Grenze.
- MISSING_FIELDS — ein erforderliches Feld wurde nicht angegeben.
Hinweise
- KI-Modell — alle Inpainting-Endpunkte nutzen Stable Diffusion v1.5 über Cloudflare Workers AI. Die Inferenzschritte sind auf 20 begrenzt.
- Bildformat — alle Bilder müssen base64-kodierte PNGs sein.
- Privatsphäre — Bilder werden im Speicher verarbeitet und werden nicht gespeichert, protokolliert oder für das Modelltraining verwendet.
- CORS — Endpunkte akzeptieren Anfragen von
morph.cool,www.morph.coolundlocalhost:5173. - Timeout — der Client sollte einen 30-Sekunden-Timeout festlegen. Serverseitige Verarbeitung überschreitet selten 15 Sekunden.