Settings

Secrets live in .env and are read from process.env only. This page shows which keys are set — never their values.

RunPod: liveClaude: mockFanvue: mockInstagram: mockYouTube: mock

Generation

KeyStatusPurpose
RUNPOD_API_KEYset

RunPod API key for the on-demand 4090 ComfyUI pod.

RUNPOD_TEMPLATE_IDnot set

RunPod template the ComfyUI pod is deployed from.

Required only for live pod deploys.

CIVITAI_API_KEYset

Civitai (civitai.red) API key — needed to download extra LoRAs from the Models page.

KIE_AI_KEYnot set

Optional managed Veo 3.1 route (no GPU needed).

Optional — the RunPod route is used instead.

LLM

KeyStatusPurpose
ANTHROPIC_API_KEYnot set

Claude API key for captions and Fanvue chat drafts.

Drafts fall back to the template reply from the Fanvue tutorial.

Fanvue

KeyStatusPurpose
FANVUE_CLIENT_IDnot set

OAuth 2.0 client id (Builder area).

Fanvue inbox and publishing run against the in-memory mock.

FANVUE_CLIENT_SECRETnot set

OAuth client secret — sent as client_secret_basic, server-side only.

Confidential-client token exchange is unavailable.

FANVUE_REDIRECT_URInot set

Must match the redirect URI registered for the app.

Defaults to http://localhost:3000/api/fanvue/callback.

FANVUE_WEBHOOK_SECRETnot set

signingSecret from POST /webhooks/subscriptions (returned once).

Incoming webhooks are rejected in live mode.

Public socials

KeyStatusPurpose
INSTAGRAM_ACCESS_TOKENnot set

Instagram Graph API token (Business account).

Instagram publishing is simulated.

INSTAGRAM_USER_IDnot set

Instagram Business user id used for /media and /media_publish.

Instagram publishing is simulated.

YOUTUBE_CLIENT_IDnot set

YouTube Data API v3 OAuth client id.

YouTube publishing is simulated.

YOUTUBE_CLIENT_SECRETnot set

YouTube OAuth client secret.

YouTube publishing is simulated.

YOUTUBE_REFRESH_TOKENnot set

Long-lived YouTube refresh token.

YouTube publishing is simulated.

Orchestration

KeyStatusPurpose
N8N_WEBHOOK_BASEnot set

Base URL n8n webhooks are called on.

Defaults to http://localhost:5678/webhook.

Dashboard

KeyStatusPurpose
DATABASE_URLset

Prisma SQLite connection string.

Fanvue connection

OAuth 2.0 + PKCE against auth.fanvue.com

Requests scopes: openid, offline_access, offline, read:self, read:chat, write:chat. The client secret is sent as client_secret_basic and never leaves the server.

Connect Fanvue

Age-safety blocklist

100 terms, checked before every generation

  • minor51 terms
  • familial-minor-coded12 terms
  • school21 terms
  • real-person16 terms
  • numeric ages below 18pattern-matched

Personas are validated as 18+ by the schema itself, and a persona whose own description trips the blocklist will not load at all.

Paths

Personas
/root/ai-creator-stack/personas
n8n
http://localhost:5678/webhook