FigJam Diagram: Auto Brand — AI Video Factory (expires 2026-04-13)
Automated AI short-form video factory. Generates ideas, writes scripts via AWS Bedrock (Claude), renders videos with Amazon Nova Reel, publishes to TikTok & YouTube, and collects analytics for performance-driven prompting.
| Repository | zolty-mat/auto_brand |
| Internal URL | https://auto-brand.k3s.internal.strommen.systems |
| Public URL | https://auto-brand.k3s.strommen.systems (Authentik SSO) |
| Namespace | auto-brand |
| Helm Chart | auto_brand/helm/auto-brand/ (in the auto_brand repo) |
Registry note: Auto-brand images are still on ECR (
855878721457.dkr.ecr.us-east-1.amazonaws.com/k3s-homelab/auto-brand-*). Harbor migration is pending.
idea.generate → script.generate → video.render → video.publish → analytics.collect
Each stage is a NATS JetStream subject. Services consume from their subject and publish to the next. This decouples services and allows independent scaling, retries, and backpressure.
| Service | Technology | Port | Purpose |
|---|---|---|---|
web-ui |
Vue.js 3 + FastAPI | 8000 | SPA dashboard, credential management |
orchestrator |
FastAPI | 8001 | Pipeline controller, job management |
llm-service |
FastAPI | 8002 | LLM abstraction (Bedrock/OpenAI) |
video-service |
FastAPI | 8003 | Amazon Nova Reel video generation |
publisher |
FastAPI | 8004 | YouTube + TikTok upload |
analytics |
FastAPI | 8005 | Metrics collection + reinforcement |
experimentation |
FastAPI | 8006 | A/B testing engine |
| Component | Technology | Storage |
|---|---|---|
| Database | PostgreSQL 16 StatefulSet | 5Gi Longhorn PVC |
| Queue | NATS JetStream StatefulSet | 2Gi Longhorn PVC |
| Cache | Redis 7 StatefulSet | 1Gi Longhorn PVC |
| Videos | AWS S3 | k3s-homelab-auto-brand-videos |
start_async_invoke (~$0.80/6s clip, ~3.5 min render)authentik-forward-auth middleware in public-ingress namespace)auto-brand.k3s.internal.strommen.systemsauto-brand-secretsImages (7 services): 855878721457.dkr.ecr.us-east-1.amazonaws.com/k3s-homelab/auto-brand-*:latest
TODO: Auto-brand is still on ECR (legacy). Harbor migration is pending.
Workflow: .github/workflows/deploy-k3s.yml — matrix build, only changed services are rebuilt. Helm deploy via helm upgrade --install.
No PostgreSQL backup CronJob:
auto-brand-postgres(and NATS/Redis StatefulSets) have no automated S3 backup. Data loss risk if PVCs are lost. Add apostgres-backupCronJob similar tokubernetes/apps/cardboard/postgres-backup-cronjob.yaml.
RBAC gap:
kubernetes/apps/auto-brand/rbac.yamlRole is missing theserviceaccountsresource. If CI deploy tries to create a ServiceAccount in the namespace, the runner will receive 403 Forbidden. Addserviceaccountsto the Role's resource list.
Terraform module terraform/modules/auto_brand_iam/ provides:
InvokeModel, InvokeModelWithResponseStream, StartAsyncInvoke, GetAsyncInvokek3s-homelab-auto-brand-videosServiceMonitor auto-brand-monitor scrapes all services. Key metrics: pipeline stage durations, video render costs, LLM token usage, publish success rate.