# Playground

Try DirectInference without writing a client. The playground has four modes — chat, effort sweep, compare, and code — each showing the request type your call was classified as.

## Chat

A normal chat surface against the DI endpoint. Type any `model` id to steer intent — it is treated exactly as it would be over the API and echoed back — and pick an effort level. Each turn shows a badge with the classified request type, read from the `X-DI-Request-Type` response header, and a cache badge when a turn benefited from caching.

## Effort sweep

Send one prompt across several effort levels at once and compare the answers side-by-side. It is the fastest way to feel the cost-and-quality tradeoff on your own prompts before you commit to a level in code — see [Effort](https://docs.directinference.com/effort/).

## Compare

Put DirectInference next to your existing endpoint. Paste a base URL and key for any OpenAI-compatible service and the playground runs the same prompt against both, side-by-side. Your comparison key is used only from your browser for that session and is never stored server-side.

## Code

Turn the current prompt, model id, and effort into copy-paste code for the OpenAI, Anthropic, and Gemini clients plus curl. It reflects exactly what the playground is sending, so you can lift a working call straight into your app — model id unchanged.

:::tip[Open it]
Head to the [Playground](https://app.directinference.com/di-model/playground) and use the mode switcher at the top. Everything you try there bills against your balance like any other request and shows up in your usage.
:::