Skip to content

FritzHeider/Veo-clip_automation

Repository files navigation

Veo Clip Automation Starter

This is a minimal, end-to-end scaffold to automate generating Veo clips from structured JSON (or Google Sheets).

High-Level Flow

  1. Ideation → Google Sheets (or Notion) with columns mapped to clip fields.
  2. Webhook → An Apps Script posts row JSON to your FastAPI /ingest endpoint.
  3. Ingest & Validate → Pydantic model validates against templates/veo_schema.json.
  4. Queue → A simple worker (stubbed call_veo_api) renders clips from JSON.
  5. Post-processscripts/post_process.sh adds burned-in captions, trims, formats for platforms.
  6. Publish → (Optional) Add platform upload scripts or SaaS hooks.

This repo avoids external APIs by default; fill in call_veo_api with your Veo/Flow integration when ready.

Quick Start

# 1) Create venv and install deps
uv venv && source .venv/bin/activate  # or python -m venv .venv
pip install -r requirements.txt

# 2) Run API
uvicorn api.main:app --host 0.0.0.0 --port 8080 --reload

# 3) Run worker (in another terminal)
python3 worker/worker.py

# 4) Convert a CSV of ideas to JSON payloads
python3 scripts/csv_to_json.py examples/ideas.csv out_json/

# 5) Post a sample JSON to the API (simulate webhook)
curl -X POST http://localhost:8080/ingest -H "Content-Type: application/json" --data @examples/clip_blackhole.json

File Map

  • templates/veo_schema.json — JSON Schema for veo_clip documents.
  • api/models.py — Pydantic models mirroring the schema.
  • api/main.py — FastAPI app with POST /ingest and GET /health.
  • worker/worker.py — Pulls jobs from jobs/ (json files), calls call_veo_api (stub), writes outputs to renders/.
  • scripts/sheets_webhook.gs — Google Apps Script to push row JSON to the API on edit/new row.
  • scripts/csv_to_json.py — Converts a CSV (ideas) to a folder of clip JSONs conforming to schema.
  • scripts/post_process.sh — ffmpeg-based caption burn-in + format conversion.
  • examples/ideas.csv — Example ideas.
  • examples/clip_blackhole.json — Example clip config.

Env

Copy .env.example.env and fill in secrets when you wire real services (Veo, storage, etc.).

Veo-clip_automation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published