Files
hermes-skills/ai-vid-stock/SKILL.md
T

150 lines
5.6 KiB
Markdown

---
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 <category>/*'
```
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 "<pattern>"
smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material; ls audio/*' 2>/dev/null | grep -i "<pattern>"
# ... repeat for each category
```
### Add a file (upload)
```bash
smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/<category>; put <local_path> <remote_filename>'
```
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 [email protected]:~/comfy-ui/input/<filename> /tmp/
# 2. Upload to TrueNAS
smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/<category>; put /tmp/<filename> <filename>'
```
### Remove a file
```bash
smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/<category>; rm <filename>'
```
### Download a file from stock
```bash
smbclient -N //10.0.0.117/proxmoxBackup -c 'cd ai_vid_stock_material/<category>; get <filename> <local_path>'
```
### Download entire category
```bash
mkdir -p /tmp/stock_dl/<category>
cd /tmp/stock_dl/<category>
smbclient -N //10.0.0.117/proxmoxBackup -c "cd ai_vid_stock_material/<category>; 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.