-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
112 lines (91 loc) · 4.18 KB
/
.env.example
File metadata and controls
112 lines (91 loc) · 4.18 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# =============================================================================
# NeuraScreen — Configuration
# =============================================================================
# Copy this file to .env and fill in your values.
# -----------------------------------------------------------------------------
# Target application
# -----------------------------------------------------------------------------
# Base URL of the web application to record
APP_URL=http://localhost:3000
# Login credentials (leave empty to skip login)
APP_EMAIL=
APP_PASSWORD=
# Login page path (relative to APP_URL)
LOGIN_URL=/login
# Login form selectors (customize if your login page uses different elements)
# LOGIN_EMAIL_SELECTOR=input[name='email'], input[type='email']
# LOGIN_PASSWORD_SELECTOR=input[name='password'], input[type='password']
# LOGIN_SUBMIT_SELECTOR=button[type='submit']
# -----------------------------------------------------------------------------
# Directories (optional — defaults work out of the box)
# -----------------------------------------------------------------------------
# OUTPUT_DIR=./output
# TEMP_DIR=./temp
# LOGS_DIR=./logs
# SCENARIOS_DIR=./examples
# -----------------------------------------------------------------------------
# Browser settings
# -----------------------------------------------------------------------------
# Run browser in headless mode (true/false)
# Use false for recording (better quality), true for CI/testing
BROWSER_HEADLESS=false
# Output video resolution
VIDEO_WIDTH=1920
VIDEO_HEIGHT=1080
VIDEO_FPS=30
# -----------------------------------------------------------------------------
# Screen capture — multi-monitor / multi-platform setup
# -----------------------------------------------------------------------------
# Required only if you have multiple monitors and want to record a specific one.
# Single monitor: leave defaults.
# macOS: ffmpeg avfoundation screen index
# Find yours: ffmpeg -f avfoundation -list_devices true -i ""
CAPTURE_SCREEN=0
# Linux/Windows: display identifier for ffmpeg
# Linux (x11grab): X11 display, e.g. ":0.0" or ":0.0+100,200" (with offset)
# Windows (gdigrab): "desktop" (full screen) or "title=Window Name" (specific window)
# macOS: not used (CAPTURE_SCREEN is used instead)
# CAPTURE_DISPLAY=:0.0
# X pixel offset to position the browser window on the target screen via CDP
# Each 2560px-wide screen adds 2560 to the offset
# Example: screen 0 = 0, screen 1 = 2560, screen 2 = 5120
BROWSER_SCREEN_OFFSET=0
# -----------------------------------------------------------------------------
# TTS — Text-to-Speech narration
# -----------------------------------------------------------------------------
# Required only for the "full" command (video + narration).
# The "run" and "preview" commands do not need TTS.
# Provider: gradium | elevenlabs | openai | google | coqui
TTS_PROVIDER=openai
# API key for the chosen provider
# - Gradium: gsk_...
# - ElevenLabs: sk_...
# - OpenAI: sk-...
# - Google Cloud: your API key
# - Coqui: server URL (e.g. http://localhost:5002)
TTS_API_KEY=
# Voice ID
# - Gradium: e.g. b35yykvVppLXyw_l
# - ElevenLabs: e.g. 21m00Tcm4TlvDq8ikWAM
# - OpenAI: alloy | echo | fable | onyx | nova | shimmer
# - Google: e.g. fr-FR-Neural2-A
# - Coqui: speaker name or "default"
TTS_VOICE_ID=alloy
# Model (provider-specific, optional)
# - Gradium: default
# - ElevenLabs: eleven_multilingual_v2
# - OpenAI: tts-1 | tts-1-hd
# - Google: (not used)
# - Coqui: (not used)
TTS_MODEL=tts-1-hd
# -----------------------------------------------------------------------------
# Canvas selectors (optional — for drag, delete_node, close_modal, zoom, fit)
# -----------------------------------------------------------------------------
# Override these if your app uses a different UI framework than React Flow.
# These can also be overridden per scenario via the "selectors" JSON field.
# SELECTOR_DRAGGABLE=[draggable='true']
# SELECTOR_CANVAS=.react-flow
# SELECTOR_DELETE_BUTTON=button[title="Delete"], button[title="Supprimer"]
# SELECTOR_CLOSE_MODAL=div.fixed.inset-0 button:has-text("Cancel"), [role="dialog"] button:has-text("Close")
# SELECTOR_ZOOM_OUT=button[title="zoom out"]
# SELECTOR_FIT_VIEW=button[title="fit view"]