-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
60 lines (54 loc) · 2.53 KB
/
Copy path.env.example
File metadata and controls
60 lines (54 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Pitch Battle environment.
# Copy to .env (gitignored) and fill in values.
# ===== Snowflake (Stream B song catalog + Stream D matches/players) =====
# Account: the part before .snowflakecomputing.com in your Snowflake URL.
# New-style: <orgname>-<accountname>
# Legacy: <account_locator>.<region> (e.g. xy12345.us-east-1)
SNOWFLAKE_ACCOUNT=
SNOWFLAKE_USER=MICDROP_APP_USER
SNOWFLAKE_PASSWORD=
SNOWFLAKE_WAREHOUSE=MICDROP_WH
SNOWFLAKE_DATABASE=MICDROP
SNOWFLAKE_SCHEMA=PUBLIC
SNOWFLAKE_ROLE=MICDROP_APP
# SNOWFLAKE_MODE=mock # mock | real
# ===== Speech-to-text (Stream D) =====
STT_PROVIDER=mock # mock | whisper
WHISPER_MODEL=base.en # tiny.en | base.en | small.en | medium.en | large-v3
WHISPER_DEVICE=cpu # cpu | cuda
WHISPER_COMPUTE_TYPE=int8 # int8 | float16 | float32
# ===== AI MC (Stream D) =====
# Gemini roast commentary (tool-using when GEMINI_MODE=real)
GEMINI_MODE=mock # mock | real
# GEMINI_API_KEY=
GEMINI_MODEL=gemini-2.5-flash # verify/bump current model name
GEMINI_MAX_TOOL_CALLS=6 # cap on automatic function-calling turns
COMMENTARY_TIMEOUT_S=8.0
# ElevenLabs MC voice (streaming TTS)
ELEVENLABS_MODE=mock # mock | real
# ELEVENLABS_API_KEY=
ELEVENLABS_VOICE_ID=pNInz6obpgDQGcFmaJgB # Adam (raw /api/mc-voice default)
ELEVENLABS_MODEL=eleven_flash_v2_5 # fast streaming
ELEVENLABS_V3_MODEL=eleven_v3 # expressive (audio tags) when expressive=true
TTS_TIMEOUT_S=4.0
# Voice personas (role -> voice_id). Override with your own custom voices.
# VOICE_MC=
# VOICE_HYPE=
# VOICE_VILLAIN=
DEFAULT_VOICE_ROLE=mc
# Sound effects (ElevenLabs text-to-sound, generate-then-cache)
SFX_MODEL=eleven_text_to_sound_v2
SFX_PROMPT_INFLUENCE=0.5
# ===== Solana escrow (Stream A → D) =====
# Mode flip: mock returns a fake payout_tx; devnet signs settle() with the
# backend oracle keypair below. Match it on the laptop with the same value.
ESCROW_MODE=mock # mock | devnet
ORACLE_KEYPAIR_PATH=./oracle-keypair.json # auto-generated on devnet if missing
PROGRAM_ID=2eMwChdNVoxeoWjdaiTuBGasDiHCKN3jbw7dL5eSyuZf
SOLANA_RPC_URL=https://api.devnet.solana.com
TREASURY_PUBKEY=2KnfMtidoDSVYxJDBNEK1e77rVQijvJ71zkBgz6kwejm
FEE_BPS=100 # 1% (must match frontend FEE_BPS)
# ===== Frontend (Stream C) =====
# VITE_API_BASE=http://localhost:8000 # leave empty in dev (Vite proxies /api)
# VITE_SERVER_URL=http://localhost:3001 # Socket.io session server
# VITE_RPC_URL=https://api.devnet.solana.com