VHS_FILENAMES_STRING_MuseV
The two-line bridge that turns a saved video path into a plain string
- filenames
- STRING
VHS_FILENAMES_STRING_MuseV is the plumbing of the ComfyUI-MuseV pack - a tiny node with one job, which is converting a VideoHelperSuite "filenames" signal into a plain text path. It exists because the vid2vid workflow needs it: MuseVRunVid2Vid takes a video_path as a STRING, but the pose video it should consume comes out of VHS_VideoCombine as a VHS_FILENAMES object, and those two don't talk to each other without an adapter. This is the adapter.
How it works
VideoHelperSuite's VHS_VideoCombine emits VHS_FILENAMES as a structured tuple - a count plus a list of the paths it just saved. The whole implementation here is:
return (filenames[1][-1],)
Take the list of saved files, grab the last one, hand it back as a STRING. That's it. It's not clever, and that's the point: in the shipped wf_vid2vid.json, the pose video generated by the DWPose pipeline flows out of VHS_VideoCombine, through this node, and straight into MuseVRunVid2Vid's video_path input. Because the path is produced at runtime instead of typed in, the workflow keeps working even if your ComfyUI folder moves - which is genuinely worth having, since the pack's default video_path string is a hardcoded path with a trailing space that breaks on first run.
Inputs and output
- filenames (VHS_FILENAMES) - wire this from a
VHS_VideoCombine"Filenames" output. Nothing else accepts it; you need VideoHelperSuite installed for the type to even exist. - Output: STRING - the absolute path of the last saved file. Feed it into
MuseVRunVid2Vid'svideo_path, or any STRING input that wants a file location.
Install and gotchas
It ships with the ComfyUI-MuseV pack: install "ComfyUI-MuseV" via ComfyUI Manager, or git clone --recursive https://github.com/chaojie/ComfyUI-MuseV into ComfyUI/custom_nodes. You don't need the huge MuseV model download for this node alone - but the pack won't import without its Python dependencies, so expect to install requirements.txt and the OpenMMLab stack (openmim, mmengine, mmcv==2.0.1, mmdet==3.1.0, mmpose==1.1.0) regardless.
Two honest caveats. It returns only the last filename, so if your VHS_VideoCombine is set to also save multiple variants, you get the newest one and the count is dropped. And it's VHS-specific by design - there's nothing here you couldn't do with a one-line custom node, which is exactly what this is. If your workflow doesn't feed MuseV, you almost certainly don't need it. But inside this pack, it's the difference between a hardcoded broken path and a workflow that actually survives being shared.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| filenames | VHS_FILENAMES | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |