# Playground
Try any catalog model without writing code. The portal's **Playground** streams real responses
through the same live endpoint your app will use.
## Controls
- **Model picker**, a dropdown of every model on the [Models & pricing](../models-pricing.md)
page, with maker logos, and the context window and pricing for the selected model.
- **System prompt**, a collapsible popover in the composer.
- **Parameters rail**, temperature, max tokens, top-p, response **Format** (text or JSON object),
and a plain **Reasoning** switch, on by default, for models that think
([how reasoning control works](../capabilities/reasoning.md)).
- **Images**, on [vision models](../capabilities/images.md), attach up to 4 images of 2 MB each,
or paste an image URL. If you switch mid-thread to a text-only model, the Playground removes the
images from the history and shows a notice saying so.
- **Key picker**, choose which of your [API keys](authentication.md) a run bills to, so
Playground traffic appears under the key you expect in Usage.
- **Your real key and balance**, runs bill your workspace at normal rates and show up in
[Usage](usage.md) like any other API call. With no key, or an empty balance, a banner names
what's missing and links to the page to fix it.
Answers render as markdown. Nothing is stored: the conversation exists only in the browser tab,
and closing the tab discards it.
## Metrics on every response
The **Last response** card measures each response client-side:
| Metric | Meaning |
|---|---|
| **TTFT** | Time to the first token of any kind, including the first reasoning token. |
| **E2E** | Full wall-clock time to the last token. |
| **Tokens** | `N in · M out` from the response's own `usage` block. |
| **Speed** | Output tokens over the generation window. |
| **Cost** | What that response cost, at rate-card prices. |
A running **session cost** totals everything sent in the tab.
## Reasoning
When a model streams its thinking, the response bubble shows a collapsed **Thinking…** section
that fills in live. Once the answer starts, it becomes a **Reasoning** dropdown you can expand at
any time. The trace is display-only: the Playground never sends it back as conversation context,
so it does not add to the next turn's cost.
## Errors
If an upstream model rejects a request (an unsupported parameter, reasoning that can't be
disabled), the Playground shows the same error the API returns; it does not retry with a different
configuration. That includes telling two
`402`s apart: an empty workspace balance and a key that has spent its budget are different
problems, and the Playground names the one you have.
Playground
Try any catalog model without writing code. The portal's Playground streams real responses
through the same live endpoint your app will use.
Controls
Model picker, a dropdown of every model on the Models & pricing
page, with maker logos, and the context window and pricing for the selected model.
System prompt, a collapsible popover in the composer.
Parameters rail, temperature, max tokens, top-p, response Format (text or JSON object),
and a plain Reasoning switch, on by default, for models that think
(how reasoning control works).
Images, on vision models, attach up to 4 images of 2 MB each,
or paste an image URL. If you switch mid-thread to a text-only model, the Playground removes the
images from the history and shows a notice saying so.
Key picker, choose which of your API keys a run bills to, so
Playground traffic appears under the key you expect in Usage.
Your real key and balance, runs bill your workspace at normal rates and show up in
Usage like any other API call. With no key, or an empty balance, a banner names
what's missing and links to the page to fix it.
Answers render as markdown. Nothing is stored: the conversation exists only in the browser tab,
and closing the tab discards it.
Metrics on every response
The Last response card measures each response client-side:
Metric
Meaning
TTFT
Time to the first token of any kind, including the first reasoning token.
E2E
Full wall-clock time to the last token.
Tokens
N in · M out from the response's own usage block.
Speed
Output tokens over the generation window.
Cost
What that response cost, at rate-card prices.
A running session cost totals everything sent in the tab.
Reasoning
When a model streams its thinking, the response bubble shows a collapsed Thinking… section
that fills in live. Once the answer starts, it becomes a Reasoning dropdown you can expand at
any time. The trace is display-only: the Playground never sends it back as conversation context,
so it does not add to the next turn's cost.
Errors
If an upstream model rejects a request (an unsupported parameter, reasoning that can't be
disabled), the Playground shows the same error the API returns; it does not retry with a different
configuration. That includes telling two
402s apart: an empty workspace balance and a key that has spent its budget are different
problems, and the Playground names the one you have.