generated from fahricansecer/boilerplate-be
101 lines
3.3 KiB
Plaintext
101 lines
3.3 KiB
Plaintext
# Environment
|
||
NODE_ENV=development
|
||
PORT=3000
|
||
|
||
# Database
|
||
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/contentgen_db?schema=public"
|
||
|
||
# JWT
|
||
JWT_SECRET=your-super-secret-jwt-key-change-in-production
|
||
JWT_ACCESS_EXPIRATION=15m
|
||
JWT_REFRESH_EXPIRATION=7d
|
||
|
||
# Redis
|
||
REDIS_HOST=localhost
|
||
REDIS_PORT=6379
|
||
REDIS_PASSWORD=
|
||
|
||
# i18n
|
||
DEFAULT_LANGUAGE=tr
|
||
FALLBACK_LANGUAGE=en
|
||
|
||
# Frontend URL (CORS ve WebSocket için)
|
||
FRONTEND_URL=http://localhost:3001
|
||
|
||
# Optional Features (set to "true" to enable)
|
||
ENABLE_MAIL=false
|
||
ENABLE_S3=true
|
||
ENABLE_WEBSOCKET=true
|
||
ENABLE_MULTI_TENANCY=false
|
||
ENABLE_GEMINI=true
|
||
|
||
# Mail (Optional - only needed if ENABLE_MAIL=true)
|
||
MAIL_HOST=smtp.example.com
|
||
MAIL_PORT=587
|
||
MAIL_USER=
|
||
MAIL_PASSWORD=
|
||
MAIL_FROM=noreply@contentgen.ai
|
||
|
||
# Cloudflare R2 / S3 Storage (ENABLE_S3=true gerekir)
|
||
# Cloudflare R2: https://dash.cloudflare.com → R2 → API Tokens
|
||
S3_ENDPOINT=https://<account_id>.r2.cloudflarestorage.com
|
||
S3_ACCESS_KEY=your-r2-access-key
|
||
S3_SECRET_KEY=your-r2-secret-key
|
||
S3_BUCKET=contentgen-media
|
||
S3_REGION=auto
|
||
S3_PUBLIC_URL=https://pub-xxxx.r2.dev
|
||
|
||
# Throttle / Rate Limiting
|
||
THROTTLE_TTL=60000
|
||
THROTTLE_LIMIT=100
|
||
|
||
# ─── AI API Keys ────────────────────────────────────────────────────
|
||
|
||
# Google Gemini AI — Script üretimi (ZORUNLU)
|
||
# https://aistudio.google.com/apikey
|
||
GOOGLE_API_KEY=your-google-gemini-api-key
|
||
GEMINI_MODEL=gemini-2.5-flash
|
||
|
||
# HiggsField AI — Video clip üretimi (ZORUNLU)
|
||
# https://higgsfield.ai → Dashboard → API Keys
|
||
HIGGSFIELD_API_KEY=your-higgsfield-api-key
|
||
HIGGSFIELD_BASE_URL=https://api.higgsfield.ai/v1
|
||
|
||
# ElevenLabs — Text-to-Speech narrasyon (ZORUNLU)
|
||
# https://elevenlabs.io → Profile → API Key
|
||
ELEVENLABS_API_KEY=your-elevenlabs-api-key
|
||
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
|
||
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
|
||
|
||
# Suno AI — Müzik üretimi (ZORUNLU)
|
||
# https://suno.com → API erişimi için iletişime geçin
|
||
SUNO_API_KEY=your-suno-api-key
|
||
SUNO_BASE_URL=https://api.suno.ai/v1
|
||
|
||
# AudioCraft — HuggingFace (Ambient ses, opsiyonel)
|
||
# https://huggingface.co/settings/tokens
|
||
HUGGINGFACE_API_KEY=hf_your-huggingface-api-key
|
||
MUSICGEN_MODEL=facebook/musicgen-small
|
||
AUDIOGEN_MODEL=facebook/audiogen-medium
|
||
|
||
# X / Twitter API — Tweet → Video (ZORUNLU)
|
||
# https://developer.twitter.com → Project → Keys and Tokens
|
||
TWITTER_BEARER_TOKEN=your-twitter-bearer-token
|
||
TWITTER_API_KEY=your-twitter-api-key
|
||
TWITTER_API_SECRET=your-twitter-api-secret
|
||
|
||
# ─── C# Media Worker ────────────────────────────────────────────────
|
||
|
||
# Worker'ın render tamamlandığında çağırdığı callback URL
|
||
# Local: http://localhost:3000/api/render-callback
|
||
# Production: https://api.contentgen.ai/api/render-callback
|
||
WORKER_CALLBACK_URL=http://localhost:3000/api/render-callback
|
||
|
||
# Redis queue name (Worker ile aynı olmalı)
|
||
VIDEO_QUEUE_NAME=video-generation
|
||
|
||
# ─── Stripe (Şimdilik devre dışı) ───────────────────────────────────
|
||
# Stripe entegrasyonu ilerleyen aşamada eklenecek
|
||
# STRIPE_SECRET_KEY=sk_test_your-stripe-key
|
||
# STRIPE_WEBHOOK_SECRET=whsec_your-webhook-secret
|