t2m / .env.example
thanhkt's picture
implement core api
50a7bf0
# FastAPI Video Backend Environment Configuration
# Copy this file to .env and update the values
# Application Settings
APP_NAME="FastAPI Video Backend"
APP_VERSION="0.1.0"
DEBUG=true
ENVIRONMENT=development
# Server Settings
HOST=0.0.0.0
PORT=8000
RELOAD=true
# API Settings
API_V1_PREFIX="/api/v1"
DOCS_URL="/docs"
REDOC_URL="/redoc"
OPENAPI_URL="/openapi.json"
# CORS Settings
ALLOWED_ORIGINS="http://localhost:3000,http://localhost:8080,http://127.0.0.1:3000"
ALLOWED_METHODS="GET,POST,PUT,DELETE,OPTIONS"
ALLOWED_HEADERS="*"
# Redis Settings
REDIS_URL="redis://localhost:6379/0"
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
REDIS_MAX_CONNECTIONS=20
REDIS_SOCKET_TIMEOUT=5
REDIS_SOCKET_CONNECT_TIMEOUT=5
# Clerk Authentication Settings (REQUIRED)
CLERK_SECRET_KEY=your_clerk_secret_key_here
CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key_here
CLERK_WEBHOOK_SECRET=your_clerk_webhook_secret_here
CLERK_JWT_VERIFICATION=true
# Job Queue Settings
JOB_QUEUE_NAME=video_generation_queue
JOB_QUEUE_MAX_SIZE=1000
JOB_DEFAULT_TIMEOUT=3600
JOB_RETRY_ATTEMPTS=3
# File Storage Settings
UPLOAD_DIR=./uploads
MAX_FILE_SIZE=104857600
ALLOWED_FILE_TYPES="image/jpeg,image/png,image/gif,video/mp4,text/plain"
# Rate Limiting Settings
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_WINDOW=60
RATE_LIMIT_PER_USER=50
# Logging Settings
LOG_LEVEL=INFO
LOG_FORMAT=json
LOG_FILE=
LOG_ROTATION="1 day"
LOG_RETENTION="30 days"
# Security Settings (REQUIRED)
SECRET_KEY=your_super_secret_key_here_change_in_production
ACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_DAYS=7
# Video Generation Settings
VIDEO_OUTPUT_DIR=./videos
VIDEO_QUALITY_DEFAULT=medium
VIDEO_MAX_DURATION=600
# Health Check Settings
HEALTH_CHECK_INTERVAL=30
HEALTH_CHECK_TIMEOUT=5