How to Create and Publish an App

Build a reusable ComfyUI workflow into a shareable Kimara app and optionally publish it for others to run.

A Kimara App turns a ComfyUI workflow into a reusable tool with a defined interface. Instead of sharing a raw workflow that requires ComfyUI knowledge, you expose clear inputs and outputs so others can run it via a form or API.

What Is a Kimara App?

A Kimara App defines a stable input/output interface on top of a ComfyUI workflow snapshot. You choose which parts of the workflow are configurable and expose only those controls to the person running the App. The underlying node graph stays hidden; the runner sees only the inputs you configured and receives the output when the job completes.

Apps are useful when you want to:

  • Let teammates run a workflow without needing to understand the node graph.
  • Share a generation tool with clients or the wider Kimara community.
  • Power a product feature or an automation by triggering runs via the API.

Creating a Kimara App captures an immutable snapshot of the workflow. Changes to the original workflow do not affect existing App versions; publish a new version to update behavior.

Building Your Workflow

Open ComfyUI from your Studio dashboard. If you have not done this before, see How to Open ComfyUI.

Build or import a workflow that produces a consistent output you or others can reuse.

Run the workflow at least once using Queue Prompt to confirm it produces the output you expect.

Building the App workflow in ComfyUI

Once your workflow runs correctly, use the App Builder in ComfyUI to define the inputs that will be exposed to users:

Open the ComfyUI App Mode (Beta) view by clicking the icon in the top-left corner of the canvas (or Alt+m) and select 'Build app'.

App Builder button

Select the input fields for your App. Clicking a node field binds that specific node input (NodeId:WidgetName) as an exposed App parameter.

Select sampler's 'seed' field at this stage to allow randomized seed in App/API usage.

Select one or more output nodes. The selected nodes define the files returned in the App run response.

Save the workflow. It is now recognised as an App workflow and is ready to be used to create a Kimara App.

Creating Your Kimara App

From the Studio dashboard, open the Apps tab and click New App.

See my Apps tab

Select the workflow you want to publish. You are redirected to the publishing form.

Fill in the App details:

  • App name - a clear, descriptive name for the App.
  • Description - explain what the App does and what kinds of prompts or inputs work well.
  • Thumbnail - upload a representative output image so the App looks good in the gallery.
  • Tags - optionally select up to 3 tags to improve marketplace discovery and categorization.
  • Visibility
    • Private — only accessible to you or your Studio (default)
    • Public (listed) — visible in marketplace & API discovery
    • Unlisted (API only) — hidden from marketplace, accessible via App ID

All fields mentioned in this step can be edited after creating an App without needing to publish a new App version.

Configure the App inputs. Each exposed input defines a parameter in the App interface and API, with an input card with the following fields:

  • NodeId:WidgetName - Represents the node and input field, e.g. 6:text. This won't be visible after creating an App.
  • Type picker - Shows the automatically inferred type of the input and defines what field will be rendered in the App page along with type validation. This can be changed freely if needed.
    6:text
  • Label - The public-facing name of the input.
  • Placeholder - Placeholder value to act as an example for App users. Used as the default value when triggering runs without overriding the input (UI or API).
  • Options (COMBO only) - Input fields for pre-defined values that will get rendered in a dropdown menu.

    Using the COMBO type can be a good choice for e.g. exposing a set of aspect ratios, LoRA's, or other values where basic text input field is not optimal

  • Advanced options - The following UI fields are hidden by default to minimize clutter in the form:
3:seed
  • Description - Optional for better guidance for the users, shown in a tooltip in the App page.
  • Min and Max values (INT & FLOAT only) - Optional - add a min and max values that the App accepts from user.
  • Randomize (INT only) - Randomizes the value on each App trigger. If min/max values are not defined it uses BIGINT range.

Once everything's set, publish the App.

Once published, your App appears in the Studio's Apps list. Public Apps also appear in the community gallery where other Kimara users can discover and run them.

Next Steps

More guides