SocialMan Media To Poster
The go-between that turns your canvas into a file path
- images
- video_combine_filenames
- image_path
SocialManPoster - the actual publishing node in this pack - doesn't want an image tensor or a video object. It wants a file path on disk, as a plain string. That's the gap SocialManMediaToPoster exists to close. If your ComfyUI graph ends in a LoadImage, a sampler, or a Video Helper Suite video, this is the node that hands the result to SocialMan in a form it can upload.
It's a tiny shim, but it handles three different sources, so it earns its keep:
- images (an IMAGE tensor) - straight off a
VAE DecodeorPreviewImagefeed. The node saves the tensor as a JPEG into your ComfyUI output folder, namedsocialman_*, and returns that path. This is the path the example workflow uses: text or generated image → here →SocialManPoster.media_file_path. - video_combine_filenames (a
VHS_FILENAMESvalue) - the output type from Video Helper Suite'sVHS_VideoCombine. The node takes the last file in that list - your finished MP4 - and passes its path along. This is how you post video without leaving the graph. - media_file (an enum dropdown) - any file sitting in your
ComfyUI/inputfolder, picked by name. Useful when the media already exists on disk and you just want to point at it.
All three converge on a single output, image_path, a STRING you feed into SocialManPoster.media_file_path. The name says "image" but it's really "media to poster" - it transports whatever you give it.
The one rule
You can connect images or video_combine_filenames, but never both. The node raises an exception the moment it sees both wired in: "Only images or video_combine_filenames should be connected but not both." That's a deliberate guard, not a bug - it would have no idea which one you meant to post. Pick a lane. If you connect neither, it silently falls back to the media_file dropdown, which can surprise you if you forgot a file was sitting in input/.
Two more honest notes. First, the tensor is saved as a JPEG at PIL's default quality - fine for socials, don't plan on round-tripping the file for editing. Second, if you're feeding a GIF anywhere upstream, stop here: SocialManPoster refuses GIFs outright ("Gif files not supported at the moment"), so convert to a video or static image before this node.
Installing it
No separate install - SocialManMediaToPoster ships inside the MLTask_ComfyUI pack. Via ComfyUI Manager, search MLTask_ComfyUI and install; or:
cd ComfyUI/custom_nodes
git clone https://github.com/misterjoessef/MLTask_ComfyUI
Restart ComfyUI after either. The pack's own dependencies (requests, aiohttp) are minimal; the VHS_FILENAMES input only exists if you've also installed Video Helper Suite, which you'd want anyway for VHS_VideoCombine. This node does no network calls itself - it's purely local file prep, so it's the rare piece of the SocialMan suite that works with nothing configured. Everything downstream, though, still needs that token.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| media_fileopt | COMBO | 1 options: example.png | |
| imagesopt | IMAGE | — | |
| video_combine_filenamesopt | VHS_FILENAMES | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image_path | STRING | — |