--- name: ai-vid-stock description: "Manage AI video stock materials on TrueNAS — add, search, list, and remove start frames, audio, character refs, and misc images." version: 1.0.0 author: Hermes Agent license: MIT platforms: [linux] metadata: hermes: tags: [ai-video, stock-materials, truenas, smb, ltx, comfyui] --- # AI Video Stock Material Manager Manage stock materials for the LTX video pipeline stored on TrueNAS at `10.0.0.117`. ## Storage Location | Setting | Value | |---------|-------| | Server | 10.0.0.117 (TrueNAS) | | Share | proxmoxBackup (read-write, guest access) | | Root path | `ai_vid_stock_material/` | | Access | `smbclient -N //10.0.0.117/proxmoxBackup` | ## Directory Structure ``` ai_vid_stock_material/ ├── README.md ← inventory (keep updated) ├── start_frames/ ← first/last frame images for I2V ├── audio/ ← TTS clips, ambient sounds, music ├── character_refs/ ← character reference images for ID LoRA ├── misc_images/ ← unsorted images, potential stock ├── scripts/ ← generation scripts, prompt templates ├── workflows/ ← ComfyUI workflow JSONs ├── outputs/ ← rendered videos (concat finals) └── docs/ ← plans, state docs, story ideas ``` ## Commands ### List all stock materials ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; ls start_frames/*; ls audio/*; ls character_refs/*; ls misc_images/*; ls scripts/*; ls workflows/*' ``` ### List a specific category ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; ls /*' ``` Categories: `start_frames`, `audio`, `character_refs`, `misc_images`, `scripts`, `workflows` ### Search by filename pattern ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; ls start_frames/*' 2>/dev/null | grep -i "" smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; ls audio/*' 2>/dev/null | grep -i "" # ... repeat for each category ``` ### Add a file (upload) ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/; put ' ``` Example: ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/start_frames; put /tmp/new_frame.png scene_07_start.png' ``` ### Add from remote server (e.g., .202 ComfyUI) ```bash # 1. Download from remote sshpass -p 'passw0rd' scp n8n@10.0.0.202:~/comfy-ui/input/ /tmp/ # 2. Upload to TrueNAS smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/; put /tmp/ ' ``` ### Remove a file ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/; rm ' ``` ### Download a file from stock ```bash smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/; get ' ``` ### Download entire category ```bash mkdir -p /tmp/stock_dl/ cd /tmp/stock_dl/ smbclient -N //10.0.0.117/proxmoxBackup -c "cd ai_vid_stock_material/; prompt OFF; mget *" ``` ### Update README inventory after changes After adding/removing files, update the README.md on TrueNAS: ```bash # Download current README smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; get README.md /tmp/README.md' # Edit /tmp/README.md to reflect changes # Upload updated README smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; put /tmp/README.md README.md' ``` ## Category Guidelines | Category | What goes here | File types | |----------|---------------|------------| | start_frames | First/last frame images for I2V generation | .png, .jpg | | audio | TTS clips, ambient sounds, music for video | .mp3, .wav | | character_refs | Reference images for ID LoRA character consistency | .png, .jpg | | misc_images | Unsorted images, potential stock, inspiration | .png, .jpg | | scripts | Generation scripts, prompt templates, automation | .py, .sh, .json, .txt | | workflows | ComfyUI workflow JSONs (exported from UI) | .json | ## Pitfalls - **SMB path separators are backslashes** — use `cd ai_vid_stock_material\\start_frames` in smbclient, not forward slashes. - **No mount available** — the cifs kernel module is not present on the Hermes host. Use smbclient for all operations. Do not attempt `mount.cifs`. - **smbclient `mget`/`mput` need `prompt OFF`** — otherwise it prompts for every file. - **Spaces in filenames** — quote them in smbclient commands. - **Keep README.md updated** — it's the inventory of record. After any add/remove, update it. - **TrueNAS guest access** — no credentials needed. If auth errors appear, the share config may have changed. - **Large files** — smbclient `put`/`get` works for files up to several GB. For bulk transfers, consider using the TrueNAS web UI at `http://10.0.0.117`. ## LTX Pipeline Wiring Bug (2026-07-21) **Symptom:** Subject duplication in LTX Director renders — a frozen duplicate of the start frame appears alongside the generated motion. All outputs are 249 frames instead of 240. **Root cause:** Node 132 (LTXDirectorGuide refiner) takes its `latent` input from the uncropped stage-1 output (`["34", 0]`) instead of the cropped output (`["55", 2]`). The guide frames from stage 1 leak through as actual video. **Fix:** Point `132.inputs.latent` at `["55", 2]` instead of `["34", 0]`. Verify output is exactly 240 frames. **Reference:** `/home/n8n/workspace/general/ltx-pipeline-state.md` — full render history and diagnosis.