Playground

try any model on attested Apple hardware · nothing leaves in a log
Verify attestation

Try a model live · not logged

SDK
Trust level
to send
Response
Send a prompt — the response streams here. Wire-up hits the real Go coordinator via /v1/chat/completions.
attestation pending first run
in tokout toklatency cost
Requests this session
0
awaiting first send
Token cost so far
$0.00
$1 free credit on signup
On attested hardware
depends on trust level
Refusal rate
0%
uncensored · as advertised

How Umbra sees your SDK call same wire · two envelopes

Both SDKs ride the same internal core: trust-level routing, prompt-hop crypto, and the token meter. Toggle the SDK above to highlight the active envelope.

OpenAI SDK
active
from openai import OpenAI

client = OpenAI(
  base_url="https://api.tryumbra.dev/v1",
  api_key="umbra-...")

resp = client.chat.completions.create(
  model="gemma-4-12b-coder-fable5",
  messages=[{"role":"user","content":"Write a haiku..."}],
  extra_body={"trust_level":"hardware"})

for chunk in resp:
  print(chunk.choices[0].delta.content or "", end="")

Standard /v1/chat/completions surface. Umbra-specific extension is extra_body.trust_level.

Anthropic SDK
switch →
from anthropic import Anthropic

client = Anthropic(
  base_url="https://api.tryumbra.dev",
  api_key="umbra-...")

msg = client.messages.create(
  model="gemma-4-12b-coder-fable5",
  max_tokens=1024,  # required
  messages=[{"role":"user","content":"Write a haiku..."}],
  extra_body={"trust_level":"hardware"})

print(msg.content[0].text)

/v1/messages surface. Same key. Anthropic-specific: max_tokens is required and anthropic-version is read on the wire.

Recent playground runs view usage →

WhenModelTrustTokensCostIntegrity
No playground runs yet — send your first prompt above.