#!/bin/bash # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Image diffusion worker (text-to-image). Default model: FLUX.1-dev (~38 GB VRAM). # GPUs: 1 set -e trap 'echo Cleaning up...; kill 0' EXIT SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" source "$SCRIPT_DIR/../../../common/launch_utils.sh" # Defaults MODEL_PATH="black-forest-labs/FLUX.1-dev" FS_URL="file:///tmp/dynamo_media" HTTP_URL="" HTTP_PORT="${HTTP_PORT:-8000}" # Parse command line arguments EXTRA_ARGS=() while [[ $# -gt 0 ]]; do case $1 in --model-path) MODEL_PATH="$2" shift 2 ;; --fs-url) FS_URL="$2" shift 2 ;; --http-url) HTTP_URL="$2" shift 2 ;; --http-port) HTTP_PORT="$2" shift 2 ;; -h|--help) echo "Usage: $0 [OPTIONS]" echo "" echo "Launch a Dynamo image diffusion worker." echo "" echo "Options:" echo " --model-path Model path (default: black-forest-labs/FLUX.1-dev)" echo " --fs-url Filesystem URL for image storage (default: file:///tmp/dynamo_media)" echo " --http-url Base URL for serving images over HTTP (optional)" echo " --http-port Frontend HTTP port (default: 8000)" echo " -h, --help Show this help message" echo "" echo "Additional flags are forwarded to dynamo.sglang." echo "" echo "Examples:" echo " # Local file storage" echo " $0 --model-path black-forest-labs/FLUX.1-dev --fs-url file:///tmp/images" echo "" echo " # S3 storage (set FSSPEC_S3_KEY, FSSPEC_S3_SECRET, optionally FSSPEC_S3_ENDPOINT_URL)" echo " $0 --fs-url s3://my-bucket/images" exit 0 ;; *) EXTRA_ARGS+=("$1") shift ;; esac done EXTRA_INFO=("FS URL: $FS_URL") [ -n "$HTTP_URL" ] && EXTRA_INFO+=("HTTP URL: $HTTP_URL") print_launch_banner --no-curl "Launching Image Diffusion Worker" "$MODEL_PATH" "$HTTP_PORT" \ "${EXTRA_INFO[@]}" print_curl_footer <