47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Local development helper (Docker-first).
|
|
# - mock mode: no ComfyUI / no OpenAI key required (uses fallback scenes)
|
|
# - comfy mode: assumes ComfyUI is running on host at :8188
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
MODE="${1:-mock}" # mock | comfy
|
|
PROMPT="${2:-写一个温暖的城市夜景故事}"
|
|
|
|
CONFIG_PATH="${CONFIG_PATH:-./configs/config.yaml}"
|
|
|
|
echo "[dev] building image..."
|
|
docker compose build
|
|
|
|
if [[ "$MODE" == "mock" ]]; then
|
|
echo "[dev] run mock pipeline..."
|
|
docker compose run --rm \
|
|
-e OPENAI_API_KEY="${OPENAI_API_KEY:-}" \
|
|
-e OPENAI_BASE_URL="${OPENAI_BASE_URL:-}" \
|
|
aivideo \
|
|
python main.py --config "$CONFIG_PATH" --prompt "$PROMPT" --mock
|
|
echo "[dev] done. output: ./final_poc.mp4"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$MODE" == "comfy" ]]; then
|
|
echo "[dev] checking ComfyUI connectivity (host.docker.internal)..."
|
|
docker compose run --rm aivideo python scripts/check_comfy.py --base-url http://host.docker.internal:8188 >/dev/null
|
|
echo "[dev] run comfy pipeline..."
|
|
echo "[dev] NOTE: set app.comfy_base_url=http://host.docker.internal:8188 in configs/config.yaml"
|
|
docker compose run --rm \
|
|
-e OPENAI_API_KEY="${OPENAI_API_KEY:-}" \
|
|
-e OPENAI_BASE_URL="${OPENAI_BASE_URL:-}" \
|
|
aivideo \
|
|
python main.py --config "$CONFIG_PATH" --prompt "$PROMPT"
|
|
echo "[dev] done. output: ./final_poc.mp4"
|
|
exit 0
|
|
fi
|
|
|
|
echo "[dev] unknown mode: $MODE (use: mock | comfy)" >&2
|
|
exit 2
|
|
|