From cece4ec4fbb22d3c4e960677ff515f2c50ed3114 Mon Sep 17 00:00:00 2001 From: noonghunna <10742901+noonghunna@users.noreply.github.com> Date: Tue, 23 Jun 2026 00:51:29 +0000 Subject: [PATCH] studio: fetch the director / Kokoro / Step-Audio models for a fresh install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The studio sidecar images build on scene start, but their MODELS were never downloaded by any script — so a fresh user's studio-director (the 🖼️ prompt crafter, in both image- and video-studio), studio-tts, and studio-step-voice booted with no weights. Add the downloads, all repo-verified: - setup-image-studio.sh now also fetches the director GGUF + mmproj (HauhauCS/Qwen3.5-4B-Uncensored-HauhauCS-Aggressive — commit matched the on-disk metadata) into MODEL_DIR/qwen3.5-4b-gguf/…, closing the image-studio 🖼️ button gap. - services/comfyui/download_kokoro.sh — kokoro-v1.0.onnx + voices-v1.0.bin from the kokoro-onnx release assets (the format studio-tts loads). - services/comfyui/download_step_audio.sh — stepfun-ai/Step-Audio-EditX + Step-Audio-Tokenizer for studio-step-voice. Paths mirror each sidecar compose's ${…_DIR} default. bash gates 56/0. NOT included: the LTX-2.3 / Sulphur video-model set (video-studio) — ~12+ files across several uploaders; needs a per-file source audit, tracked separately. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01PoXV1FuKmTiDPB15qQvLjB --- scripts/setup-image-studio.sh | 14 +++++++-- services/comfyui/download_kokoro.sh | 40 +++++++++++++++++++++++++ services/comfyui/download_step_audio.sh | 30 +++++++++++++++++++ 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100755 services/comfyui/download_kokoro.sh create mode 100755 services/comfyui/download_step_audio.sh diff --git a/scripts/setup-image-studio.sh b/scripts/setup-image-studio.sh index 2c0d66bc..fa71cd6f 100755 --- a/scripts/setup-image-studio.sh +++ b/scripts/setup-image-studio.sh @@ -100,10 +100,20 @@ else echo " (SKIP_BUILD set — skipping image build)" fi -# --- 2. Download the Ideogram-4 model set (~27 GB) -------------------------- +# --- 2. Download the model sets (Ideogram-4 + the studio director) ---------- if [ -z "${SKIP_DOWNLOAD:-}" ]; then - say "── [2/3] Downloading Ideogram-4 model set (~27 GB; skip with SKIP_DOWNLOAD=1) ──" + say "── [2/3] Downloading model sets (~30 GB; skip with SKIP_DOWNLOAD=1) ──" + echo " • Ideogram-4 image model set (~27 GB)" bash "$COMFYUI_DIR/download_ideogram4.sh" + # The studio DIRECTOR (qwen3.5-4b, GPU0) crafts the prompt behind the 🖼️ image + # button — without it studio-director boots but has no model, so the button + # fails. GGUF + vision mmproj (~2.7 GB) → MODEL_DIR/qwen3.5-4b-gguf/… (where the + # enhancer compose's -m / --mmproj defaults point). + echo " • Studio director GGUF (Qwen3.5-4B-Uncensored, ~2.7 GB + mmproj)" + hf download HauhauCS/Qwen3.5-4B-Uncensored-HauhauCS-Aggressive \ + Qwen3.5-4B-Uncensored-HauhauCS-Aggressive-Q4_K_M.gguf \ + mmproj-Qwen3.5-4B-Uncensored-HauhauCS-Aggressive-BF16.gguf \ + --local-dir "$MODEL_DIR_RESOLVED/qwen3.5-4b-gguf/hauhaucs-uncensored-q4km" else echo " (SKIP_DOWNLOAD set — skipping weight download)" fi diff --git a/services/comfyui/download_kokoro.sh b/services/comfyui/download_kokoro.sh new file mode 100755 index 00000000..a6495d77 --- /dev/null +++ b/services/comfyui/download_kokoro.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +# Downloads the Kokoro-82M ONNX voice model for the studio-tts sidecar (Kokoro +# narration / voiceover on the video lanes). CPU inference via the kokoro-onnx +# library (installed in the studio-tts image); these are the two model files it +# mounts at runtime. +# +# Source: the kokoro-onnx project's release assets (the kokoro-v1.0.onnx / +# voices-v1.0.bin format the library loads — NOT the onnx-community HF repo's +# onnx/model.onnx layout). ~330 MB total. +# +# Run: ./download_kokoro.sh +# +# Lands files where the studio-tts compose mounts them (KOKORO_DIR): +# tts/kokoro/kokoro-v1.0.onnx +# tts/kokoro/voices-v1.0.bin +set -uo pipefail + +# Mirrors the studio-tts compose default (${KOKORO_DIR:-/mnt/models/comfyui/models/tts/kokoro}). +ROOT="${KOKORO_DIR:-${COMFYUI_MODELS_DIR:-/mnt/models/comfyui/models}/tts/kokoro}" +REL="https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v1.0" +LOG_TS() { date +%H:%M:%S; } +log() { echo "[$(LOG_TS)] $*"; } +step() { log ""; log "=== $* ==="; } + +command -v curl >/dev/null 2>&1 || { echo "ERROR: 'curl' not found." >&2; exit 1; } +mkdir -p "$ROOT" + +fetch() { # — resumable, fail on HTTP error + local f="$1" + curl -fL --retry 3 -C - -o "$ROOT/$f" "$REL/$f" +} + +step "1/2 Kokoro ONNX model (~310 MB)" +fetch kokoro-v1.0.onnx + +step "2/2 Kokoro voices pack (~27 MB)" +fetch voices-v1.0.bin + +log "" +log "Done → $ROOT (kokoro-v1.0.onnx + voices-v1.0.bin)" diff --git a/services/comfyui/download_step_audio.sh b/services/comfyui/download_step_audio.sh new file mode 100755 index 00000000..93f69953 --- /dev/null +++ b/services/comfyui/download_step_audio.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Downloads Step-Audio-EditX for the studio-step-voice sidecar (premium zero-shot +# voice clone + emotion/style editing — the 🎙️ Voice lane). Two repos: the model +# weights + its audio tokenizer, both from stepfun-ai (Apache-2.0). ~14 GB bf16. +# +# Run: ./download_step_audio.sh +# nohup ./download_step_audio.sh > /tmp/step-audio-dl.log 2>&1 & (background) +# +# Lands where the step-voice compose mounts them (STEP_AUDIO_DIR → /models): +# Step-Audio/Step-Audio-EditX/ +# Step-Audio/Step-Audio-Tokenizer/ +set -uo pipefail + +# Mirrors the step-voice compose default (${STEP_AUDIO_DIR:-/mnt/models/comfyui/models/Step-Audio}). +ROOT="${STEP_AUDIO_DIR:-${COMFYUI_MODELS_DIR:-/mnt/models/comfyui/models}/Step-Audio}" +LOG_TS() { date +%H:%M:%S; } +log() { echo "[$(LOG_TS)] $*"; } +step() { log ""; log "=== $* ==="; } + +command -v hf >/dev/null 2>&1 || { echo "ERROR: 'hf' (huggingface_hub CLI) not found. pip install -U huggingface_hub" >&2; exit 1; } +mkdir -p "$ROOT" + +step "1/2 Step-Audio-EditX weights (~14 GB)" +hf download stepfun-ai/Step-Audio-EditX --local-dir "$ROOT/Step-Audio-EditX" + +step "2/2 Step-Audio-Tokenizer" +hf download stepfun-ai/Step-Audio-Tokenizer --local-dir "$ROOT/Step-Audio-Tokenizer" + +log "" +log "Done → $ROOT (Step-Audio-EditX/ + Step-Audio-Tokenizer/)"