# Maketa > Программируемый конструктор экранов приложений и лендингов от студии demda.pro. > Рисуешь мышкой или управляешь программно: ИИ и код читают и меняют каждый объект, > а экраны Flutter выгружаются в макет автоматически. Модель сцены — собственный > JSON `maketa.board.v1` (единый источник истины). Лид-магнит студии заказной > разработки demda.pro: экран клиента → ТЗ в работу. Обновлено: 2026-09-01 · Схема API: https://maketa.pro/openapi.json · MCP: https://maketa.pro/maketa/api/mcp Все curl-примеры ниже выполнены на проде 01.09.2026 и работают как написано. ## Что такое Maketa Бесплатный онлайн-конструктор экранов мобильных приложений и лендингов. Работает в браузере, без установки. Первый макет собирается без регистрации. Сделан для тех, кто НЕ дизайнер: заказчики, продакты, студии — перетаскиваешь готовые блоки мышкой и делишься ссылкой. Это не замена Figma, а способ быстро объяснить дизайнеру или разработчику, как всё должно выглядеть. Продукт студии заказной разработки demda.pro. Язык интерфейса — русский. ## Для кого - Заказчики без навыков дизайна — нарисовать идею приложения без Figma и ТЗ. - Продакты и аналитики — быстрый прототип экрана. - Разработчики и ИИ-агенты — программно: MCP-сервер, REST API, выгрузка экранов из Flutter/веба. ## Чего Maketa не делает - Не собирает работающее приложение — это макет, а не no-code-билдер. Код по макету пишет разработчик. - Не заменяет Figma для профессионального дизайнера: нет автолэйаута, компонентов с вариантами, дизайн-систем. - Не публикует приложение в App Store / Google Play. - Не генерирует картинки — ИИ собирает экран из редактируемых объектов `board.v1`, а не рисует изображение. - Не даёт песочному ключу агента ИИ-функции (`/ai/*`) и оплату. ## Возможности - Кликабельный прототип: у объектов и пунктов таб-бара есть `link` на экран; переходы работают в «Просмотре» и по ссылке у заказчика. - Рамка реального устройства прямо в редакторе; тёмная тема; iPad и Apple Pencil. - Ссылка вместо ТЗ: заказчик, дизайнер и разработчик видят один макет. Live-соавторство со слиянием правок, автосохранение на сервере. - MCP-сервер: Claude, ChatGPT, Cursor, VS Code и Cline читают и меняют объекты макета. - Выгрузка экранов из Flutter одной кнопкой (пакет `maketa_sync`) и из веба (`maketa-sync-web`). - ИИ по фиксированным ценам: совет по UX 5 ₽ · разбор скриншота на объекты 15 ₽ · экран с нуля 19 ₽. Отказ ИИ по границам темы бесплатен. Новому аккаунту после подтверждения e-mail — 100 ₽ на ИИ в подарок. - Собственная модель сцены `maketa.board.v1` — единый источник истины для редактора, ИИ и нативных клиентов. ## Цена Редактор, шаринг, соавторство, прототип, MCP и REST для своих досок — 0 ₽, без карты. Платно только ИИ-функции: 5 / 15 / 19 ₽ за операцию, пакеты от 149 ₽, оплата СБП, остаток не сгорает. ## Быстрые факты - Редактор: https://maketa.pro/app/ (регистрация не обязательна) - База API: `https://maketa.pro/maketa/api` · OpenAPI 3.1: https://maketa.pro/openapi.json - Доступ к доске: токены edit/view (кнопка «Поделиться»), проектный ключ `mk_pk_…` или песочный ключ агента `mk_sb_…`. Ключ передаётся заголовком `x-maketa-key`, в MCP — `Authorization: Bearer …`. - Экраны бывают `design` (правятся) и `code` (пришли из кода, заблокированы — нужен branch). - Типы объектов `board.v1`: `rect`, `ellipse`, `text`, `path` (карандаш), `image`, `note` (аннотация), `tabs` (нижний таб-бар одним объектом, 2–5 пунктов с переходами). Общие поля: `x`, `y`, `rot`, `opacity`, `group`, `locked`, `link`. - Ссылка на доску для людей: `https://maketa.pro/app/?b=BOARD_ID` - Канонический домен — `maketa.pro`. Старый `maketa.demda.pro` отвечает 301 на страницах и продолжает обслуживать `/maketa/api/` и `/.well-known/oauth-*` до 01.12.2026 ради уже подключённых коннекторов. В новом коде используйте только `maketa.pro`. ## Коды ответов, которые надо обрабатывать - `409 {"error":"conflict","rev":N}` — на сервере более новая ревизия. Перечитайте `GET /load`, объедините правки, повторите `POST /save` с `baseRev` из ответа. Проверено на проде. - `404 {"error":"not_found"}` — доски с таким id никогда не было. - `410` — доска была удалена (tombstone). Повторять запрос бессмысленно. - Любая ошибка приходит как `{error, hint}`: `error` — стабильный машинный код, `hint` по-русски говорит, что именно сделать. ## Для ИИ-агентов (MCP) - Удалённый MCP-коннектор с OAuth 2.1 (как у Figma): добавьте URL `https://maketa.pro/maketa/api/mcp`. Вход единым аккаунтом, доступ только к своим доскам. Первый вызов — `maketa_list_boards`. - Метаданные для строгих клиентов: `https://maketa.pro/.well-known/oauth-protected-resource` и `.../oauth-protected-resource/maketa/api/mcp` (RFC 9728 §3.1). Неавторизованный запрос честно отвечает `401` с `WWW-Authenticate: Bearer resource_metadata="…"`. - MCP без OAuth (headless): тот же URL, `Authorization: Bearer mk_pk_…` (своя доска) или `Bearer mk_sb_…` (доски песочницы агента). - Транспорт — HTTP JSON-RPC (streamable HTTP), ответы `application/json`. Версию протокола сервер зеркалит из `initialize`. - Инструменты: `maketa_list_boards`, `maketa_list_screens`, `maketa_get_screen`, `maketa_create_screen`, `maketa_add_element`, `maketa_update_element`, `maketa_move_element`, `maketa_remove_element`, `maketa_branch_screen`, `maketa_push_code_screen`, `maketa_list_branches`, `maketa_get_parent`. - Правило: `code`-экраны не редактируются напрямую — создавайте ветку через `maketa_branch_screen`. ### Подключение в один клик - Claude Code: `claude mcp add --transport http maketa https://maketa.pro/maketa/api/mcp` - Claude (веб и десктоп): Settings → Connectors → Add custom connector → URL выше. - Cursor: `cursor://anysphere.cursor-deeplink/mcp/install?name=maketa&config=eyJ1cmwiOiJodHRwczovL21ha2V0YS5wcm8vbWFrZXRhL2FwaS9tY3AifQ==` - VS Code: https://vscode.dev/redirect/mcp/install?name=maketa&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmaketa.pro%2Fmaketa%2Fapi%2Fmcp%22%7D - Cline и остальные: `{"mcpServers":{"maketa":{"type":"streamableHttp","url":"https://maketa.pro/maketa/api/mcp"}}}` - Живые кнопки и копируемые конфиги: https://maketa.pro/#mcp ## Путь автономного агента (REST, без человека) «Без регистрации» на лендинге относится к браузеру (человек рисует анонимно). Автономному агенту нужен песочный ключ — выдаётся мгновенно и тоже без человека. ```bash # 1. Регистрация (3/сутки с одного IP; ключ показывается ОДИН раз, живёт 14 дней; # квоты: 5 досок, 200 сохранений/сутки) curl -s -X POST https://maketa.pro/maketa/api/agent/register \ -H 'content-type: application/json' \ -d '{"name":"my-agent","purpose":"макет для клиента"}' # → {"key":"mk_sb_…","expiresAt":…,"quotas":{"boards":5,"savesPerDay":200},"docs":"https://maketa.pro/llms.txt"} # 2. Создать доску (ключ в заголовке x-maketa-key; сохраните id и edit из ответа) curl -s -X POST https://maketa.pro/maketa/api/create \ -H 'content-type: application/json' -H 'x-maketa-key: mk_sb_…' \ -d '{"doc":{"name":"Демо","screens":[{"id":"s_1","name":"Главная","device":"iphone-15","w":390,"h":844,"bg":"#FFFFFF","objects":[]}]}}' # → {"id":"BOARD_ID","edit":"EDIT_TOKEN","view":"VIEW_TOKEN"} # 3. Сохранить экран с 3 объектами (по своему ключу edit-токен не нужен). # ВСЕГДА передавайте baseRev (= rev из последнего /load, /save или /rev): # без него сохранение перезапишет чужие правки молча; с ним конфликт вернёт 409. curl -s -X POST https://maketa.pro/maketa/api/save \ -H 'content-type: application/json' -H 'x-maketa-key: mk_sb_…' \ -d '{"id":"BOARD_ID","baseRev":0,"doc":{"name":"Демо","screens":[{"id":"s_1","name":"Главная","device":"iphone-15","w":390,"h":844,"bg":"#FFFFFF","objects":[ {"id":"o_1","type":"rect","x":20,"y":40,"w":350,"h":120,"fill":"#EEF1F6","radius":16}, {"id":"o_2","type":"text","x":36,"y":64,"text":"Привет!","fontSize":24,"weight":700,"color":"#111827"}, {"id":"o_3","type":"ellipse","x":300,"y":700,"w":56,"h":56,"fill":"#3A5BD9"}]}]}}' # → {"ok":true,"rev":1,…} # → 409 {"error":"conflict","rev":N} → перечитайте /load и повторите с новым baseRev # 4. Ссылка для людей (доска по умолчанию читается по ссылке): # https://maketa.pro/app/?b=BOARD_ID # 5. Повторное чтение (анонимно, доступно любому по ссылке ?b=…) curl -s 'https://maketa.pro/maketa/api/load?id=BOARD_ID' # → {"doc":{…},"access":"view",…} (со своим ключом x-maketa-key → access:"edit") # 6. Свои доски со ссылками (в ответе сразу url, editUrl, viewUrl): curl -s https://maketa.pro/maketa/api/agent/boards -H 'x-maketa-key: mk_sb_…' # 7. Лёгкая сверка изменений без выкачивания документа: curl -s 'https://maketa.pro/maketa/api/rev?id=BOARD_ID' # → {"rev":1,"updatedAt":…,"access":"view"} ``` Постоянный доступ — попросите владельца доски выдать проектный ключ `mk_pk_…` в кабинете. Песочница: ключ живёт 14 дней; доски — ещё 30 дней после истечения ключа, затем удаляются (ответ 410). ## Docs - [Документация](https://maketa.pro/docs/): полное руководство — ключи, MCP, REST, модель сцены - [OpenAPI 3.1](https://maketa.pro/openapi.json): машиночитаемая схема всех эндпоинтов и ошибок - [MCP-сервер](https://maketa.pro/docs/#mcp): инструменты для ИИ-агентов, OAuth и headless-режим - [Модель maketa.board.v1](https://maketa.pro/docs/#model): типы объектов и общие поля - [Проектные ключи](https://maketa.pro/docs/#keys): `mk_pk_…` и песочные `mk_sb_…` - [Flutter maketa_sync](https://maketa.pro/docs/#flutter): выгрузка экранов из кода - [REST API](https://maketa.pro/docs/#rest): create, load, save, rev, branch ## Optional - [llms-full.txt](https://maketa.pro/llms-full.txt): развёрнутое описание продукта и модели данных - [Публичная оферта](https://maketa.pro/oferta/): условия платных ИИ-функций - [Политика конфиденциальности](https://maketa.pro/privacy/): обработка данных, 152-ФЗ - [Студия demda.pro](https://demda.pro/): разработчик Maketa, заказная разработка - [Telegram](https://t.me/demda): контакт студии