studio: fetch the director / Kokoro / Step-Audio models for a fresh install
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 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PoXV1FuKmTiDPB15qQvLjB
This commit is contained in:
@@ -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
|
||||
|
||||
40
services/comfyui/download_kokoro.sh
Executable file
40
services/comfyui/download_kokoro.sh
Executable file
@@ -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() { # <filename> — 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)"
|
||||
30
services/comfyui/download_step_audio.sh
Executable file
30
services/comfyui/download_step_audio.sh
Executable file
@@ -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/)"
|
||||
Reference in New Issue
Block a user