SMELT Studio
SMELT Studio is a hosted visual workflow builder for designing, running, and monitoring multi-agent pipelines. Build agent DAGs on a canvas, connect multiple integrations, and execute workflows with a single click - no local infrastructure required.
Sign up
Studio uses Firebase SSO for authentication. Sign in with any of the supported providers:
- GitHub
- Microsoft
Your account is created on first sign-in. Free tier gives you immediate access to the workflow builder with limited execution credits.
Connect a model provider
Studio supports two modes for LLM access:
- BYOK (Bring Your Own Key) - paste your Anthropic or OpenAI key in Settings > Model providers. Those two providers are supported. Your key is encrypted at rest and never logged, and runs using it consume no credits.
- Managed AI - Studio routes LLM calls through GIMZWARE infrastructure. No key required; usage is metered against your plan's monthly credit allowance (75K Free, 1M Pro, 4M Business).
SMELT API keys
A SMELT API key authenticates your own code against our API. It is separate from a model provider key: this one is how you reach us, that one is how we reach a model.
Create one in Settings > API keys. Give it a label saying what will use it, and Studio mints a token beginning smelt_. It is shown once, at creation, and never again, so copy it then. Send it as a bearer token:
Authorization: Bearer smelt_...What a key may do
Four things decide what a request with a key is allowed to do, and all four are checked on every request.
- Access. Full access may read and write. Read only may read, and every write is refused with
403and the codeAPI_KEY_READ_ONLY. Reads areGET; anything that changes something is aPOST,PATCH,PUTorDELETE, so a route we add later is refused to a read-only key without anyone having to remember it. - Workspace. A key is minted in one workspace and reaches only that one, whatever the request asks for. You never name a workspace on a request made with a key.
- The role of whoever created it. A key acts as the member who minted it and is read fresh on every request, so it follows them down when they are demoted and stops working when they leave the workspace. It can never do more than they can.
- Lifetime. A key can be set to expire after 30, 90 or 365 days, or never. Past its expiry it stops authenticating and cannot be revived, so mint a fresh one.
Some things a key cannot do at all, whatever its access. Starting a checkout, opening the billing portal, buying credits, saving or removing a model provider key, requesting or cancelling account deletion, listing or creating a workspace, and creating, listing or revoking API keys are all refused with 403. Those are decisions taken by a person signed in to Studio, not by a script, and a leaked key must not be able to spend your money or lock you out of your account. Reading usage, deletion status and which provider is configured stays open, because watching those is what a key is for.
The list in Settings shows each key's access, when it was last used and when it expires. Revoke refuses it from that moment on. Revoked keys stay listed so you can see what was withdrawn and when. Only members who can manage connections can create, list or revoke keys.
Using a key, end to end
The API is at https://api.smelt.gimzware.ai/v1. Send the key as a bearer token on every request. Keep it in an environment variable or a secret store, never in your source tree and never in a browser. Every route below is part of the v1 contract, so it keeps working.
export SMELT_TOKEN=smelt_...Find the workflow you want to run. A key carries its own workspace, so this lists that workspace's projects and nothing else:
curl https://api.smelt.gimzware.ai/v1/projects \
-H "Authorization: Bearer $SMELT_TOKEN"
curl https://api.smelt.gimzware.ai/v1/projects/PROJECT_ID/workflows \
-H "Authorization: Bearer $SMELT_TOKEN"Start a run. This is a write, so it needs a full-access key. The response carries the run's id. sample_payload seeds the trigger the workflow reads through {{trigger}}, and can be left out for a workflow that does not use one:
curl -X POST https://api.smelt.gimzware.ai/v1/workflows/WORKFLOW_ID/run \
-H "Authorization: Bearer $SMELT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sample_payload": {"subject": "Weekly summary"}}'Then follow it. GET /v1/runs/RUN_ID returns its status and output, and GET /v1/runs/RUN_ID/steps returns what each block did. Both are reads, so a read-only key is enough for a dashboard that only watches:
curl https://api.smelt.gimzware.ai/v1/runs/RUN_ID \
-H "Authorization: Bearer $SMELT_TOKEN"Refusals and rate limits
A key that is unknown, revoked or expired answers 401. A read-only key sending a write, or any key on a route reserved for a signed-in person, answers 403. Every error carries a code you can branch on rather than a message you have to match.
Requests are limited to 100 a minute per caller. Each response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Over the limit you get 429 and a Retry-After in seconds; wait that long rather than retrying at once. Starting runs is limited separately and more tightly, because a run costs credits.
The API carries no version prefix and no stability contract yet. The routes described on this page are the ones we intend you to build against; treat anything else you find as internal to Studio and liable to change. If a key leaks, revoke it here and create a replacement. There is no way to rotate a key in place.
Create your first project
Projects live in the sidebar. Open the PROJECTS group and choose + New. A project holds its own workflows and execution history. Settings that cover the whole workspace, including API keys, model provider keys, billing and members, are shared by every project in it.
- Name the project. That is all it asks for
- Add a workflow to it, either from a template or from a blank canvas. You are asked which project it belongs to as you create it
- Start it from the toolbar. The control reads Run, Run now or Test depending on the workflow’s trigger
Templates are the fastest way to get started - see the Templates page for the full list.
Workflow builder overview
The builder is a drag-and-drop canvas where you connect agent blocks, control flow blocks, and integration blocks into a directed acyclic graph. See the Builder Guide for a full walkthrough of the canvas, block types, and connection logic.
Next steps
- Workflow Builder - canvas, blocks, connections
- Agent Blocks - the eight AI blocks and when to use each
- Integrations - connect Google, Slack, GitHub, and more
- Custom MCP - connect your own MCP server and discover its tools
- Custom A2A - delegate a natural-language task to an external agent
- Content Safety - screen text with AI-powered content safety and branch on the verdict
- Execution & Monitoring - real-time SSE streaming and trace panel
- Team workspaces - share projects with colleagues, roles, and inviting people
- Billing & Limits - free tier, Pro, Business