API keys

swap the base_url · nothing else changes
$42.10 creditsVerify attestation

Your base URL

Drop this into any OpenAI-compatible client. The key prefix is fixed; the full secret only shows once at creation.

base_urlhttps://api.umbra.dev/v1copy
# one base_url swap — no new SDK
from openai import OpenAI

client = OpenAI(
  base_url="https://api.umbra.dev/v1",
  api_key="umbra-7Xq9p2…RwK")

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

print(resp.choices[0].message.content)

Create a key

copy now · shown once

Umbra stores the PBKDF2 hash of the full secret. The plaintext is shown exactly once at creation.

Active keys

NamePrefixCreatedLast usedRateAction