Douvi Shorts AI
Live

SYSTEM

Integrations

AI, channel and asset providers stay server-only and provider-swappable.

Supabase

Required

Database, channel snapshots and agent state

NEXT_PUBLIC_SUPABASE_URL + SERVICE_ROLE

YouTube OAuth

Phase 2

Read-only channel and Analytics access

GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET

YouTube Data

Phase 2

Trend discovery via OAuth or API key

YOUTUBE_API_KEY (optional)

Gemini

Phase 2–3

Research, fact-checking and structured Story Agent

GEMINI_API_KEY

Pexels

Phase 3

Portrait stock-video search with source attribution

PEXELS_API_KEY

Token Vault

Security

AES-256-GCM encryption for OAuth secrets

TOKEN_ENCRYPTION_KEY

Admin Gate

Security

Temporary single-admin protection before SaaS auth

DOUVI_ADMIN_KEY / ADMIN_SESSION_SECRET
PHASE 3 ARCHITECTURE

Research stays grounded. Asset provenance stays attached.

YouTube OAuth remains read-only. Story Agent consumes already fact-checked research, while Asset Director stores Pexels source/creator metadata alongside every candidate so the renderer can keep provenance intact.

Channel DNAResearchStory AgentPexels Asset DirectorRender Manifest
NEXT SETUP

Environment variables to add in Vercel

DOUVI_ADMIN_KEY
ADMIN_SESSION_SECRET
TOKEN_ENCRYPTION_KEY
NEXT_PUBLIC_SUPABASE_URL
SUPABASE_SERVICE_ROLE_KEY
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
YOUTUBE_REDIRECT_URI
GEMINI_API_KEY
PEXELS_API_KEY
PEXELS_LOCALE=vi-VN

Run migrations 001 → 002 → 003. Pexels is optional for build/runtime: without its key, Story Studio keeps AI image prompts as the fallback plan.