Обидва інструменти приймають файл у multipart/form-data.
Покращення фото
POST /photo/enhance - область tools:photo, завдання. Одне фото за запит.
Частини форми:
| Частина | Опис |
|---|---|
image | фото - обов'язкове; JPEG, PNG або WebP до 25 МБ |
mask | тільки для cleanup: PNG-маска, біле - область, яку треба змінити |
data | параметри одним JSON-рядком - обов'язкове |
Параметри в data:
| Поле | Опис |
|---|---|
mode | enhance - світло, колір, різкість; cleanup - прибрати зайве; staging - мебльувати порожню кімнату. За замовчуванням cleanup |
prompt | для cleanup і staging обов'язковий (3-500 символів): що прибрати або як облаштувати; для enhance необов'язковий |
intensity | light, medium (за замовчуванням), strong |
roomType | living, bedroom, kitchen, bathroom, dining, office, outdoor |
furnitureStyle | для staging: modern, scandinavian, industrial, luxury, minimalist, coastal |
autoMask | cleanup без своєї маски: знайти область автоматично |
seed | число для повторюваного результату |
negativePrompt | чого уникати, до 300 символів |
objectId, objectType | ваш об'єкт, якому належить фото (property або complex) |
curl -X POST https://developers.grem.capital/api/v1/photo/enhance \
-H "Authorization: Bearer gsk_live_xxx" \
-F 'data={"mode":"cleanup","prompt":"remove the chair and the boxes"}' \
-F "[email protected]"
Маска з режимом enhance чи staging відхиляється - там вона не працює, і гроші не списуються. Ціна залежить від режиму. Відмови: маска поза cleanup - 422 з code: MASK_NOT_SUPPORTED; інший тип файлу або файл понад 25 МБ - 422 з code: JOB_CREATE_FAILED; невідомий ключ у data - 400. Відповідь на запуск містить sku і priceMinor - скільки списується за виклик (немає, якщо його покриває квота плану).
Відповідь 202 з jobId. Готове завдання (GET /photo/enhance/jobs/{id}):
| Поле | Опис |
|---|---|
results | варіанти результату |
results[].variant | номер варіанта |
results[].url | адреса зображення |
results[].width, results[].height | розмір |
metadata.error | у завдання зі збоєм: причина, загальним текстом |
Файл варіанта: GET /artifacts/v1/ai/photo-enhancement/jobs/{jobId}/download/{variant}. Події - photo.completed / photo.failed.
Очищення планування
POST /floorplan/create - область tools:floorplan. Фото або скан плану перетворюється на чистий план з підписами кімнат і площами. Обробка відбувається одразу: відповідь 202 уже містить підсумок.
| Частина | Опис |
|---|---|
file | зображення плану (JPEG, PNG, WebP, HEIC; до 20 МБ) - обов'язкове; приймається і назва image |
objectId | прикріпити результат до вашого об'єкта |
objectType | property, rental або complex |
curl -X POST https://developers.grem.capital/api/v1/floorplan/create \
-H "Authorization: Bearer gsk_live_xxx" \
-F "[email protected]"
Відповідь:
| Поле | Опис |
|---|---|
jobId | id завдання |
status | done - підписи прийнято автоматично; review - результат готовий, але підписи варто перевірити; rejected - на зображенні не план; failed - збій |
state | completed для done і review, failed для rejected і failed |
rooms | кімнати: label, area (м², якщо підписана), stable (підпис прочитано однаково за кожного проходу), placement (де підпис стоїть на очищеному плані) |
totalArea | загальна площа, м², якщо площі підписані на плані |
cleanedFileId | очищене зображення плану |
sourceFileId | завантажений вами план |
Звіт: GET /artifacts/v1/ai/floor-plan/jobs/{id}/report.pdf. Повторно отримати результат - GET /floorplan/create/jobs/{id}. Події - floorplan.completed / floorplan.failed. Якщо на зображенні не план, гроші не списуються.