#!/usr/bin/env bash set -euo pipefail PORT="${PORT:-7860}" MODEL_PATH="${WHISPER_MODEL_PATH:-}" WHISPER_LANGUAGE="${WHISPER_LANGUAGE:-uz}" WHISPER_BACKEND="${WHISPER_BACKEND:-whisper}" WHISPER_BACKEND_POLICY="${WHISPER_BACKEND_POLICY:-localagreement}" WHISPERLIVEKIT_ARGS="${WHISPERLIVEKIT_ARGS:-}" if [ -z "${MODEL_PATH}" ]; then MODEL_PATH="$(python /app/download_models.py)" fi if command -v wlk >/dev/null 2>&1; then WLK_CMD="wlk" elif command -v whisperlivekit-server >/dev/null 2>&1; then WLK_CMD="whisperlivekit-server" else echo "Neither 'wlk' nor 'whisperlivekit-server' is available on PATH." >&2 exit 1 fi HELP_FILE="/tmp/whisperlivekit-help.txt" "${WLK_CMD}" --help >"${HELP_FILE}" 2>&1 || true ARGS=(--host 0.0.0.0 --port "${PORT}") if grep -q -- "--model-path" "${HELP_FILE}"; then ARGS+=(--model-path "${MODEL_PATH}") else ARGS+=(--model "${MODEL_PATH}") fi if [ -n "${WHISPER_LANGUAGE}" ] && grep -q -- "--language" "${HELP_FILE}"; then ARGS+=(--language "${WHISPER_LANGUAGE}") fi if [ -n "${WHISPER_BACKEND}" ] && grep -q -- "--backend" "${HELP_FILE}"; then ARGS+=(--backend "${WHISPER_BACKEND}") fi if [ -n "${WHISPER_BACKEND_POLICY}" ] && grep -q -- "--backend-policy" "${HELP_FILE}"; then ARGS+=(--backend-policy "${WHISPER_BACKEND_POLICY}") fi if [ -n "${WHISPERLIVEKIT_ARGS}" ]; then read -r -a EXTRA_ARGS <<<"${WHISPERLIVEKIT_ARGS}" ARGS+=("${EXTRA_ARGS[@]}") fi echo "Starting WhisperLiveKit on 0.0.0.0:${PORT} with model ${MODEL_PATH}" exec "${WLK_CMD}" "${ARGS[@]}"