Cyril Dupland
feat transcription: implement meeting transcription quotas with project ID and duration limits, enhancing validation and quota management. Update settings and documentation to reflect new features and usage examples.
833089d | # API Keys - REMPLACEZ PAR VOS VRAIES CLÉS | |
| OPENAI_API_KEY=sk-your-openai-key-here | |
| MISTRALAI_API_KEY=your-mistral-key-here | |
| # JWT Security - CHANGEZ EN PRODUCTION | |
| JWT_SECRET_KEY=dev-secret-key-change-in-production-use-secure-random-string | |
| JWT_ALGORITHM=HS256 | |
| JWT_EXPIRATION_MINUTES=60 | |
| # API Config | |
| API_TITLE=CAPL Routeur IA API | |
| API_VERSION=1.0.0 | |
| ENVIRONMENT=development | |
| # LangSmith (optionnel - pour monitoring) | |
| LANGCHAIN_TRACING_V2=false | |
| LANGCHAIN_API_KEY= | |
| LANGCHAIN_PROJECT=routeur-ia | |
| # Voice WebRTC ICE servers (STUN/TURN pour NAT traversal sur HF Spaces) | |
| # DAILY_API_KEY=61efebb10fa3956006a11e194980876c4453311ef25737fb2e434bc040326deb | |
| # PDF - logo en haut du document (section dédiée) | |
| PDF_LOGO_PATH=assets/logo.png | |
| MAX_UPLOAD_MB_AUDIO=500 | |
| # Meeting transcription quotas | |
| # max_duration_seconds is passed in form-data by the client for each upload. | |
| # Optional: default used when client doesn't specify (e.g. docs/tests) | |
| MEETING_DEFAULT_MAX_UPLOAD_DURATION_SECONDS=3600 | |
| # Supabase Core (project-level quotas - optional, may be empty) | |
| # SUPABASE_CORE_URL=https://xxx.supabase.co | |
| # SUPABASE_CORE_KEY=eyJ... | |
| # SUPABASE_CORE_QUOTA_TABLE=project_meeting_quotas | |
| # SUPABASE_CORE_QUOTA_PROJECT_ID_COL=project_id | |
| # SUPABASE_CORE_QUOTA_USED_SECONDS_COL=used_seconds | |
| # SUPABASE_CORE_QUOTA_LIMIT_SECONDS=3600 |