API Посилання
Кінцеві точки, ключі, обмеження. Посилання на AI-ендпоїнти зображення — генерація, видалення, розширення — з автентифікацією, CORS та лімітами на частоту запитів.
Morph надає набір AI-послуг зображення за адресою api.morph.cool. Ці послуги живлять AI-функції Artboard і можуть використовуватися розробниками для створення інтеграцій.
https://api.morph.coolУсі запити використовують HTTPS. HTTP-запити відхиляються.
Автентифікація
AI-ендпоїнти зображення (генерація, видалення, розширення) не потребують автентифікації для базового використання. Вони обмежені за IP-адресою. Ендпоїнти, які модифікують дані користувача (перетворення, дзвінок, рейтинг), вимагають JWT-токена, переданого як Bearer у заголовку Authorization.
Authorization: Bearer <jwt_token>
Обмеження швидкості
Усі точки доступу обмежені за швидкістю, щоб запобігти зловживанню. Перевищення ліміту повертає 429 статус з JSON помилкою.
- Точки доступу Artboard AI — 10 запитів на хвилину на IP-адресу (зберігається у KV).
- Логування перетворень — вимагає автентифікації, окремий ліміт IP не потрібен.
- Звітування про помилки — 30 запитів на хвилину на IP.
- Список бажань — 10 запитів на хвилину на IP.
Створити зображення
POST /artboard/generate
Генерація зображень за текстом та inpainting. Надішліть холст зображення з маскою, щоб заповнити вибрані області на основі текстового промпта. Також підтримує режим опису, який повертає текстове описання зображення.
| Поле | Тип | Опис |
|---|---|---|
| запит | string | Текстове пояснення того, що генерувати. Не потрібно в режимі опису. |
| canvasImageобов’язкове | string | Base64-кодований PNG вмісту холсту. |
| maskImage | string | Base64-кодований PNG маски вибору. Білий = область для заповнення. Необхідно для inpainting, не потрібно для describe. |
| режим | string | Встановіть значення "описати" для режиму опису зображення. Пропустіть для генерації. |
Відповідь генерації:
{
"result": "<base64_png_string>"
}
Опис відповіді:
{
"result": "A detailed text description of the image content."
}
Валідація: У режимі опису PNG-зображення повинно мати розмір не менше 64×64 пікселів. Зображення меншого розміру повертає помилку REGION_TOO_SMALL.
Видалити об'єкт
POST /artboard/remove
AI-масштабування видалення об'єкта. Намалюйте об'єкт у масці, і модель заповнить область контекстуально відповідним вмістом.
| Поле | Тип | Опис |
|---|---|---|
| canvasImageобов’язкове | string | Base64-кодований PNG з холсту. |
| maskImagerequired | string | Base64-кодований PNG маска. Біле = область для видалення. |
Відповідь:
{
"result": "<base64_png_string>"
}
Генеративний розширення
POST /artboard/expand
Розширте полотно в заданому напрямку. Штучний інтелект заповнює нову область вмістом, що відповідає існуючому зображенню. Використовує розширення краю пікселів для контексту.
| Поле | Тип | Опис |
|---|---|---|
| canvasImageобов’язкове | string | Base64-кодоване PNG-зображення холсту. Має бути 64–4096px на кожній стороні. |
| directionrequired | string | Одне з: left, right, top, bottom, all. |
| expandPxобов'язково | number | Пікселі для розширення. Діапазон: 64–512. |
| запит | string | Необов'язковий текстовий промпт для керування згенерованим вмістом. |
Відповідь:
{
"result": "<base64_png_string>"
}
Перевірка: Джерельне зображення повинно мати розмір 64–4096 пікселів по кожній стороні. Розширений холст не повинен перевищувати 4096 пікселів у будь-якому вимірі. Нарушенні призводять до помилок REGION_TOO_SMALL або CANVAS_TOO_LARGE.
Відповіді на помилки
Усі точки входу повертають відповіді помилок у форматі JSON з полем error:
{
"error": "RATE_LIMITED"
}
Поширені коди помилок:
- ОБМЕЖЕННЯ_ПО_РАХУНКУ — занадто багато запитів. Зачекайте та спробуйте ще раз.
- РОЗМІР_ЗАМЕЛЕНШИЙ — розміри зображення нижче 64×64 пікселів мінімум.
- ЗАВЕРШЕНО_ЗАБЕРІЖЕННЯ — розширений холст перевищує ліміт 4096px.
- MISSING_FIELDS — не надано обов'язкове поле.
Примітки
- Модель ШІ — всі точки входу inpainting використовують Stable Diffusion v1.5 через Cloudflare Workers AI. Кількість кроків інференції обмежена 20.
- Формат зображення — всі зображення повинні бути закодованими у base64 PNG.
- Приватність — зображення оброблюються в оперативній пам'яті та не зберігаються, не логуються та не використовуються для навчання моделей.
- CORS — точки призначення приймають запити від
morph.cool,www.morph.coolтаlocalhost:5173. - Тайм-аут — клієнт повинен встановити тайм-аут 30 секунд. Обробка на сервері рідко перевищує 15 секунд.