#!/usr/bin/env bash
# Full pipeline: Nano Banana 2 → Grok Imagine video
# Usage: ./pipeline.sh "image prompt" "animation prompt" [output_name]
#
# Example:
#   ./pipeline.sh \
#     "A serene mountain lake at dawn, Chinese ink wash style, mist over water" \
#     "Gentle ripples spread across the lake, mist slowly drifts, camera slowly pushes in" \
#     mountain-lake

set -euo pipefail

IMAGE_PROMPT="${1:?Usage: pipeline.sh <image_prompt> <animation_prompt> [name]}"
VIDEO_PROMPT="${2:?Provide an animation prompt}"
NAME="${3:-$(date +%Y-%m-%d-%H-%M-%S)}"

SKILL_DIR="$(cd "$(dirname "$0")/.." && pwd)"
NANO_SCRIPT="/usr/local/lib/node_modules/openclaw/skills/nano-banana-pro/scripts/generate_image.py"
VIDEO_SCRIPT="$SKILL_DIR/scripts/generate_video.py"

IMAGE_OUT="${NAME}.png"
VIDEO_OUT="${NAME}-video.mp4"

echo "━━━ Step 1: Generate image with Nano Banana 2 ━━━"
uv run "$NANO_SCRIPT" \
  --prompt "$IMAGE_PROMPT" \
  --filename "$IMAGE_OUT" \
  --resolution 1K

echo ""
echo "━━━ Step 2: Animate with Grok Imagine ━━━"
uv run "$VIDEO_SCRIPT" \
  --prompt "$VIDEO_PROMPT" \
  --image "$IMAGE_OUT" \
  --duration 8 \
  --aspect-ratio 16:9 \
  --resolution 720p \
  --output "$VIDEO_OUT"

echo ""
echo "✅ Pipeline complete!"
echo "   Image : $IMAGE_OUT"
echo "   Video : $VIDEO_OUT"
