Nodes/comfyui-magic-hour/Magic Hour: AI Meme Generator
ComfyUI Node

Magic Hour: AI Meme Generator

Magic Hour: AI Meme Generator

By magichourhq·Created about 17 hours ago·Updated about 16 hours ago· 0
Magic Hour: AI Meme Generator
    • image
    • image_paths
    • credits_charged
    ◄topic►
    ◄template0 Days Without►
    ◄search_webfalse►

    Three inputs: a topic, a template, and a boolean. Output: a meme. There is no way to write this article as if it's deep, so I won't pretend. But there's a real thing to say about which template you pick, and a real trap in how that list gets populated.

    How it works

    topic and template go into the style block together, along with search_web. The remote model composits the template with text/content derived from the topic and returns an image, which the node downloads to ComfyUI/output/magic_hour/.

    search_web is the interesting one, and not in a good way. It's a boolean, default off, and turning it on lets the generator pull current web context into the joke. For anything time-sensitive - a meme about something that happened this week - that's the difference between a joke and a non-sequitur. The cost is that it's a live web fetch behind a creative service, so it's slower and less predictable, and jokes generated from search results have a distinct aroma. My advice: leave it off unless the whole point is topicality.

    The template list, and the trap

    The dropdown has 101 entries - Drake Hotline Bling, Bad Luck Brian, All My Homies Hate, Anakin Padme Four Panel, Absolute Cinema, Batman Slapping Robin, Ancient Aliens, American Chopper Argument, Always Has Been and on for another ninety. Most people scroll to the first funny one and stop.

    Here's the mechanism worth knowing: that list is read from the installed SDK at import time, not written into the pack. The author does this so long option lists stay in sync with the API rather than going stale in a repo. Which means the list you see depends on the version of magic-hour that's actually installed on your machine.

    The failure mode: if that introspection can't find the enum - an older SDK, a broken import, an environment where the SDK installed partially - the node falls back to a hardcoded default that contains exactly one template. Your hundred-item dropdown becomes a one-item dropdown and there's no error to tell you why. If the templates look suspiciously sparse, check your SDK version before you start debugging the node:

    pip show magic-hour
    

    Anything >=0.87.1 is what the pack asks for; update if you're behind.

    Inputs and outputs

    | field | what it is | | --- | --- | | topic (required) | what the meme is about. A phrase, not a paragraph - the model is compositing, not writing an essay | | template (required) | one of the 101, read from your SDK | | search_web (required) | boolean, default off; pull current web context into the joke |

    Outputs: image (the meme as an IMAGE), image_paths (STRING, the saved file), credits_charged (INT).

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/magichourhq/comfyui-magic-hour
    pip install -r comfyui-magic-hour/requirements.txt
    

    Restart ComfyUI and look under Magic Hour. One dependency, magic-hour>=0.87.1. Nothing in models/, no GPU. Manager users can search "Magic Hour".

    export MAGIC_HOUR_API_KEY=your_key_here
    

    before launching, or the bare key in comfyui-magic-hour/api_key.txt.

    Why this is in a ComfyUI pack at all

    Fair question. The answer is that it's in the SDK, and the pack covers the SDK one-to-one - 29 tools, same set as the Python library. There's no "is this workflow-worthy" filter applied, which is both the pack's strength (nothing missing) and its weakness (a meme generator sitting next to a body-swap node with equal weight in the menu).

    Where it's genuinely handy: thumbnails, reaction images for a community you run, placeholder art with a joke in it, or a quick asset for a video you're cutting together in the same graph. Where it's not: anything where the text has to be exactly right. Generated meme text is legible and funny maybe half the time, and there's no prompt structure that fixes that reliably.

    Rough edges

    Text rendering. Small text, long captions and unusual punctuation all degrade. Short is better. All-caps is safer.

    Template mismatch. Some templates demand a two-part joke and the model writes one line. If the result feels like half a joke, it probably is.

    402. Credits or plan limits - the error text comes through from Magic Hour so you can tell which.

    Batch thinking. This returns one image per run. There's no count field here, unlike the Image Editor - so a "give me ten options" workflow is ten runs and ten charges.

    Spend ten minutes with it, find the template that suits your community, and move on. That's the correct amount of attention for this node.

    CategoryMagic Hour

    Inputs (3)

    NameTypeDefaultDescription
    topicSTRING—
    templateCOMBO0 Days Without101 options: 0 Days Without, A Train Hitting a School Bus, AJ Styles and Undertaker, Absolute Cinema, All My Homies Hate, Always Has Been, +95
    search_webBOOLEANfalse—

    Outputs (3)

    NameTypeDescription
    imageIMAGE—
    image_pathsSTRING—
    credits_chargedINT—