Test mode

Build against your AI workflowbefore you connect a provider.

Turn on test mode for a workflow and ModelRiver answers with the sample data you set, with no provider call and no provider key. When you’re ready, try real models in the Playground.

How test mode works

Build the app first. Bring the models in when you’re ready.

  1. 01

    Add sample data

    Give the workflow’s structured output a sample answer. That is what test mode sends back.

  2. 02

    Turn on test mode

    Switch test mode on for the workflow. It doesn’t need a provider or a model.

  3. 03

    Build your app

    Call the workflow from your app as usual. Add a delay of up to 60 seconds to see how your UI handles slow answers.

  4. 04

    Try real models

    In the Playground, run the draft, the live version or an older one against real providers before you publish.

The numbers

What it looks like

The same request your app will send in production, and the same response shape.

test request
// Workflow with test mode on: no provider call, no key needed
POST /v1/ai
{ "workflow": "ticket_triage", "messages": [ … ] }

{
  "data": {
    "category": "billing",
    "priority": 2,
    "summary": "Refund request"
  },
  "meta": { "test_mode": true, "structured_output": true, … }
}
  • Same shape as production

    Your app gets the response shape it will get later, so switching to real models needs no code changes.

  • Webhooks still fire

    Async test requests still send webhooks and wait for backend callbacks, so you can test a whole pipeline.

  • Any version in the Playground

    Run the draft before you publish it, or an older version to compare.

Good to know

Frequently asked questions

Do test requests cost anything?

No. Test-mode requests don’t call a provider and don’t count toward your plan’s requests or spend limits.

Do I need provider keys for test mode?

No. A workflow in test mode doesn’t need a provider or a model.

What does test mode send back?

For chat workflows, the sample data on the workflow’s structured output. Completion workflows return placeholder text, and embedding workflows return stable placeholder vectors.

Are Playground runs billed?

They don’t count as plan requests, but the provider charges you for the tokens, and the spend counts toward your spend limits. Playground runs are never served from cache.

Can I test webhooks and backend pipelines?

Yes. Async requests in test mode still send webhooks and wait for your backend to call back.

Start building before you pick a model

Create a workflow on the free plan, turn on test mode, and call it from your app.