Running an App

How to run an app from the workspace.


Open the app

Find it in the Grid and click to open.

Multi-function apps show a function selector in the runner. The URL stays in sync with your choice (?function=<name>), so you can bookmark or share a specific entry point. See Browsing the Grid — Multi-function apps and shareable links.


Fill in inputs

Each app has a form with required and optional fields:

code
1stable-diffusion23Prompt: [________________________]  ← required45Style: [Photorealistic ▼]           ← optional67Size: [1024 x 1024 ▼]               ← optional

Choose where to run

OptionDescription
CloudRuns on inference shell workers
PrivateRuns on your own hardware

Toggle at the top of the runner.


Click Run

The task starts. You'll see:

  • Status — Queued → Running → Complete
  • Progress — Percentage and logs
  • Results — Outputs when done

Download results

Files (images, audio, etc.) have download buttons.

Click to save to your computer.

When the app publisher configured a ui page on the active version (an artifact rendered instead of the generic output), the runner shows that page above or beside the structured results. The same page appears in chat when an agent runs the app. Publishers set it in the app editor under requirements → ui page; see Apps API — Custom UI page.


View in Tasks

All runs appear in Tasks.

Go there to see history or re-download results.


From the CLI

Run the same app from your terminal (after CLI setup). Sign in once with belt login, or set INFERENCE_API_KEY on CI and headless machines:

bash
1belt login2belt app run namespace/my-app --input '{"prompt": "a sunset"}'3belt app run namespace/my-app --input input.json4belt app run namespace/my-app '{"prompt": "a sunset"}'       # positional JSON5echo '{"prompt": "a sunset"}' | belt app run namespace/my-app  # piped stdin6belt app run namespace/my-app -i '{"prompt": "a sunset"}' --jq '.output.url'  # filter output

By default the CLI waits until the task completes and prints the output. For long-running jobs, return immediately and follow progress separately:

bash
1belt app run namespace/my-app@version --input input.json --no-wait2belt task get <task-id> -f      # status, logs, and output until complete3belt task logs <task-id> -f     # logs only (filter with --type run, setup, etc.)

Input resolves from --input, a positional argument, or piped stdin (in that order). Each accepts inline JSON, @filename, or a JSON file path. See CLI setup — JSON input and Tasks for status codes, cancellation, and webhooks.

When output includes file URLs (images, audio, video), download them with belt file download <url> — see CLI setup — Files.

→ CLI setup · Tasks API


Cancel a run

While status is Running, click Cancel in the runner or on the task detail page. The platform requests a graceful stop; see Tasks for API, CLI (belt task cancel), and MCP cancellation.


Next

→ Setup Parameters

we use cookies

we use cookies to ensure you get the best experience on our website. for more information on how we use cookies, please see our cookie policy.

by clicking "accept", you agree to our use of cookies.
learn more.