Skip to content

Environment Variables List

Overview

This page explains all environment variables that can be used with AITuberKit. These environment variables can be set in the .env file to customize the behavior of the application.

TIP

Samples of all environment variables are listed in the .env.example file. Copy this file to create a .env file.

Basic Settings

For details, see Basic Settings.

bash
# Default language setting (specify one of the following values)
# ja: Japanese, en: English, ko: Korean, zh-CN: Chinese (Simplified), zh-TW: Chinese (Traditional), vi: Vietnamese
# fr: French, es: Spanish, pt: Portuguese, de: German
# ru: Russian, it: Italian, ar: Arabic, hi: Hindi, pl: Polish
NEXT_PUBLIC_SELECT_LANGUAGE=en

# Site URL (used for OGP and Twitter card image URLs)
NEXT_PUBLIC_SITE_URL="https://aituberkit.com"

# Setting to pronounce English words in Japanese (true/false)
NEXT_PUBLIC_CHANGE_ENGLISH_TO_JAPANESE=false

# Enable/disable restricted mode (true/false)
# Set to true for Cloudflare deployment
NEXT_PUBLIC_RESTRICTED_MODE="false"

# Enable/disable Live2D feature (true/false)
NEXT_PUBLIC_LIVE2D_ENABLED="false"

# Background image path
NEXT_PUBLIC_BACKGROUND_IMAGE_PATH=/backgrounds/bg-c.png

# Assistant text display setting (true/false)
NEXT_PUBLIC_SHOW_ASSISTANT_TEXT=true

# Character name display setting (true/false)
NEXT_PUBLIC_SHOW_CHARACTER_NAME=true

# Control panel display setting (true/false)
NEXT_PUBLIC_SHOW_CONTROL_PANEL=true

# Color theme setting (default, cool, mono, ocean, forest, sunset)
NEXT_PUBLIC_COLOR_THEME=default

Character Settings

For details, see Character Settings.

Common Settings

bash
# Character name
NEXT_PUBLIC_CHARACTER_NAME=Nike-chan

# Model type to use (vrm, live2d, or pngtuber)
NEXT_PUBLIC_MODEL_TYPE=vrm

# User display name
NEXT_PUBLIC_USER_DISPLAY_NAME=YOU

# Custom preset names
NEXT_PUBLIC_CUSTOM_PRESET_NAME1="Preset 1"
NEXT_PUBLIC_CUSTOM_PRESET_NAME2="Preset 2"
NEXT_PUBLIC_CUSTOM_PRESET_NAME3="Preset 3"
NEXT_PUBLIC_CUSTOM_PRESET_NAME4="Preset 4"
NEXT_PUBLIC_CUSTOM_PRESET_NAME5="Preset 5"

# Character presets
NEXT_PUBLIC_CHARACTER_PRESET1="You are an AI assistant named Nike."
NEXT_PUBLIC_CHARACTER_PRESET2="You are an AI assistant named Nike."
NEXT_PUBLIC_CHARACTER_PRESET3="You are an AI assistant named Nike."
NEXT_PUBLIC_CHARACTER_PRESET4="You are an AI assistant named Nike."
NEXT_PUBLIC_CHARACTER_PRESET5="You are an AI assistant named Nike."

Character Position Settings

bash
# VRM/Live2D character position settings
NEXT_PUBLIC_CHARACTER_POSITION="0,0,0,1"
NEXT_PUBLIC_CHARACTER_ROTATION="0,0,0"
NEXT_PUBLIC_FIXED_CHARACTER_POSITION="false"

VRM Settings

bash
# Path to the selected VRM model
NEXT_PUBLIC_SELECTED_VRM_PATH=/vrm/nikechan_v2.vrm

# VRM character lighting intensity (0.1-3.0)
NEXT_PUBLIC_LIGHTING_INTENSITY=1.0

# Enable/disable thinking pose (true/false)
NEXT_PUBLIC_THINKING_POSE_ENABLED=false

# Pose ID to display while thinking
NEXT_PUBLIC_THINKING_POSE_ID=think

PNGTuber Settings

bash
# PNGTuber model path
NEXT_PUBLIC_SELECTED_PNGTUBER_PATH=/pngtuber/nike01

# PNGTuber lip sync sensitivity (0-100)
NEXT_PUBLIC_PNGTUBER_SENSITIVITY=50

# PNGTuber chroma key settings
NEXT_PUBLIC_PNGTUBER_CHROMA_KEY_ENABLED=false
NEXT_PUBLIC_PNGTUBER_CHROMA_KEY_COLOR=#00FF00
NEXT_PUBLIC_PNGTUBER_CHROMA_KEY_TOLERANCE=50

# PNGTuber position and size settings
NEXT_PUBLIC_PNGTUBER_SCALE=1.0
NEXT_PUBLIC_PNGTUBER_OFFSET_X=0
NEXT_PUBLIC_PNGTUBER_OFFSET_Y=0

Memory Settings

bash
# Enable/disable memory feature
NEXT_PUBLIC_MEMORY_ENABLED=false

# Similarity threshold (0.1-0.95)
NEXT_PUBLIC_MEMORY_SIMILARITY_THRESHOLD=0.7

# Search result limit (1-10)
NEXT_PUBLIC_MEMORY_SEARCH_LIMIT=5

# Maximum context token count
NEXT_PUBLIC_MEMORY_MAX_CONTEXT_TOKENS=1000

Live2D Settings

bash
# Path to the model file of the selected Live2D model
NEXT_PUBLIC_SELECTED_LIVE2D_PATH=/live2d/nike01/nike01.model3.json

# Emotion settings (multiple can be specified with commas)
NEXT_PUBLIC_NEUTRAL_EMOTIONS=Neutral
NEXT_PUBLIC_HAPPY_EMOTIONS=Happy,Happy2
NEXT_PUBLIC_SAD_EMOTIONS=Sad,Sad2,Troubled
NEXT_PUBLIC_ANGRY_EMOTIONS=Angry,Focus
NEXT_PUBLIC_RELAXED_EMOTIONS=Relaxed
NEXT_PUBLIC_SURPRISED_EMOTIONS=Neutral

# Motion group settings
NEXT_PUBLIC_IDLE_MOTION_GROUP=Idle
NEXT_PUBLIC_NEUTRAL_MOTION_GROUP=Neutral
NEXT_PUBLIC_HAPPY_MOTION_GROUP=Happy
NEXT_PUBLIC_SAD_MOTION_GROUP=Sad
NEXT_PUBLIC_ANGRY_MOTION_GROUP=Angry
NEXT_PUBLIC_RELAXED_MOTION_GROUP=Relaxed
NEXT_PUBLIC_SURPRISED_MOTION_GROUP=Neutral

AI Settings

For details, see AI Settings.

Common Settings

bash
# AI service selection
# openai, anthropic, google, azure, xai, groq, cohere,
# mistralai, perplexity, fireworks, deepseek, openrouter, lmstudio, ollama, dify, custom-api
NEXT_PUBLIC_SELECT_AI_SERVICE=openai

# Selected AI model name
NEXT_PUBLIC_SELECT_AI_MODEL=gpt-4o-2024-11-20

# Whether to use custom model
NEXT_PUBLIC_CUSTOM_MODEL="false"

# Number of past messages to retain
NEXT_PUBLIC_MAX_PAST_MESSAGES=10

# Temperature parameter to adjust conversation randomness (0.0-2.0)
NEXT_PUBLIC_TEMPERATURE=0.7

# Maximum number of tokens
NEXT_PUBLIC_MAX_TOKENS=4096

# Enable reasoning mode (true/false)
NEXT_PUBLIC_REASONING_MODE=false

# Reasoning level (none/minimal/low/medium/high/xhigh; supported values vary by provider/model)
NEXT_PUBLIC_REASONING_EFFORT=medium

# Reasoning token budget
NEXT_PUBLIC_REASONING_TOKEN_BUDGET=8192

# Always show thinking process (true/false)
NEXT_PUBLIC_SHOW_THINKING_TEXT=false

AI Service Settings

bash
# OpenAI API key
OPENAI_API_KEY=sk-...

# Anthropic API key
ANTHROPIC_API_KEY=sk-ant-...

# Google Gemini API key
GOOGLE_API_KEY=...

# Enable search grounding feature
NEXT_PUBLIC_USE_SEARCH_GROUNDING=true

# Dynamic retrieval threshold for search grounding
NEXT_PUBLIC_DYNAMIC_RETRIEVAL_THRESHOLD=""

# Azure OpenAI API key
AZURE_API_KEY=...
# Azure OpenAI endpoint
AZURE_ENDPOINT="https://RESOURCE_NAME.openai.azure.com/openai/deployments/DEPLOYMENT_NAME/chat/completions?api-version=API_VERSION"

# xAI API key
XAI_API_KEY=...

# Groq API key
GROQ_API_KEY=...

# Cohere API key
COHERE_API_KEY=...

# Mistral AI API key
MISTRALAI_API_KEY=...

# Perplexity API key
PERPLEXITY_API_KEY=...

# Fireworks API key
FIREWORKS_API_KEY=...

# DeepSeek API key
DEEPSEEK_API_KEY=...

# OpenRouter API key
OPENROUTER_API_KEY=...

# Local LLM URL
# ex. Ollama: http://localhost:11434/v1/chat/completions
# ex. LM Studio: http://localhost:1234/v1/chat/completions
NEXT_PUBLIC_LOCAL_LLM_URL=""
# Local LLM model
NEXT_PUBLIC_LOCAL_LLM_MODEL=""

# Dify API key
DIFY_API_KEY=""
# Dify API URL
DIFY_URL=""

# Custom API URL
NEXT_PUBLIC_CUSTOM_API_URL=""
# Custom API headers
NEXT_PUBLIC_CUSTOM_API_HEADERS=""
# Custom API body
NEXT_PUBLIC_CUSTOM_API_BODY=""
# Enable system messages in custom API (true/false)
NEXT_PUBLIC_INCLUDE_SYSTEM_MESSAGES_IN_CUSTOM_API=true
# Include MIME type in image objects (true/false)
NEXT_PUBLIC_CUSTOM_API_INCLUDE_MIME_TYPE=""

# Custom API URL (server-side secret, takes priority over NEXT_PUBLIC version)
CUSTOM_API_URL=""
# Custom API headers (server-side secret, merged over frontend settings)
CUSTOM_API_HEADERS=""
# Custom API body (server-side secret, merged over frontend settings)
CUSTOM_API_BODY=""

Server-Side Secret and Resource API Access Control

bash
# Controls whether anonymous API routes may use server-side API keys, CUSTOM_API_*, write APIs, or server resources
# disabled: default. Allow request-provided API keys only; reject server secrets and protected server resources
# protected: require Authorization: Bearer AITUBERKIT_SERVER_SECRET_TOKEN
# demo: allow browser requests from allowed origins / same-origin only. Also require a demo token when AITUBERKIT_DEMO_ACCESS_TOKEN is set; pair with rate limits
# unprotected: legacy compatibility. Not recommended for public URLs
AITUBERKIT_SERVER_SECRET_ACCESS_MODE="disabled"

# Bearer token used in protected mode
AITUBERKIT_SERVER_SECRET_TOKEN=""

# Comma-separated origins allowed in demo mode. When omitted, only same-host origin is allowed
AITUBERKIT_ALLOWED_ORIGINS=""

# Optional demo-only token required as X-AITuberKit-Demo-Token in demo mode when set
AITUBERKIT_DEMO_ACCESS_TOKEN=""

# Simple demo-mode rate limit per IP and feature per minute. Pair with WAF/rate limits in production
AITUBERKIT_DEMO_RATE_LIMIT_PER_MINUTE="20"

# Forward Custom API reasoning/provider metadata to clients (false is recommended)
AITUBERKIT_FORWARD_CUSTOM_API_METADATA="false"

APIs that use server-side secrets or resources, such as CUSTOM_API_*, server-side API keys, chat log saving, VOICEVOX/AivisSpeech server URLs, and speaker-list updates, are controlled by these settings. When deploying to a public URL, explicitly choose at least one of disabled, protected, or demo. If users provide their own API keys in the browser settings, this setting usually requires no additional action.

Multimodal Settings

bash
# Enable multimodal feature for Azure, OpenRouter, Local LLM, Custom API and other models when custom model is selected
NEXT_PUBLIC_ENABLE_MULTIMODAL="true"

# Image display position setting
# input: Input area, side: Side panel, icon: Icon
NEXT_PUBLIC_IMAGE_DISPLAY_POSITION="input"

Realtime API Settings

bash
# Enable realtime API mode
NEXT_PUBLIC_REALTIME_API_MODE=false

# Set in frontend environment variables when using Realtime API
NEXT_PUBLIC_OPENAI_API_KEY=sk-...
NEXT_PUBLIC_AZURE_API_KEY=...
NEXT_PUBLIC_AZURE_ENDPOINT=...

# Realtime API mode content type (input_text or input_audio)
NEXT_PUBLIC_REALTIME_API_MODE_CONTENT_TYPE=input_text

# Realtime API mode voice
# OpenAI: alloy, coral, echo, verse, ballad, ash, shimmer, sage
# Azure: alloy, amuch, breeze, cove, dan, echo, elan, ember, jupiter, marilyn, shimmer
NEXT_PUBLIC_REALTIME_API_MODE_VOICE=alloy

Audio Mode Settings

bash
# Enable audio mode
NEXT_PUBLIC_AUDIO_MODE=false

# Set in frontend environment variables when using Audio API
NEXT_PUBLIC_OPENAI_API_KEY=sk-...

# Audio mode input type (input_text or input_audio)
NEXT_PUBLIC_AUDIO_MODE_INPUT_TYPE=input_text

# Audio mode voice (alloy, coral, echo, verse, ballad, ash, shimmer, sage)
NEXT_PUBLIC_AUDIO_MODE_VOICE=alloy

External Linkage Mode Settings

bash
# Enable external linkage mode
NEXT_PUBLIC_EXTERNAL_LINKAGE_MODE=true

# External Linkage WebSocket URL
NEXT_PUBLIC_EXTERNAL_LINKAGE_URL="ws://localhost:8000/ws"

Voice Synthesis Settings

For details, see Voice Synthesis Settings.

bash
# Voice synthesis engine to use
# voicevox, koeiromap, google, stylebertvits2, aivis_speech, aivis_cloud_api,
# gsvitts, elevenlabs, cartesia, openai, azure
NEXT_PUBLIC_SELECT_VOICE=voicevox

# VOICEVOX
# Server URL
VOICEVOX_SERVER_URL=http://localhost:50021
# Speaker ID
NEXT_PUBLIC_VOICEVOX_SPEAKER=46
# Speed
NEXT_PUBLIC_VOICEVOX_SPEED=1.0
# Pitch
NEXT_PUBLIC_VOICEVOX_PITCH=0.0
# Intonation
NEXT_PUBLIC_VOICEVOX_INTONATION=1.0

# Koeiromap
# API key
NEXT_PUBLIC_KOEIROMAP_KEY=

# Google Text-to-Speech
# Path to JSON file for authentication
GOOGLE_APPLICATION_CREDENTIALS="./credentials.json"
# API key
GOOGLE_TTS_KEY=""
# Language/model setting
NEXT_PUBLIC_GOOGLE_TTS_TYPE=

# Style-Bert-VITS2
# Server URL
STYLEBERTVITS2_SERVER_URL=""
# API key
STYLEBERTVITS2_API_KEY=""
# Model ID
NEXT_PUBLIC_STYLEBERTVITS2_MODEL_ID=0
# Style
NEXT_PUBLIC_STYLEBERTVITS2_STYLE=Neutral
# SDP/DP mix ratio
NEXT_PUBLIC_STYLEBERTVITS2_SDP_RATIO=0.2
# Speaking speed
NEXT_PUBLIC_STYLEBERTVITS2_LENGTH=1.0

# AivisSpeech
# Server URL
AIVIS_SPEECH_SERVER_URL=http://localhost:10101
# Speaker ID
NEXT_PUBLIC_AIVIS_SPEECH_SPEAKER=888753760
# Speed
NEXT_PUBLIC_AIVIS_SPEECH_SPEED=1.0
# Pitch
NEXT_PUBLIC_AIVIS_SPEECH_PITCH=0.0# Style strength / Intonation Scale
NEXT_PUBLIC_AIVIS_SPEECH_INTONATION_SCALE="1.0"
# Tempo dynamics / Tempo Dynamics
NEXT_PUBLIC_AIVIS_SPEECH_TEMPO_DYNAMICS="1.0"
# Pre phoneme silence / Pre Phoneme Length (seconds)
NEXT_PUBLIC_AIVIS_SPEECH_PRE_PHONEME_LENGTH="0.1"
# Post phoneme silence / Post Phoneme Length (seconds)
NEXT_PUBLIC_AIVIS_SPEECH_POST_PHONEME_LENGTH="0.1"

# Aivis Cloud API
# API Key / API Key
AIVIS_CLOUD_API_KEY=""
# Model UUID / Model UUID
NEXT_PUBLIC_AIVIS_CLOUD_MODEL_UUID=""
# Style ID / Style ID
NEXT_PUBLIC_AIVIS_CLOUD_STYLE_ID="0"
# Style Name / Style Name
NEXT_PUBLIC_AIVIS_CLOUD_STYLE_NAME=""
# Use style name or not (true/false) / Use style name or not (true/false)
NEXT_PUBLIC_AIVIS_CLOUD_USE_STYLE_NAME="false"
# Speed / Speed
NEXT_PUBLIC_AIVIS_CLOUD_SPEED="1.0"
# Pitch / Pitch
NEXT_PUBLIC_AIVIS_CLOUD_PITCH="0.0"
# Emotional intensity / Emotional intensity
NEXT_PUBLIC_AIVIS_CLOUD_INTONATION_SCALE="1.0"
# Tempo Dynamics / Tempo Dynamics
NEXT_PUBLIC_AIVIS_CLOUD_TEMPO_DYNAMICS="1.0"
# Pre phoneme silence / Pre Phoneme Length (seconds)
NEXT_PUBLIC_AIVIS_CLOUD_PRE_PHONEME_LENGTH="0.1"
# Post phoneme silence / Post Phoneme Length (seconds)
NEXT_PUBLIC_AIVIS_CLOUD_POST_PHONEME_LENGTH="0.1"

# GSVI TTS
# Server URL
NEXT_PUBLIC_GSVI_TTS_URL=http://127.0.0.1:5000/tts
# Model ID
NEXT_PUBLIC_GSVI_TTS_MODEL_ID=0
# Batch size
NEXT_PUBLIC_GSVI_TTS_BATCH_SIZE=2
# Speaking rate
NEXT_PUBLIC_GSVI_TTS_SPEECH_RATE=1.0

# ElevenLabs
# API key
ELEVENLABS_API_KEY=""
# Voice ID
NEXT_PUBLIC_ELEVENLABS_VOICE_ID=""

# Cartesia
# API key / API key
CARTESIA_API_KEY=""
# Model ID / model ID
NEXT_PUBLIC_CARTESIA_VOICE_ID=""

# OpenAI TTS
# API key
OPENAI_TTS_KEY=""
# Voice type
NEXT_PUBLIC_OPENAI_TTS_VOICE=shimmer
# Model
NEXT_PUBLIC_OPENAI_TTS_MODEL=tts-1
# Speaking speed
NEXT_PUBLIC_OPENAI_TTS_SPEED=1.0

# Azure OpenAPI TTS
# API key
AZURE_TTS_KEY=""
# Endpoint
AZURE_TTS_ENDPOINT=""
# Voice type
NEXT_PUBLIC_OPENAI_TTS_VOICE=shimmer
# Speaking speed
NEXT_PUBLIC_OPENAI_TTS_SPEED=1.0

Voice Input Settings

bash
# Speech recognition mode (browser, whisper)
NEXT_PUBLIC_SPEECH_RECOGNITION_MODE=browser

# Speech recognition timeout (seconds)
NEXT_PUBLIC_INITIAL_SPEECH_TIMEOUT=5.0

# Silence detection timeout (seconds)
NEXT_PUBLIC_NO_SPEECH_TIMEOUT=2.0

# Show silence progress bar (true/false)
NEXT_PUBLIC_SHOW_SILENCE_PROGRESS_BAR=true

# Continuous microphone input mode (true/false)
NEXT_PUBLIC_CONTINUOUS_MIC_LISTENING_MODE=false

# OpenAI API key (for Whisper speech recognition)
NEXT_PUBLIC_OPENAI_KEY=

# Transcription model (whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe)
NEXT_PUBLIC_WHISPER_TRANSCRIPTION_MODEL=whisper-1

YouTube Settings

For details, see YouTube Settings.

bash
# Whether to enable YouTube mode (true/false)
NEXT_PUBLIC_YOUTUBE_MODE=false

# YouTube API key
NEXT_PUBLIC_YOUTUBE_API_KEY=

# YouTube live stream ID
NEXT_PUBLIC_YOUTUBE_LIVE_ID=

# Comment source selection (youtube-api or onecomme)
NEXT_PUBLIC_YOUTUBE_COMMENT_SOURCE=youtube-api

# YouTube comment fetch interval (seconds)
NEXT_PUBLIC_YOUTUBE_COMMENT_INTERVAL=10

# Conversation continuation mode settings
NEXT_PUBLIC_CONVERSATION_CONTINUITY_NEW_TOPIC_THRESHOLD=3
NEXT_PUBLIC_CONVERSATION_CONTINUITY_SLEEP_THRESHOLD=6

# Conversation continuation mode: prompt customization (leave empty to use defaults)
NEXT_PUBLIC_CONVERSATION_CONTINUITY_PROMPT_EVALUATE=""
NEXT_PUBLIC_CONVERSATION_CONTINUITY_PROMPT_CONTINUATION=""
NEXT_PUBLIC_CONVERSATION_CONTINUITY_PROMPT_SELECT_COMMENT=""
NEXT_PUBLIC_CONVERSATION_CONTINUITY_PROMPT_NEW_TOPIC=""
NEXT_PUBLIC_CONVERSATION_CONTINUITY_PROMPT_SLEEP=""

# OneComme port number
NEXT_PUBLIC_ONECOMME_PORT=11180

Slide Settings

For details, see Slide Settings.

bash
# Set the initial state of slide mode (true/false)
NEXT_PUBLIC_SLIDE_MODE=false

Presence Detection Settings

For details, see Presence Detection Settings.

bash
# Enable/disable presence detection mode (true/false)
NEXT_PUBLIC_PRESENCE_DETECTION_ENABLED="false"

# Greeting message
NEXT_PUBLIC_PRESENCE_GREETING_MESSAGE="Welcome! Is there anything I can help you with?"

# Departure message (empty to disable)
NEXT_PUBLIC_PRESENCE_DEPARTURE_MESSAGE=""

# Clear chat history on departure (true/false)
NEXT_PUBLIC_PRESENCE_CLEAR_CHAT_ON_DEPARTURE="true"

# Departure timeout (seconds)
NEXT_PUBLIC_PRESENCE_DEPARTURE_TIMEOUT="3"

# Cooldown time (seconds)
NEXT_PUBLIC_PRESENCE_COOLDOWN_TIME="5"

# Detection sensitivity (low/medium/high)
NEXT_PUBLIC_PRESENCE_DETECTION_SENSITIVITY="medium"

# Detection confirmation time (seconds)
NEXT_PUBLIC_PRESENCE_DETECTION_THRESHOLD="0"

# Debug mode (true/false)
NEXT_PUBLIC_PRESENCE_DEBUG_MODE="false"

Idle Mode Settings

For details, see Idle Mode Settings.

bash
# Enable/disable idle mode (true/false)
NEXT_PUBLIC_IDLE_MODE_ENABLED="false"

# Playback mode (sequential/random)
NEXT_PUBLIC_IDLE_PLAYBACK_MODE="sequential"

# Speech interval (seconds)
NEXT_PUBLIC_IDLE_INTERVAL="30"

# Default emotion
NEXT_PUBLIC_IDLE_DEFAULT_EMOTION="neutral"

# Enable/disable time-based greetings
NEXT_PUBLIC_IDLE_TIME_PERIOD_ENABLED="false"

# Morning greeting phrase
NEXT_PUBLIC_IDLE_TIME_PERIOD_MORNING=""

# Afternoon greeting phrase
NEXT_PUBLIC_IDLE_TIME_PERIOD_AFTERNOON=""

# Evening greeting phrase
NEXT_PUBLIC_IDLE_TIME_PERIOD_EVENING=""

# Enable/disable AI auto-generated speech
NEXT_PUBLIC_IDLE_AI_GENERATION_ENABLED="false"

# AI auto-generation prompt template
NEXT_PUBLIC_IDLE_AI_PROMPT_TEMPLATE=""

Game Commentary Mode Settings

For details, see Game Commentary Mode Settings.

bash
# Enable/disable game commentary mode (true/false)
NEXT_PUBLIC_GAME_COMMENTARY_ENABLED="false"

# Capture interval (seconds, 0-20)
NEXT_PUBLIC_GAME_COMMENTARY_CAPTURE_INTERVAL="5"

# Context count (0-20, 0=disabled)
NEXT_PUBLIC_GAME_COMMENTARY_CONTEXT_COUNT="5"

# Commentary prompt template
NEXT_PUBLIC_GAME_COMMENTARY_PROMPT_TEMPLATE=""

# Capture image quality (0.3-1.0)
NEXT_PUBLIC_GAME_COMMENTARY_IMAGE_QUALITY="0.7"

# Resize width (px, 0=no resize)
NEXT_PUBLIC_GAME_COMMENTARY_RESIZE_WIDTH="1024"

# Save to chat log (true/false)
NEXT_PUBLIC_GAME_COMMENTARY_SAVE_TO_CHAT="true"

# Enable/disable background analysis during speech (true/false)
NEXT_PUBLIC_GAME_COMMENTARY_BACKGROUND_ANALYSIS_ENABLED="false"

# Background analysis prompt template
NEXT_PUBLIC_GAME_COMMENTARY_BACKGROUND_ANALYSIS_PROMPT_TEMPLATE=""

# Background analysis interval (seconds, 1-10)
NEXT_PUBLIC_GAME_COMMENTARY_BACKGROUND_ANALYSIS_INTERVAL="2"

Kiosk Mode Settings

For details, see Kiosk Mode Settings.

bash
# Enable/disable kiosk mode (true/false)
NEXT_PUBLIC_KIOSK_MODE_ENABLED="false"

# Passcode
NEXT_PUBLIC_KIOSK_PASSCODE=""

# Input character limit
NEXT_PUBLIC_KIOSK_MAX_INPUT_LENGTH="200"

# Enable/disable NG word filter (true/false)
NEXT_PUBLIC_KIOSK_NG_WORD_ENABLED="false"

# NG words (comma-separated)
NEXT_PUBLIC_KIOSK_NG_WORDS=""

# Guidance message
NEXT_PUBLIC_KIOSK_GUIDANCE_MESSAGE=""

# Guidance message display timeout (seconds)
NEXT_PUBLIC_KIOSK_GUIDANCE_TIMEOUT="60"

Other Settings

Advanced Settings

For details, see Advanced Settings.

bash
# Background video usage setting (true/false)
NEXT_PUBLIC_USE_VIDEO_AS_BACKGROUND="false"

# Hide video display setting (true/false)
NEXT_PUBLIC_HIDE_VIDEO_DISPLAY="false"

# Quick menu display settings (true/false)
NEXT_PUBLIC_SHOW_QUICK_MENU=true

# Timestamp inclusion setting (true/false)
NEXT_PUBLIC_INCLUDE_TIMESTAMP_IN_USER_MESSAGE=false

# Preset questions display setting (true/false)
NEXT_PUBLIC_SHOW_PRESET_QUESTIONS=false

# Preset questions (multiple can be specified with commas)
NEXT_PUBLIC_PRESET_QUESTIONS=

API Settings

For details, see API Settings.

bash
# Enable external instruction reception (true/false)
NEXT_PUBLIC_MESSAGE_RECEIVER_ENABLED=false

# Client ID
NEXT_PUBLIC_CLIENT_ID=""

# API key for /api/v1 Bearer authentication
AITUBERKIT_API_KEY=""

Embed Widget

For details, see Embed Widget.

bash
# Default embed ID
NEXT_PUBLIC_AITUBERKIT_DEFAULT_EMBED_ID="default"

# Public settings by embed ID (JSON)
# When allowedOrigins is omitted, the embed can be shown on any site.
NEXT_PUBLIC_AITUBERKIT_EMBEDS='{"default":{"characterName":"Nike-chan","modelType":"vrm","selectedVrmPath":"/vrm/nikechan_v2.vrm","showAssistantText":true,"showCharacterName":true}}'

Others

bash
# Introduction screen display setting (true/false)
NEXT_PUBLIC_SHOW_INTRODUCTION="true"

# Chat log width
NEXT_PUBLIC_CHAT_LOG_WIDTH=400

# Always prioritize environment variables on page reload
NEXT_PUBLIC_ALWAYS_OVERRIDE_WITH_ENV_VARIABLES="false"