이 페이지는 영어로만 제공됩니다.

Playground

aile.sh/playground runs a real request against a real sharer, in either wire format, and shows you who served it.

The playground, with a model picker, prompt and response panelThe playground, with a model picker, prompt and response panel
Pick a model, pick a wire format, send. The response panel names the sharer, the capacity kind and the price.

What it is for

  • Checking a model answers before wiring it into anything.
  • Comparing the two wire formats against the same model.
  • Reading the x-aile-* decision headers without writing a client.
  • Exporting a working request as code once it does what you want.

It spends real money

These are billed requests

The playground places real, billed requests with your own sk-aile- key. It selects a sharer, pays them from your balance, and meters the call like any other request. Use a small max_tokens while you are experimenting.

Reading the result

The response panel shows more than the completion:

FieldMeaning
CapacitySelf-hosted, node subscription, nodeless or nodeless (OAuth): x-aile-capacity
Node sawWhether the node could read it: x-aile-blind
Sharer refA shortened x-aile-sharer: tells serves apart without naming the sharer
Priced asThe model id the request was priced on: x-aile-model
Served modelThe model the provider's response named, with a Downgrade flag if it was weaker
AttemptsShown when earlier sharers failed over: x-aile-attempts
QuoteThe pre-flight price in USD: x-aile-price

The quote is priced on max_tokens before the serve. The charge follows the reply, on the tokens actually used, and on a request that set no max_tokens it can exceed the quote, up to the cap sent upstream (the model's context window when none is sent).

x-aile-blind: true means the sharer's machine could not read the request. It makes no claim about Aile, which terminates TLS with the provider to meter the call. See What Aile can see.

Both wire formats

Switching the format changes which endpoint the request uses (/v1/chat/completions or /v1/messages); the models you can reach stay the same. A Claude model through the OpenAI format works, and so does the reverse; Aile translates between shapes. See Model names.

It also changes the error shape you would get back, which is worth seeing once: the shape follows the endpoint you called, independent of the model you asked for.

Exporting the request

Once a request does what you want, export it as the production call: the same body, the same headers, against https://api.aile.sh. From there, Your first request has the SDK versions.

Streaming

Streaming works here as it does anywhere else: tokens arrive as they are produced, and the decision headers arrive first, with the response head. The playground streams through the same route handler your own requests would use. A stream with no answer after 25 seconds is held open with keepalives and carries x-aile-edge-hold and only the decision headers that could no longer change: not the sharer or price, except on self-hosted capacity.

If nothing is available

A 503 naming a provider means nobody is sharing it this minute. The marketplace shows who is online right now; the model picker reads the same pool.