stacks/index-tts: revert git-lfs build attempt; document the LFS

budget hazard + media-CDN workaround

Tried adding git-lfs install + git lfs pull to the build to get
real example WAVs into the image — failed with:

    Error downloading object: examples/emo_hate.wav: Smudge error:
    batch response: This repository exceeded its LFS budget. The
    account responsible for the budget should increase it to
    restore access.

The index-tts org's LFS bandwidth quota is exhausted upstream and
out of our control. Reverting the Dockerfile change. The examples
aren't needed for the wrapper to work; emotion_text and
emotion_vector are sufficient for end-to-end testing without any
WAV file at all.

For users who want the bundled example clips as starter audio,
README now documents the media-CDN URL trick — same LFS objects
served via a different code path that doesn't count against the
LFS API budget. INDEX_TTS_TAG stays at v1.
This commit is contained in:
vh
2026-04-25 14:25:06 -07:00
parent 6fd35bfe37
commit ab696ecbd1
3 changed files with 32 additions and 15 deletions
+16
View File
@@ -127,6 +127,22 @@ ssh irv-ml1 '
- **Model download** — happens in the entrypoint on first start; the
config.yaml file in the cache dir is the gate. To force a re-download,
delete that file and recreate the container.
- **Bundled example WAVs are LFS pointers, not audio.** Upstream stores
`examples/emo_*.wav` and `examples/voice_*.wav` as Git LFS objects.
The image clones the repo without `git lfs pull` (the index-tts org
has exhausted GitHub's LFS bandwidth budget repeatedly, so doing it
in the Dockerfile aborts the build). If you want the IndexTTS-2
example clips as starter material, fetch them once via the media
CDN — that's a separate code path that doesn't count against the
LFS API budget:
```bash
ssh irv-ml1 '
cd /worktank/index-tts/emotions
curl -fsSL -o hate.wav https://media.githubusercontent.com/media/index-tts/index-tts/main/examples/emo_hate.wav
curl -fsSL -o sad.wav https://media.githubusercontent.com/media/index-tts/index-tts/main/examples/emo_sad.wav
'
```
- **HF cache pinning** — `infer_v2.py` pins `HF_HUB_CACHE` at import
time to `./checkpoints/hf_cache`. The wrapper sets this env var
before importing, so auxiliary HF assets (MaskGCT, campplus, BigVGAN,