80 lines
2.0 KiB
Bash
80 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
|
|
# Helios-Distilled with DMD Example
|
|
# Fast generation with Distribution Matching Distillation
|
|
|
|
API_URL="${API_URL:-http://localhost:8000}"
|
|
MODEL="${MODEL:-BestWishYsh/Helios-Distilled}"
|
|
PROMPT="${PROMPT:-A serene lakeside sunrise with mist over the water.}"
|
|
|
|
echo "==================================="
|
|
echo "Helios-Distilled with DMD"
|
|
echo "==================================="
|
|
echo "API URL: $API_URL"
|
|
echo "Model: $MODEL"
|
|
echo "Prompt: $PROMPT"
|
|
echo ""
|
|
|
|
# Model-specific parameters for Helios-Distilled
|
|
extra_params='{
|
|
"is_enable_stage2": true,
|
|
"pyramid_num_stages": 3,
|
|
"pyramid_num_inference_steps_list": [2, 2, 2],
|
|
"is_amplify_first_chunk": true
|
|
}'
|
|
|
|
echo "Model extra params: $extra_params"
|
|
echo ""
|
|
|
|
# Create video generation job
|
|
echo "Creating video generation job..."
|
|
RESPONSE=$(curl -s -X POST "$API_URL/v1/videos" \
|
|
-F "prompt=$PROMPT" \
|
|
-F "model=$MODEL" \
|
|
-F "width=640" \
|
|
-F "height=384" \
|
|
-F "guidance_scale=1.0" \
|
|
-F "seed=42" \
|
|
-F "extra_params=$extra_params")
|
|
|
|
echo "Response: $RESPONSE"
|
|
echo ""
|
|
|
|
# Extract video ID
|
|
VIDEO_ID=$(echo "$RESPONSE" | grep -o '"id":"[^"]*"' | cut -d'"' -f4)
|
|
|
|
if [ -z "$VIDEO_ID" ]; then
|
|
echo "Error: Failed to create video job"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Video job created: $VIDEO_ID"
|
|
echo ""
|
|
|
|
# Poll for completion
|
|
echo "Polling for completion..."
|
|
while true; do
|
|
STATUS_RESPONSE=$(curl -s "$API_URL/v1/videos/$VIDEO_ID")
|
|
STATUS=$(echo "$STATUS_RESPONSE" | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
|
|
PROGRESS=$(echo "$STATUS_RESPONSE" | grep -o '"progress":[0-9]*' | cut -d':' -f2)
|
|
|
|
echo "Status: $STATUS, Progress: $PROGRESS%"
|
|
|
|
if [ "$STATUS" = "completed" ]; then
|
|
echo ""
|
|
echo "Video generation completed!"
|
|
echo "Full response:"
|
|
echo "$STATUS_RESPONSE" | jq '.'
|
|
break
|
|
elif [ "$STATUS" = "failed" ]; then
|
|
echo ""
|
|
echo "Video generation failed!"
|
|
echo "$STATUS_RESPONSE" | jq '.'
|
|
exit 1
|
|
fi
|
|
|
|
sleep 2
|
|
done
|