[Misc] Keep model-specific curl recipes
Signed-off-by: Hongsheng Liu <liuhongsheng4@huawei.com>
This commit is contained in:
1 parent
b9572edb81
commit
39e1c70aea
4 files changed
+27
-57
No files matched your search
@@ -1,9 +1,9 @@
|
||||
# Image-To-Video
|
||||
|
||||
This shared example demonstrates online image-to-video generation with
|
||||
vLLM-Omni. The startup script defaults to Wan2.2, but `MODEL` can select any
|
||||
supported image-to-video model. The client sends the canonical Videos API
|
||||
request; the server side owns model-specific prompt processing.
|
||||
This example demonstrates online image-to-video generation with vLLM-Omni.
|
||||
The startup script defaults to Wan2.2, but `MODEL` can select any supported
|
||||
image-to-video model. The existing curl helper remains a concrete Wan2.2
|
||||
request, while the server side owns model-specific prompt processing.
|
||||
|
||||
## Start Server
|
||||
|
||||
|
||||
@@ -1,24 +1,14 @@
|
||||
#!/bin/bash
|
||||
# Shared image-to-video curl example using the async video job API.
|
||||
# Wan2.2 image-to-video curl example using the async video job API.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
INPUT_IMAGE="${INPUT_IMAGE:-../../offline_inference/image_to_video/qwen-bear.png}"
|
||||
BASE_URL="${BASE_URL:-http://localhost:8099}"
|
||||
OUTPUT_PATH="${OUTPUT_PATH:-image_to_video_output.mp4}"
|
||||
PROMPT="${PROMPT:-A bear playing with yarn, smooth motion}"
|
||||
OUTPUT_PATH="${OUTPUT_PATH:-wan22_i2v_output.mp4}"
|
||||
NEGATIVE_PROMPT="${NEGATIVE_PROMPT:-}"
|
||||
SAMPLE_SOLVER="${SAMPLE_SOLVER:-}"
|
||||
POLL_INTERVAL="${POLL_INTERVAL:-2}"
|
||||
VIDEO_SECONDS="${VIDEO_SECONDS:-}"
|
||||
SIZE="${SIZE:-}"
|
||||
FPS="${FPS:-}"
|
||||
NUM_INFERENCE_STEPS="${NUM_INFERENCE_STEPS:-}"
|
||||
GUIDANCE_SCALE="${GUIDANCE_SCALE:-}"
|
||||
GUIDANCE_SCALE_2="${GUIDANCE_SCALE_2:-}"
|
||||
BOUNDARY_RATIO="${BOUNDARY_RATIO:-}"
|
||||
FLOW_SHIFT="${FLOW_SHIFT:-}"
|
||||
SEED="${SEED:-}"
|
||||
|
||||
if [ ! -f "$INPUT_IMAGE" ]; then
|
||||
echo "Input image not found: $INPUT_IMAGE"
|
||||
@@ -28,28 +18,19 @@ fi
|
||||
create_cmd=(
|
||||
curl -sS -X POST "${BASE_URL}/v1/videos"
|
||||
-H "Accept: application/json"
|
||||
-F "prompt=${PROMPT}"
|
||||
-F "prompt=A bear playing with yarn, smooth motion"
|
||||
-F "input_reference=@${INPUT_IMAGE}"
|
||||
-F "seconds=2"
|
||||
-F "size=832x480"
|
||||
-F "fps=16"
|
||||
-F "num_inference_steps=40"
|
||||
-F "guidance_scale=1.0"
|
||||
-F "guidance_scale_2=1.0"
|
||||
-F "boundary_ratio=0.875"
|
||||
-F "flow_shift=12.0"
|
||||
-F "seed=42"
|
||||
)
|
||||
|
||||
append_optional_field() {
|
||||
local name="$1"
|
||||
local value="$2"
|
||||
if [ -n "${value}" ]; then
|
||||
create_cmd+=(-F "${name}=${value}")
|
||||
fi
|
||||
}
|
||||
|
||||
append_optional_field "seconds" "${VIDEO_SECONDS}"
|
||||
append_optional_field "size" "${SIZE}"
|
||||
append_optional_field "fps" "${FPS}"
|
||||
append_optional_field "num_inference_steps" "${NUM_INFERENCE_STEPS}"
|
||||
append_optional_field "guidance_scale" "${GUIDANCE_SCALE}"
|
||||
append_optional_field "guidance_scale_2" "${GUIDANCE_SCALE_2}"
|
||||
append_optional_field "boundary_ratio" "${BOUNDARY_RATIO}"
|
||||
append_optional_field "flow_shift" "${FLOW_SHIFT}"
|
||||
append_optional_field "seed" "${SEED}"
|
||||
|
||||
if [ -n "${NEGATIVE_PROMPT}" ]; then
|
||||
create_cmd+=(-F "negative_prompt=${NEGATIVE_PROMPT}")
|
||||
fi
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Text-To-Image
|
||||
|
||||
This shared example demonstrates online text-to-image generation with vLLM-Omni.
|
||||
The startup script defaults to Qwen-Image, but `MODEL` can select any supported
|
||||
text-to-image model. Clients send the canonical Images API request; the server
|
||||
side owns model-specific prompt processing.
|
||||
This example demonstrates online text-to-image generation with vLLM-Omni. The
|
||||
startup script and Python clients default to Qwen-Image, but `MODEL` can select
|
||||
any supported text-to-image model. The existing curl helper remains a concrete
|
||||
Qwen-Image request, while the server side owns model-specific prompt processing.
|
||||
|
||||
## Start Server
|
||||
|
||||
|
||||
@@ -1,21 +1,10 @@
|
||||
#!/bin/bash
|
||||
# Shared text-to-image curl example
|
||||
# Qwen-Image text-to-image curl example
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
BASE_URL="${BASE_URL:-http://localhost:8091}"
|
||||
PROMPT="${PROMPT:-a dragon laying over the spine of the Green Mountains of Vermont}"
|
||||
SIZE="${SIZE:-}"
|
||||
SEED="${SEED:-}"
|
||||
OUTPUT_PATH="${OUTPUT_PATH:-text_to_image_output.png}"
|
||||
|
||||
curl -sS -X POST "${BASE_URL}/v1/images/generations" \
|
||||
curl -X POST http://localhost:8091/v1/images/generations \
|
||||
-H "Content-Type: application/json" \
|
||||
-d "$(jq -n --arg prompt "${PROMPT}" --arg size "${SIZE}" --arg seed "${SEED}" \
|
||||
'{prompt: $prompt}
|
||||
+ (if $size == "" then {} else {size: $size} end)
|
||||
+ (if $seed == "" then {} else {seed: ($seed | tonumber)} end)')" \
|
||||
| jq -r '.data[0].b64_json' \
|
||||
| base64 -d > "${OUTPUT_PATH}"
|
||||
|
||||
echo "Saved image to ${OUTPUT_PATH}"
|
||||
-d '{
|
||||
"prompt": "a dragon laying over the spine of the Green Mountains of Vermont",
|
||||
"size": "1024x1024",
|
||||
"seed": 42
|
||||
}' | jq -r '.data[0].b64_json' | base64 -d > dragon.png
|
||||
Reference in new issue
Block a user