#!/bin/bash
# 文生视频入口 (Text-to-Video)
# 主力模型: MiniMax-Hailuo-2.3 | 降级: 即梦 jimeng_t2v_v30
# 用法: ./video.sh --output-dir /abs/path --name 中文名 "描述" [--duration 6] [--resolution 768P] [--aspect-ratio 16:9]
set -euo pipefail

OUTPUT_DIR=""
NAME=""
PROMPT=""
DURATION=""
RESOLUTION=""
ASPECT_RATIO=""

while [ $# -gt 0 ]; do
    case "$1" in
        --output-dir) OUTPUT_DIR="$2"; shift 2 ;;
        --name) NAME="$2"; shift 2 ;;
        --duration) DURATION="$2"; shift 2 ;;
        --resolution) RESOLUTION="$2"; shift 2 ;;
        --aspect-ratio) ASPECT_RATIO="$2"; shift 2 ;;
        *)
            if [ -z "$PROMPT" ]; then
                PROMPT="$1"
            fi
            shift
            ;;
    esac
done

if [ -z "$OUTPUT_DIR" ] || [ -z "$NAME" ] || [ -z "$PROMPT" ]; then
    echo "用法: ./video.sh --output-dir <绝对路径> --name <中文名> \"视频描述\""
    echo "示例: ./video.sh --output-dir /root/.openclaw/workspace --name 日落延时 \"a sunset timelapse\""
    exit 1
fi

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"

ARGS=()
ARGS+=("video")
ARGS+=("$PROMPT")
ARGS+=(--output-dir "$OUTPUT_DIR")
ARGS+=(--name "$NAME")
[ -n "$DURATION" ] && ARGS+=(--duration "$DURATION")
[ -n "$RESOLUTION" ] && ARGS+=(--resolution "$RESOLUTION")
[ -n "$ASPECT_RATIO" ] && ARGS+=(--aspect-ratio "$ASPECT_RATIO")

python3 "$SCRIPT_DIR/generate.py" "${ARGS[@]}"
