Nodes/MLTask_ComfyUI/SocialMan Media To Poster
ComfyUI Node

SocialMan Media To Poster

The go-between that turns your canvas into a file path

By misterjoessef·Created 2 years ago·Updated 2 years ago· 1
SocialMan Media To Poster
  • images
  • video_combine_filenames
  • image_path
media_file

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 Decode or PreviewImage feed. The node saves the tensor as a JPEG into your ComfyUI output folder, named socialman_*, 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_FILENAMES value) - the output type from Video Helper Suite's VHS_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/input folder, 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.

CategoryMLTask/SocialMan

Inputs (3)

NameTypeDefaultDescription
media_fileoptCOMBO1 options: example.png
imagesoptIMAGE
video_combine_filenamesoptVHS_FILENAMES

Outputs (1)

NameTypeDescription
image_pathSTRING