#!/usr/bin/env bash # Dual-Spark master-K0 multishot @704x1280 + ESRGAN x2 (~1408x2560 delivery 2K) set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" export H3_TURBO=0 H3_DUAL_TURBO=0 HEAD="${HEAD:-10.100.10.1}" WORKER="${WORKER:-10.100.10.5}" OUT="${OUT_DIR:-$HOME/Videos/anime_2k_bench}" REALISM="${REALISM:-0}" PLAN="${PLAN:-$ROOT/workflows/anime_2k_bench/anime_2k_plan.json}" SPANS="${SPANS:-$ROOT/workflows/anime_2k_bench/scripts/h3-spans.py}" if [[ ! -f "$SPANS" ]]; then SPANS="$ROOT/workflows/anime_2k_bench/scripts/h3-spans.py" fi if [[ ! -f "$SPANS" ]]; then echo "ERROR: h3-spans.py not found under package workflows/" >&2 exit 1 fi if [[ "$REALISM" == "1" ]]; then KF_WF="$ROOT/workflows/anime_2k_bench/graphs/jc-noupscale-api-realism.json" SPAN_WF="$ROOT/workflows/anime_2k_bench/graphs/jc-baseline-workflow-api-realism.json" else KF_WF="$ROOT/workflows/anime_2k_bench/graphs/jc-noupscale-api.json" SPAN_WF="$ROOT/workflows/anime_2k_bench/graphs/jc-baseline-workflow-api.json" fi mkdir -p "$OUT" for ip in "$HEAD" "$WORKER"; do curl -sf -m 5 "http://${ip}:8188/system_stats" >/dev/null || { echo "ERROR: Comfy not up at $ip:8188 — run scripts/run_dual_h3.sh first" >&2 exit 1 } done export PYTHONPATH="$(dirname "$SPANS")${PYTHONPATH:+:$PYTHONPATH}" cd "$(dirname "$SPANS")" exec python3 "$SPANS" \ --plan "$PLAN" \ --nodes "${HEAD}:8188,${WORKER}:8188" \ --kf-mode master-parallel \ --upscale \ --te heretic \ --outdir "$OUT" \ --workflow "$KF_WF" \ --span-workflow "$SPAN_WF"