# Playground

The [Playground](https://stack.foldbun.com/playground/) runs every model from the browser. Each model has recorded examples that open instantly, and an upload field that runs real inference on a chosen image. Results show timing, cost, the raw JSON and a "copy as code" snippet in curl and Python, with the key written as the placeholder `$FOLDBUN_API_KEY`.

The Playground is a separate web client with its own endpoints, which are not part of the public API. Integrations call `/v1` with an API key. See [Quickstart](https://stack.foldbun.com/docs/quickstart/).

## Trial lane

The trial lane is for anyone, without an account. It serves all seven models.

- **Anonymous.** No sign-in and no key.
- **Automatic human check.** Each submission passes an automatic human check (Cloudflare Turnstile). The check can be invisible or interactive.
- **Lowest priority.** Trial jobs are queued behind API traffic and are refused first when a model is busy. Only one trial job per model runs at a time; the Playground shows how many trial requests are ahead and the time spent waiting.
- **Not charged.** Trial calls cost nothing. The response shows `cost` as 0 and the list price in credits the call would have been worth.
- **Capacity is limited.** When the queue of a model is full or the daily trial budget is spent, the call is refused with `503 trial_busy`, which is retryable.

### One check, several calls

Some demos need more than one API call per submission. After one successful human check, a short-lived trial grant covers the follow-up calls of that submission, so no new check is needed.

| Model | One grant covers (within 10 minutes) |
|---|---|
| `sam3`, `sam-lite` | Up to 10 `segment` calls and 100 `refine` calls, on the image of the first call |
| `dinov3` | Up to 4 image calls |
| `siglip2` | Up to 2 calls: one image and one set of texts |
| `ppocr-v6`, `paddleocr-vl`, `birefnet` | 1 call |

An expired or used-up grant is refused with `403 trial_grant_invalid`, and the Playground asks for a new check.

### Trial input limits

- Images are sent as base64, at most 8 MiB after decoding. For SAM follow-up calls, the `img_` handle of the grant's image is also accepted.
- `sam3`: at most 5 text prompts and 10 prompts in total per call.
- `siglip2`: at most 16 texts per call.
- Trial calls are limited per IP address to 20 calls per minute, with a burst of 10. This only stops scripts.
- Images of the trial lane are deleted after 1 hour.

## Signed-in lane

A signed-in account with a verified email can run the Playground on its own credit. The rules are the same as for `/v1`: pools, limits, billing, idempotency. Usage appears in the console as "Playground". No API key is needed, and no key exists in the browser.

## Related

- [Rate limits and pools](https://stack.foldbun.com/docs/rate-limits/)
- [Billing](https://stack.foldbun.com/docs/billing/)
