Reachy_Mini / .env.example
tfrere's picture
tfrere HF Staff
feat(api): mint per-user OpenAI Realtime ephemeral keys
13ada57
Raw
History Blame Contribute Delete
2.87 kB
# Reachy Mini Website server env vars
#
# Copy this file to `.env` and fill in the values for local dev.
# In production (HF Space), set these from the Space's "Settings →
# Variables and secrets" panel, NOT from a committed `.env`.
# (`.env` is gitignored.)
# -----------------------------------------------------------------------------
# Server
# -----------------------------------------------------------------------------
# Port the Express server listens on. Defaults to 7860 (HF Space convention).
# PORT=7860
# -----------------------------------------------------------------------------
# OAuth (used by /api/oauth-config and the in-iframe sign-in flow)
# -----------------------------------------------------------------------------
# Set in the Space when `hf_oauth: true` is in README.md.
# OAUTH_CLIENT_ID=
# OAUTH_SCOPES=openid profile
# -----------------------------------------------------------------------------
# HF Inference Providers (used by /api/js-apps category inference)
# -----------------------------------------------------------------------------
# Required for category inference. A standard READ token is enough -
# Inference Providers access is on by default for FREE/PRO tokens.
# Without this, /api/js-apps still works but every entry will have
# `categories: null` (the route logs a warning at startup).
HF_TOKEN=
# Dataset where the inferred-categories cache is persisted.
# Defaults to `tfrere/reachy-mini-app-categories` (per-user namespace,
# auto-created on first commit). Override to e.g.
# `pollen-robotics/reachy-mini-app-categories` once the org dataset
# exists and the HF_TOKEN has write access to it.
# HF_CATEGORIES_DATASET=tfrere/reachy-mini-app-categories
# -----------------------------------------------------------------------------
# OpenAI Realtime ephemeral keys (used by /api/openai/ephemeral)
# -----------------------------------------------------------------------------
# Master OpenAI API key. Used SERVER-SIDE only to mint short-lived
# (~1 minute) `client_secret.value` tokens for the Reachy Mini mobile
# shell's voice conversation feature. NEVER expose this to a client
# bundle. The mobile client never sees this value: it posts its HF
# Bearer token, gets back an ephemeral session key scoped to a single
# OpenAI Realtime session.
OPENAI_API_KEY=
# Optional: pin the Realtime model id. Defaults to
# `gpt-4o-realtime-preview-2024-12-17`. Bumping this requires
# coordinating with the mobile shell, which is built against a
# specific protocol version.
# OPENAI_REALTIME_MODEL=gpt-4o-realtime-preview-2024-12-17
# Optional: max ephemeral mints per HF user per rolling hour.
# Defaults to 60. The in-memory sliding-window limiter resets on
# Space restart; v1 takes the trade-off, replace with a shared KV
# the day we need multi-replica fairness.
# OPENAI_EPHEMERAL_RATE_LIMIT_PER_HOUR=60