Nodes/ComfyUI Mememizator/Mememizator Settings
ComfyUI Node

Mememizator Settings

Tune every pixel of your meme from the graph — no JSON edits required

By ArtemKo7v·Created 4 months ago·Updated 4 months ago· 0
Mememizator Settings
    • settings
    template_name
    background#000000
    text#FFFFFF
    padding_x20
    padding_y20
    frame_color#FFFFFF
    frame_gap4
    frame_thickness2
    text_padding_x20
    text_padding_bottom16
    text_position
    outline_color#000000
    outline_thickness0
    gap_from_image20
    block_spacing8
    multiline_spacing4
    extra_width40
    extra_height140
    title_size128
    title_min_size64
    subtitle_size64
    subtitle_min_size32
    font_name

    Mememizator Settings is the control surface for the main Mememizator node. On its own it does nothing visible - it produces a MEMEMIZATOR_SETTINGS payload that you wire into the settings input on Mememizator to override a template's values for just that workflow. Think of it as the node version of editing config.json, except the changes live in your graph instead of a file everyone shares.

    It exists because templates are JSON, and JSON is where workflows go to die. If you want the classic demotivator look but with a gold frame, or a smaller title, or the text sitting on top of the image instead of below it, you have two options: edit the shared config file and hope nobody else is using it, or drop one of these in and change the values per-graph. The second one is better.

    How it works

    Every input on the node is an override on top of the selected template. The rendering side only applies a setting when it's a non-empty string or a non-negative integer - so the -1 minimum you'll see on all the integer fields means "leave whatever the template says." Keep the -1 for anything you don't want to touch, and you only tune what you care about.

    There's a nice client-side trick worth knowing: the node ships a small frontend extension that watches template_name. When you switch templates, it fetches the pack's config from ComfyUI's backend and fills in all the widget values from that template's JSON. So you don't have to remember the numbers - pick Classic Demotivator, and every field snaps to its defaults, ready to tweak.

    The inputs that actually matter

    • template_name - which template you're overriding. Keep it matched to the template dropdown on the Mememizator node; changing it here doesn't change the renderer's dropdown.
    • text_position - below, above, or overlay. This is the big one: overlay puts the caption on top of the image, which is how the Classic Meme style works.
    • background and text - hex colors (#000000 / #FFFFFF). The demotivator's black canvas and white caption live here.
    • title_size / subtitle_size - the starting font sizes; the renderer still shrinks them to fit.
    • font_name - (template default) or a discovered TTF like impact.ttf from the pack's fonts folder.
    • frame_color, frame_thickness, outline_color, outline_thickness - the demotivator frame and the meme caption outline.

    That's 22 inputs total and most are the sort of thing you set once. The output is a single settings wire, which goes into the Mememizator node's optional settings input.

    Install

    Same as the rest of the pack: ComfyUI Manager (search ComfyUI Mememizator), or clone it into custom_nodes and pip install -e .. Deps are just numpy and pillow, no models. Restart after installing.

    The one real trap

    The template-sync convenience only lives in this node's frontend. If you edit config.json to add a template, restart ComfyUI or the dropdown won't know about it - and the -1 convention means a field you leave alone quietly inherits the template's value, which can be confusing when you expected your number to stick. When in doubt, set the few you care about and leave the rest alone. That's the whole point of the node.

    CategoryArtemKo7v

    Inputs (23)

    NameTypeDefaultDescription
    template_nameCOMBO2 options: Classic Demotivator, Classic Meme
    backgroundSTRING#000000
    textSTRING#FFFFFF
    padding_xINT20-1–8192
    padding_yINT20-1–8192
    frame_colorSTRING#FFFFFF
    frame_gapINT4-1–8192
    frame_thicknessINT2-1–8192
    text_padding_xINT20-1–8192
    text_padding_bottomINT16-1–8192
    text_positionCOMBO3 options: below, above, overlay
    outline_colorSTRING#000000
    outline_thicknessINT0-1–8192
    gap_from_imageINT20-1–8192
    block_spacingINT8-1–8192
    multiline_spacingINT4-1–8192
    extra_widthINT40-1–8192
    extra_heightINT140-1–8192
    title_sizeINT128-1–8192
    title_min_sizeINT64-1–8192
    subtitle_sizeINT64-1–8192
    subtitle_min_sizeINT32-1–8192
    font_nameCOMBO2 options: (template default), impact.ttf

    Outputs (1)

    NameTypeDescription
    settingsMEMEMIZATOR_SETTINGS