# 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://.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