Design screens with AI
designRun Sleek's design agent to create or edit screens from a plain-language brief. Send the whole request as ONE message, such as 'a food delivery app with onboarding, restaurants, dish detail, cart, tracking, and profile'. The agent plans the screens together, so separate calls produce mismatched screens. A run uses workspace credits only when it completes or saves changes. By default this waits for the run to finish. If it returns 'queued' or 'running', poll get_design_run. Only one run can be active per project. On CONFLICT, poll get_design_run until the run settles, then retry. cancel_design_run stops it sooner. If a failed run has data.error.url, relay data.error.message to your user with that link. They have to act before you retry. On completion, call show_project with data.runId to show your user what the run made, inline. Use screenshot only where your client cannot show apps. Then share projectUrl with your user.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Wait for the run to finish before returning. The wait is capped at 270 seconds, after which you get status 'running' back and poll get_design_run. Set false to return immediately and poll from the start, which is the better choice if your client times tool calls out sooner than that. | |
| message | Yes | The full design brief, as one message. Name every screen you want in this single request. | |
| screenId | No | Edit this existing screen instead of creating new ones. Use the screenId from list_components, or from a previous run's data.result.operations (via design or get_design_run). It is not the component id. | |
| imageUrls | No | HTTPS image URLs for visual input, such as screenshots, logos, or style references. | |
| projectId | Yes | Project id from an item's id in list_projects, or data.id in create_project. | |
| referenceId | No | Design reference to imitate, from list_references. | |
| idempotencyKey | No | Pick a unique key for each new design request, such as a UUID. Reuse it for retries to return the original run instead of starting a second one. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| projectUrl | Yes | Open link for the project. Share it with your user. |