-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
57 lines (53 loc) · 3.01 KB
/
Copy path.env.example
File metadata and controls
57 lines (53 loc) · 3.01 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
# ============================================================================
# synthNoirUI — environment configuration
#
# Copy this file to `.env.local` and fill in the values you have:
# cp .env.example .env.local
#
# Next.js auto-loads `.env.local` (and `.env`) on `pnpm dev` / `pnpm build`.
# These keys are read server-side only and are never exposed to the browser.
# (`.env.local` is gitignored, so your real keys stay out of version control.)
# ============================================================================
# ── AI provider: chat (noir narrative) + UI component generation ─────────────
# At least ONE provider key is required for real generation. With NO key the
# app still runs in a deterministic "mock" mode (placeholder components, a
# darkroom SVG instead of real images) — fine for a UI smoke-test only.
#
# YOUR SETUP: a Google key covers BOTH chat and image generation, so this is
# the only AI key you need. Either variable name works (GEMINI_API_KEY is an
# accepted alias); set just one.
GOOGLE_GENERATIVE_AI_API_KEY=
# GEMINI_API_KEY=
# Other providers (optional — leave blank if using Google):
# OPENAI_API_KEY=sk-... # chat + image generation (DALL·E / gpt-image)
# ANTHROPIC_API_KEY=sk-ant-... # chat ONLY — Anthropic cannot generate images
# OPENAI_BASE_URL= # point at an OpenAI-compatible proxy
# OPENAI_API_KEY=
# ANTHROPIC_API_KEY=
# OPENAI_BASE_URL=
# ── Voice (text-to-speech) + noir music ──────────────────────────────────────
# Required for spoken detective narration and the ambient music track.
# Without it, the VOICE (TTS) toggle stays disabled ("Wire dead / Voice off").
# Get a key at https://elevenlabs.io → Profile → API Keys.
ELEVENLABS_API_KEY=
# ── Optional overrides (sensible defaults if omitted) ────────────────────────
# Pin a specific chat model (default for Google is gemini-3.5-flash; others:
# gemini-3.1-pro, gemini-3-flash, gemini-2.5-flash):
# AI_MODEL=
# Pin a specific image model (otherwise the best available for your key is chosen;
# Google default is gemini-3-pro-image, or gemini-3.1-flash-image for speed):
# AI_IMAGE_MODEL=
# Where generated images are written on disk (default: .data/images/):
# A2UI_IMAGE_DIR=
# Pin the on-demand video model (default veo-3.1-fast-generate-preview; the
# stable fallback is veo-3.0-fast-generate-001). Video uses
# the same GOOGLE_GENERATIVE_AI_API_KEY / GEMINI_API_KEY as images; it is ONLY
# generated on demand (Video Lab + explicit per-component button), never bundled
# into UI generation, because each Veo clip is comparatively expensive:
# AI_VIDEO_MODEL=
# Where generated video clips are written on disk (default: .data/video/):
# A2UI_VIDEO_DIR=
# Where generated music beds are written on disk (default: .data/music/):
# A2UI_MUSIC_DIR=
# Where generated TTS recordings are written on disk (default: .data/tts/):
# A2UI_RECORDING_DIR=