Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 29 additions & 29 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
# AIVIDIO / VIDMATION Configuration
# AIVIDIO Configuration
# Copy to .env and fill in your values
# Production: https://aividio.com

# --- LLM Providers ---
VIDMATION_ANTHROPIC_API_KEY=sk-ant-...
VIDMATION_OPENAI_API_KEY=sk-...
AIVIDIO_ANTHROPIC_API_KEY=sk-ant-...
AIVIDIO_OPENAI_API_KEY=sk-...

# --- TTS Providers ---
VIDMATION_ELEVENLABS_API_KEY=...
AIVIDIO_ELEVENLABS_API_KEY=...

# --- AI Model Platforms ---
VIDMATION_REPLICATE_API_TOKEN=r8_...
VIDMATION_FAL_KEY=...
AIVIDIO_REPLICATE_API_TOKEN=r8_...
AIVIDIO_FAL_KEY=...

# --- Stock Media ---
VIDMATION_PEXELS_API_KEY=...
VIDMATION_PIXABAY_API_KEY=...
AIVIDIO_PEXELS_API_KEY=...
AIVIDIO_PIXABAY_API_KEY=...

# --- Image Generation ---
# Uses OpenAI key for DALL-E, or Replicate/fal for Flux/SD

# --- Database ---
# Development (SQLite):
# VIDMATION_DATABASE_URL=sqlite:///data/vidmation.db
# AIVIDIO_DATABASE_URL=sqlite:///data/aividio.db
# Production (PostgreSQL):
VIDMATION_DATABASE_URL=postgresql://aividio_user:PASSWORD@localhost:5432/aividio_prod
AIVIDIO_DATABASE_URL=postgresql://aividio_user:PASSWORD@localhost:5432/aividio_prod

# --- Web ---
VIDMATION_SECRET_KEY=change-me-use-openssl-rand-hex-32
VIDMATION_WEB_HOST=0.0.0.0
VIDMATION_WEB_PORT=8001
AIVIDIO_SECRET_KEY=change-me-use-openssl-rand-hex-32
AIVIDIO_WEB_HOST=0.0.0.0
AIVIDIO_WEB_PORT=8001

# --- Auth / JWT ---
VIDMATION_JWT_SECRET=change-me-use-openssl-rand-hex-32
VIDMATION_JWT_ACCESS_TOKEN_EXPIRE_MINUTES=15
VIDMATION_JWT_REFRESH_TOKEN_EXPIRE_DAYS=7
AIVIDIO_JWT_SECRET=change-me-use-openssl-rand-hex-32
AIVIDIO_JWT_ACCESS_TOKEN_EXPIRE_MINUTES=15
AIVIDIO_JWT_REFRESH_TOKEN_EXPIRE_DAYS=7

# --- Queue (optional, default uses SQLite) ---
VIDMATION_USE_REDIS=false
VIDMATION_REDIS_URL=redis://localhost:6379/0
AIVIDIO_USE_REDIS=false
AIVIDIO_REDIS_URL=redis://localhost:6379/0

# --- Defaults ---
VIDMATION_DEFAULT_LLM_PROVIDER=claude
VIDMATION_DEFAULT_TTS_PROVIDER=elevenlabs
VIDMATION_DEFAULT_IMAGE_PROVIDER=dalle
VIDMATION_DEFAULT_VIDEO_FORMAT=landscape
AIVIDIO_DEFAULT_LLM_PROVIDER=claude
AIVIDIO_DEFAULT_TTS_PROVIDER=elevenlabs
AIVIDIO_DEFAULT_IMAGE_PROVIDER=dalle
AIVIDIO_DEFAULT_VIDEO_FORMAT=landscape

# --- Stripe Billing ---
# VIDMATION_STRIPE_SECRET_KEY=sk_live_...
# VIDMATION_STRIPE_PUBLISHABLE_KEY=pk_live_...
# VIDMATION_STRIPE_WEBHOOK_SECRET=whsec_...
# AIVIDIO_STRIPE_SECRET_KEY=sk_live_...
# AIVIDIO_STRIPE_PUBLISHABLE_KEY=pk_live_...
# AIVIDIO_STRIPE_WEBHOOK_SECRET=whsec_...

# --- Notifications ---
# VIDMATION_RESEND_API_KEY=re_...
# VIDMATION_EMAIL_FROM=noreply@aividio.com
# VIDMATION_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
# VIDMATION_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
# AIVIDIO_RESEND_API_KEY=re_...
# AIVIDIO_EMAIL_FROM=noreply@aividio.com
# AIVIDIO_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
# AIVIDIO_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/...
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy VIDMATION
name: Deploy AIVIDIO

on:
push:
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ RUN mkdir -p data output assets/fonts assets/music channel_profiles
EXPOSE 8000

# Default: run web server
CMD ["uvicorn", "vidmation.web.app:create_app", "--factory", "--host", "0.0.0.0", "--port", "8000"]
CMD ["uvicorn", "aividio.web.app:create_app", "--factory", "--host", "0.0.0.0", "--port", "8000"]
2 changes: 1 addition & 1 deletion alembic.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[alembic]
script_location = migrations
sqlalchemy.url = sqlite:///data/vidmation.db
sqlalchemy.url = sqlite:///data/aividio.db

[loggers]
keys = root,sqlalchemy,alembic
Expand Down
2 changes: 1 addition & 1 deletion deploy/aividio-api.service
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ User=root
Group=root
WorkingDirectory=/var/www/aividio
EnvironmentFile=/var/www/aividio/.env
ExecStart=/var/www/aividio/.venv/bin/uvicorn vidmation.web.app:create_app --factory --host 127.0.0.1 --port 8001 --workers 2
ExecStart=/var/www/aividio/.venv/bin/uvicorn aividio.web.app:create_app --factory --host 127.0.0.1 --port 8001 --workers 2
Restart=always
RestartSec=10
StandardOutput=journal
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ services:

worker:
build: .
command: ["python", "-m", "vidmation", "worker"]
command: ["python", "-m", "aividio", "worker"]
volumes:
- ./data:/app/data
- ./output:/app/output
Expand Down
6 changes: 6 additions & 0 deletions frontend/next-env.d 2.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts";

// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
14 changes: 14 additions & 0 deletions frontend/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import type { NextConfig } from "next";

const nextConfig: NextConfig = {
async rewrites() {
return [
{
source: "/api/:path*",
destination: "http://localhost:8001/api/:path*",
},
];
},
};

export default nextConfig;
45 changes: 45 additions & 0 deletions frontend/package 2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"name": "frontend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"keywords": [],
"author": "",
"license": "ISC",
"type": "module",
"dependencies": {
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slot": "^1.2.4",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-tooltip": "^1.2.8",
"@tailwindcss/postcss": "^4.2.2",
"@types/node": "^25.5.2",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^1.7.0",
"next": "^16.2.2",
"postcss": "^8.5.8",
"react": "^19.2.4",
"react-dom": "^19.2.4",
"recharts": "^3.8.1",
"tailwind-merge": "^3.5.0",
"tailwindcss": "^4.2.2",
"typescript": "^6.0.2"
}
}
Loading